New module 'towctrans'.
[pspp] / ChangeLog
1 2011-02-06  Bruno Haible  <bruno@clisp.org>
2
3         New module 'towctrans'.
4         * modules/towctrans: New file.
5         * lib/wctype.in.h (towctrans): New declaration.
6         * lib/towctrans.c: New file.
7         * lib/towctrans-impl.h: New file.
8         * m4/towctrans.m4: New file.
9         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
10         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
11         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
12         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
13         * doc/posix-functions/towctrans.texi: Mention the new module.
14
15 2011-02-06  Bruno Haible  <bruno@clisp.org>
16
17         New module 'wctrans'.
18         * modules/wctrans: New file.
19         * lib/wctype.in.h (wctrans): New declaration.
20         * lib/wctrans.c: New file.
21         * lib/wctrans-impl.h: New file.
22         * m4/wctrans.m4: New file.
23         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
25         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
26         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
27         * doc/posix-functions/wctrans.texi: Mention the new module.
28
29 2011-02-06  Bruno Haible  <bruno@clisp.org>
30
31         New module 'iswctype'.
32         * modules/iswctype: New file.
33         * lib/wctype.in.h (iswctype): New declaration.
34         * lib/iswctype.c: New file.
35         * lib/iswctype-impl.h: New file.
36         * m4/iswctype.m4: New file.
37         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
38         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
39         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
40         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
41         * doc/posix-functions/iswctype.texi: Mention the new module and the
42         HP-UX 11.00 problem.
43
44 2011-02-06  Bruno Haible  <bruno@clisp.org>
45
46         New module 'wctype'.
47         * modules/wctype: Change to represent the wctype() substitute.
48         * lib/wctype.in.h (wctype): New declaration.
49         * lib/wctype.c: New file.
50         * lib/wctype-impl.h: New file.
51         * m4/wctype.m4: New file.
52         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
53         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
54         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
55         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
56         * doc/posix-functions/wctype.texi: Mention the new module and the
57         HP-UX 11.00 problem.
58
59 2011-02-06  Bruno Haible  <bruno@clisp.org>
60
61         wctype-h: Ensure wctype_t and wctrans_t are defined.
62         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
63         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
64         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
65         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
66         HAVE_WCTRANS_T.
67         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
68
69 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
70
71         flock: fix license typo
72
73         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
74         omitted.
75
76 2011-02-08  Bruno Haible  <bruno@clisp.org>
77
78         Split large sed scripts, for HP-UX sed.
79         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
80         to avoid HP-UX limit of 99 commands, in the near future.
81         * modules/stdlib (Makefile.am): Likewise.
82         * modules/unistd (Makefile.am): Likewise.
83         * modules/wchar (Makefile.am): Likewise.
84         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
85         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
86         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
87
88 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
89             Bruno Haible  <bruno@clisp.org>
90
91         stdlib: improve random_r modularization
92         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
93         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
94         you also need the random_r module to get this material right.
95         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
96         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
97         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
98
99 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
100
101         stdlib: don't depend on stdint
102         * lib/stdlib.in.h: Don't include <stdint.h> merely because
103         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
104         be independent of whether stdint.h is needed.
105         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
106         here, instead of ...
107         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
108         struct random_data should be using the random_r module, not just
109         the stdlib module (which wouldn't make sense: what package needs
110         just struct random_data without also needing random_r?).
111         * modules/stdlib (Depends-on): Remove stdint.
112
113         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
114         See the thread rooted at
115         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
116         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
117         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
118         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
119         __VMS)); previously it was always included (via fcntl--.h).
120         (getloadavg): Do not use c_strtod.  Instead, approximate it by
121         hand; this is good enough for load averages.  Also, do not use
122         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
123         flags directly if available and don't bother otherwise.  (Packages
124         that need the extra reliability should use the modules that define
125         these flags on older platforms that lack them.)
126         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
127         fcntl-safer.
128
129 2011-02-08  Jim Meyering  <meyering@redhat.com>
130
131         di-set.h, ino-map.h: add multiple-inclusion guard
132         Technically, the guard is required only for ino-map.h, due to its
133         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
134         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
135         * lib/ino-map.h: Likewise.
136
137 2011-02-06  Bruno Haible  <bruno@clisp.org>
138
139         iswblank: Ensure declaration on glibc systems.
140         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
141         * modules/iswblank (Dependencies): Add 'extensions'.
142         * doc/posix-functions/iswblank.texi: Document the glibc problem.
143
144 2011-02-06  Bruno Haible  <bruno@clisp.org>
145
146         New module 'iswblank'.
147         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
148         * modules/iswblank: New file.
149         * modules/wctype-h (Files): Remove lib/iswblank.c.
150         (Makefile.am): Substitute GNULIB_ISWBLANK.
151         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
152         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
153         (gl_WCTYPE_H_DEFAULTS): New macro.
154         (gl_WCTYPE_H): Require it. Remove iswblank related code.
155         * modules/iswblank-tests: New file.
156         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
157         * tests/test-wctype-h.c (main): Remove iswblank tests.
158         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
159         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
160         of 'wctype-h'.
161         * NEWS: Mention the change.
162         * modules/mbchar (Depends-on): Add iswblank.
163
164 2011-02-08  Bruno Haible  <bruno@clisp.org>
165
166         di-set tests: Refactor.
167         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
168         unnecessary includes.
169         (ASSERT): Remove macro.
170         (main): Make C90 compliant by avoiding variable declaration after
171         statement.
172         * modules/di-set-tests (Files): Add tests/macros.h.
173
174 2011-02-08  Bruno Haible  <bruno@clisp.org>
175
176         ino-map tests: Refactor.
177         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
178         unnecessary includes.
179         (ASSERT): Remove macro.
180         (main): Make C90 compliant by avoiding variable declaration after
181         statement.
182         * modules/ino-map-tests (Files): Add tests/macros.h.
183
184 2011-02-08  Jim Meyering  <meyering@redhat.com>
185
186         di-set: add "const" to a cast
187         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
188         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
189
190 2011-02-06  Bruno Haible  <bruno@clisp.org>
191
192         Rename module 'wctype' to 'wctype-h'.
193         * modules/wctype-h: Renamed from modules/wctype.
194         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
195         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
196         (Files, Depends-on, Makefile.am): Update.
197         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
198         (Files, Makefile.am): Update.
199         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
200         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
201         * doc/posix-headers/wctype.texi: Update.
202         * doc/posix-functions/iswalnum.texi: Update.
203         * doc/posix-functions/iswalpha.texi: Update.
204         * doc/posix-functions/iswblank.texi: Update.
205         * doc/posix-functions/iswcntrl.texi: Update.
206         * doc/posix-functions/iswdigit.texi: Update.
207         * doc/posix-functions/iswgraph.texi: Update.
208         * doc/posix-functions/iswlower.texi: Update.
209         * doc/posix-functions/iswprint.texi: Update.
210         * doc/posix-functions/iswpunct.texi: Update.
211         * doc/posix-functions/iswspace.texi: Update.
212         * doc/posix-functions/iswupper.texi: Update.
213         * doc/posix-functions/iswxdigit.texi: Update.
214         * doc/posix-functions/towlower.texi: Update.
215         * doc/posix-functions/towupper.texi: Update.
216         * NEWS: Mention the change.
217         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
218         * modules/mbchar (Dependencies): Likewise.
219         * modules/mbswidth (Dependencies): Likewise.
220         * modules/quotearg (Dependencies): Likewise.
221         * modules/regex (Dependencies): Likewise.
222         * modules/wcscasecmp (Dependencies): Likewise.
223         * modules/wcsncasecmp (Dependencies): Likewise.
224         * modules/wcwidth (Dependencies): Likewise.
225
226 2011-02-06  Bruno Haible  <bruno@clisp.org>
227
228         New module 'wcswidth'.
229         * modules/wcswidth: New file.
230         * lib/wchar.in.h (wcswidth): New declaration.
231         * lib/wcswidth.c: New file.
232         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
233         * m4/wcswidth.m4: New file.
234         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
235         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
236         REPLACE_WCSWIDTH.
237         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
238         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
239         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
240         * doc/posix-functions/wcswidth.texi: Mention the new module.
241
242 2011-02-06  Bruno Haible  <bruno@clisp.org>
243
244         New module 'wcstok'.
245         * modules/wcstok: New file.
246         * lib/wchar.in.h (wcstok): New declaration.
247         * lib/wcstok.c: New file.
248         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
249         * m4/wcstok.m4: New file.
250         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
251         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
252         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
253         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
254         * doc/posix-functions/wcstok.texi: Mention the new module.
255
256 2011-02-06  Bruno Haible  <bruno@clisp.org>
257
258         New module 'wcsstr'.
259         * modules/wcsstr: New file.
260         * lib/wchar.in.h (wcsstr): New declaration.
261         * lib/wcsstr.c: New file.
262         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
263         * m4/wcsstr.m4: New file.
264         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
265         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
266         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
267         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
268         * doc/posix-functions/wcsstr.texi: Mention the new module.
269
270 2011-02-06  Bruno Haible  <bruno@clisp.org>
271
272         New module 'wcspbrk'.
273         * modules/wcspbrk: New file.
274         * lib/wchar.in.h (wcspbrk): New declaration.
275         * lib/wcspbrk.c: New file.
276         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
277         * m4/wcspbrk.m4: New file.
278         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
279         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
280         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
281         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
282         * doc/posix-functions/wcspbrk.texi: Mention the new module.
283
284 2011-02-06  Bruno Haible  <bruno@clisp.org>
285
286         New module 'wcsspn'.
287         * modules/wcsspn: New file.
288         * lib/wchar.in.h (wcsspn): New declaration.
289         * lib/wcsspn.c: New file.
290         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
291         * m4/wcsspn.m4: New file.
292         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
293         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
294         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
295         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
296         * doc/posix-functions/wcsspn.texi: Mention the new module.
297
298 2011-02-06  Bruno Haible  <bruno@clisp.org>
299
300         New module 'wcscspn'.
301         * modules/wcscspn: New file.
302         * lib/wchar.in.h (wcscspn): New declaration.
303         * lib/wcscspn.c: New file.
304         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
305         * m4/wcscspn.m4: New file.
306         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
307         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
308         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
309         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
310         * doc/posix-functions/wcscspn.texi: Mention the new module.
311
312 2011-02-06  Bruno Haible  <bruno@clisp.org>
313
314         New module 'wcsrchr'.
315         * modules/wcsrchr: New file.
316         * lib/wchar.in.h (wcsrchr): New declaration.
317         * lib/wcsrchr.c: New file.
318         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
319         * m4/wcsrchr.m4: New file.
320         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
321         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
322         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
323         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
324         * doc/posix-functions/wcsrchr.texi: Mention the new module.
325
326 2011-02-06  Bruno Haible  <bruno@clisp.org>
327
328         New module 'wcschr'.
329         * modules/wcschr: New file.
330         * lib/wchar.in.h (wcschr): New declaration.
331         * lib/wcschr.c: New file.
332         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
333         * m4/wcschr.m4: New file.
334         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
335         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
336         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
337         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
338         * doc/posix-functions/wcschr.texi: Mention the new module.
339
340 2011-02-06  Bruno Haible  <bruno@clisp.org>
341
342         New module 'wcsdup'.
343         * modules/wcsdup: New file.
344         * lib/wchar.in.h (wcsdup): New declaration.
345         * lib/wcsdup.c: New file.
346         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
347         * m4/wcsdup.m4: New file.
348         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
349         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
350         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
351         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
352         * doc/posix-functions/wcsdup.texi: Mention the new module.
353
354 2011-02-06  Bruno Haible  <bruno@clisp.org>
355
356         New module 'wcsxfrm'.
357         * modules/wcsxfrm: New file.
358         * lib/wchar.in.h (wcsxfrm): New declaration.
359         * lib/wcsxfrm.c: New file.
360         * lib/wcsxfrm-impl.h: New file.
361         * m4/wcsxfrm.m4: New file.
362         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
363         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
364         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
365         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
366         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
367
368 2011-02-06  Bruno Haible  <bruno@clisp.org>
369
370         New module 'wcscoll'.
371         * modules/wcscoll: New file.
372         * lib/wchar.in.h (wcscoll): New declaration.
373         * lib/wcscoll.c: New file.
374         * lib/wcscoll-impl.h: New file.
375         * m4/wcscoll.m4: New file.
376         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
377         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
378         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
379         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
380         * doc/posix-functions/wcscoll.texi: Mention the new module.
381
382 2011-02-06  Bruno Haible  <bruno@clisp.org>
383
384         New module 'wcsncasecmp'.
385         * modules/wcsncasecmp: New file.
386         * lib/wchar.in.h (wcsncasecmp): New declaration.
387         * lib/wcsncasecmp.c: New file.
388         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
389         * m4/wcsncasecmp.m4: New file.
390         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
391         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
392         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
393         HAVE_WCSNCASECMP.
394         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
395         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
396
397 2011-02-06  Bruno Haible  <bruno@clisp.org>
398
399         New module 'wcscasecmp'.
400         * modules/wcscasecmp: New file.
401         * lib/wchar.in.h (wcscasecmp): New declaration.
402         * lib/wcscasecmp.c: New file.
403         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
404         * m4/wcscasecmp.m4: New file.
405         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
406         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
407         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
408         HAVE_WCSCASECMP.
409         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
410         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
411
412 2011-02-05  Bruno Haible  <bruno@clisp.org>
413
414         New module 'wcsncmp'.
415         * modules/wcsncmp: New file.
416         * lib/wchar.in.h (wcsncmp): New declaration.
417         * lib/wcsncmp.c: New file.
418         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
419         * m4/wcsncmp.m4: New file.
420         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
421         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
422         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
423         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
424         * doc/posix-functions/wcsncmp.texi: Mention the new module.
425
426 2011-02-05  Bruno Haible  <bruno@clisp.org>
427
428         New module 'wcscmp'.
429         * modules/wcscmp: New file.
430         * lib/wchar.in.h (wcscmp): New declaration.
431         * lib/wcscmp.c: New file.
432         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
433         * m4/wcscmp.m4: New file.
434         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
435         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
436         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
437         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
438         * doc/posix-functions/wcscmp.texi: Mention the new module.
439
440 2011-02-05  Bruno Haible  <bruno@clisp.org>
441
442         New module 'wcsncat'.
443         * modules/wcsncat: New file.
444         * lib/wchar.in.h (wcsncat): New declaration.
445         * lib/wcsncat.c: New file.
446         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
447         * m4/wcsncat.m4: New file.
448         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
449         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
450         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
451         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
452         * doc/posix-functions/wcsncat.texi: Mention the new module.
453
454 2011-02-05  Bruno Haible  <bruno@clisp.org>
455
456         New module 'wcscat'.
457         * modules/wcscat: New file.
458         * lib/wchar.in.h (wcscat): New declaration.
459         * lib/wcscat.c: New file.
460         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
461         * m4/wcscat.m4: New file.
462         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
463         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
464         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
465         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
466         * doc/posix-functions/wcscat.texi: Mention the new module.
467
468 2011-02-05  Bruno Haible  <bruno@clisp.org>
469
470         New module 'wcpncpy'.
471         * modules/wcpncpy: New file.
472         * lib/wchar.in.h (wcpncpy): New declaration.
473         * lib/wcpncpy.c: New file.
474         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
475         * m4/wcpncpy.m4: New file.
476         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
477         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
478         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
479         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
480         * doc/posix-functions/wcpncpy.texi: Mention the new module.
481
482 2011-02-05  Bruno Haible  <bruno@clisp.org>
483
484         New module 'wcsncpy'.
485         * modules/wcsncpy: New file.
486         * lib/wchar.in.h (wcsncpy): New declaration.
487         * lib/wcsncpy.c: New file.
488         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
489         * m4/wcsncpy.m4: New file.
490         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
491         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
492         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
493         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
494         * doc/posix-functions/wcsncpy.texi: Mention the new module.
495
496 2011-02-05  Bruno Haible  <bruno@clisp.org>
497
498         New module 'wcpcpy'.
499         * modules/wcpcpy: New file.
500         * lib/wchar.in.h (wcpcpy): New declaration.
501         * lib/wcpcpy.c: New file.
502         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
503         * m4/wcpcpy.m4: New file.
504         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
505         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
506         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
507         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
508         * doc/posix-functions/wcpcpy.texi: Mention the new module.
509
510 2011-02-05  Bruno Haible  <bruno@clisp.org>
511
512         New module 'wcscpy'.
513         * modules/wcscpy: New file.
514         * lib/wchar.in.h (wcscpy): New declaration.
515         * lib/wcscpy.c: New file.
516         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
517         * m4/wcscpy.m4: New file.
518         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
519         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
520         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
521         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
522         * doc/posix-functions/wcscpy.texi: Mention the new module.
523
524 2011-02-05  Bruno Haible  <bruno@clisp.org>
525
526         New module 'wcsnlen'.
527         * modules/wcsnlen: New file.
528         * lib/wchar.in.h (wcsnlen): New declaration.
529         * lib/wcsnlen.c: New file.
530         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
531         * m4/wcsnlen.m4: New file.
532         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
533         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
534         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
535         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
536         * doc/posix-functions/wcsnlen.texi: Mention the new module.
537
538 2011-02-05  Bruno Haible  <bruno@clisp.org>
539
540         New module 'wcslen'.
541         * modules/wcslen: New file.
542         * lib/wchar.in.h (wcslen): New declaration.
543         * lib/wcslen.c: New file.
544         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
545         * m4/wcslen.m4: New file.
546         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
547         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
548         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
549         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
550         * doc/posix-functions/wcslen.texi: Mention the new module.
551
552 2011-02-05  Bruno Haible  <bruno@clisp.org>
553
554         New module 'wmemset'.
555         * modules/wmemset: New file.
556         * lib/wchar.in.h (wmemset): New declaration.
557         * lib/wmemset.c: New file.
558         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
559         * m4/wmemset.m4: New file.
560         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
561         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
562         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
563         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
564         * doc/posix-functions/wmemset.texi: Mention the new module.
565
566 2011-02-05  Bruno Haible  <bruno@clisp.org>
567
568         New module 'wmemmove'.
569         * modules/wmemmove: New file.
570         * lib/wchar.in.h (wmemmove): New declaration.
571         * lib/wmemmove.c: New file.
572         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
573         * m4/wmemmove.m4: New file.
574         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
575         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
576         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
577         HAVE_WMEMMOVE.
578         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
579         * doc/posix-functions/wmemmove.texi: Mention the new module.
580
581 2011-02-05  Bruno Haible  <bruno@clisp.org>
582
583         New module 'wmemcpy'.
584         * modules/wmemcpy: New file.
585         * lib/wchar.in.h (wmemcpy): New declaration.
586         * lib/wmemcpy.c: New file.
587         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
588         * m4/wmemcpy.m4: New file.
589         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
590         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
591         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
592         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
593         * doc/posix-functions/wmemcpy.texi: Mention the new module.
594
595 2011-02-05  Bruno Haible  <bruno@clisp.org>
596
597         New module 'wmemcmp'.
598         * modules/wmemcmp: New file.
599         * lib/wchar.in.h (wmemcmp): New declaration.
600         * lib/wmemcmp.c: New file.
601         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
602         * m4/wmemcmp.m4: New file.
603         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
604         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
605         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
606         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
607         * doc/posix-functions/wmemcmp.texi: Mention the new module.
608
609 2011-02-07  Jim Meyering  <meyering@redhat.com>
610
611         di-set, ino-map: new modules, from coreutils
612         * lib/di-set.c: New file.
613         * lib/di-set.h: Likewise.
614         * lib/ino-map.c: Likewise.
615         * lib/ino-map.h: Likewise.
616         * modules/di-set: Likewise.
617         * modules/di-set-tests: Likewise.
618         * modules/ino-map: Likewise.
619         * modules/ino-map-tests: Likewise.
620         * tests/test-di-set.c: Likewise.
621         * tests/test-ino-map.c: Likewise.
622
623 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
624
625         getloadavg: merge minor changes from Emacs
626
627         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
628         (getloadavg): Use memset, not bzero.
629
630         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
631         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
632         clash (bug#86).
633
634 2010-11-14  Bruno Haible  <bruno@clisp.org>
635
636         Allow multiple gnulib generated replacements to coexist.
637         * lib/getopt.in.h (struct option): Avoid identical redefinition.
638         * lib/inttypes.in.h (imaxdiv_t): Likewise.
639         * lib/langinfo.in.h (nl_item): Likewise.
640         * lib/math.in.h (_NaN, NAN): Likewise.
641         * lib/netdb.in.h (struct addrinfo): Likewise.
642         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
643         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
644         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
645         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
646         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
647         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
648         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
649         pthread_mutexattr_init, pthread_mutexattr_settype,
650         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
651         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
652         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
653         pthread_spin_trylock, pthread_spin_unlock): Likewise.
654         * lib/sched.in.h (struct sched_param): Likewise.
655         * lib/se-selinux.in.h (security_class_t, security_context_t,
656         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
657         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
658         lsetfilecon, fsetfilecon, security_check_context,
659         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
660         Likewise.
661         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
662         Likewise.
663         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
664         _gl_function_taking_int_returning_void_t, union sigval,
665         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
666         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
667         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
668         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
669         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
670         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
671         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
672         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
673         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
674         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
675         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
676         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
677         socklen_t, rpl_fd_isset): Likewise.
678         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
679         * lib/sys_time.in.h (struct timeval): Likewise.
680         * lib/sys_times.in.h (struct tms): Likewise.
681         * lib/sys_utsname.in.h (struct utsname):
682         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
683         * lib/unistd.in.h (getpagesize): Likewise.
684         * lib/wchar.in.h (mbstate_t): Likewise.
685         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
686         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
687         towlower, towupper): Likewise.
688         Reported by Sam Steingold <sds@gnu.org>.
689
690 2011-02-05  Eric Blake  <eblake@redhat.com>
691
692         unsetenv: work around Haiku issues
693         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
694         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
695
696 2010-12-30  Bruce Korb  <bkorb@gnu.org>
697
698         libposix: avoid calling error() within libposix
699         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
700         is defined.
701
702 2011-02-05  Eric Blake  <eblake@redhat.com>
703
704         strerror_r-posix: port to cygwin
705         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
706         implementation.
707         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
708         * tests/test-strerror_r.c (main): Fix test.
709         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
710         issue.
711
712 2011-02-05  Bruno Haible  <bruno@clisp.org>
713
714         New module 'wmemchr'.
715         * modules/wmemchr: New file.
716         * lib/wchar.in.h (wmemchr): New declaration.
717         * lib/wmemchr.c: New file.
718         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
719         * m4/wmemchr.m4: New file.
720         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
721         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
722         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
723         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
724         * doc/posix-functions/wmemchr.texi: Mention the new module.
725
726 2011-02-04  Eric Blake  <eblake@redhat.com>
727
728         fdopendir: detect FreeBSD bug
729         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
730         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
731
732 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
733
734         stdbool: do not define HAVE_STDBOOL_H
735         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
736         AC_HEADER_STDBOOL.  All uses changed.  Do not define
737         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
738         imported from the latest Autoconf git.  It was motivated by Emacs,
739         which uses gnulib but does not need HAVE_STDBOOL_H.
740
741 2011-02-04  Bruno Haible  <bruno@clisp.org>
742
743         wcsnrtombs: Prepare for new module wwcsnrtombs.
744         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
745         * lib/wcsnrtombs.c: Include it.
746         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
747
748         wcsrtombs: Prepare for new module wwcsrtombs.
749         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
750         * lib/wcsrtombs.c: Include it.
751         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
752
753         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
754         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
755         * lib/mbsnrtowcs.c: Include it.
756         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
757
758         mbsrtowcs: Prepare for new module mbsrtowwcs.
759         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
760         * lib/mbsrtowcs.c: Include it.
761         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
762
763 2011-02-04  Bruno Haible  <bruno@clisp.org>
764
765         vasnprintf: Reduce use of malloc for small format strings.
766         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
767         (arguments): Add room for the first 7 arguments.
768         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
769         (char_directives, u8_directives, u16_directives, u32_directives): Add
770         room for the first 7 directives.
771         * lib/printf-parse.c: Include <string.h>.
772         (PRINTF_PARSE): Change memory handling code so that it uses the first
773         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
774         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
775         Reported by Pádraig Brady <P@draigbrady.com>.
776
777 2011-01-31  Eric Blake  <eblake@redhat.com>
778
779         dup2: work around Haiku bug
780         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
781         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
782         * doc/posix-functions/dup2.texi (dup2): Document the bug.
783         * tests/test-dup2.c (main): Enhance test.
784
785 2011-01-31  Simon Josefsson  <simon@josefsson.org>
786
787         doc: off_t is not available in eglibc 2.11.2 stdio.h.
788         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
789         declared by eglibc 2.11.2.
790         * lib/stdio.in.h: Likewise.
791
792 2011-01-31  Eric Blake  <eblake@redhat.com>
793
794         ignore-value: add missing test dependency
795         * tests/test-ignore-value.c: Revert previous change; stdio.h
796         provides off_t.
797         * modules/ignore-value-tests (Depends-on): Add missing dependency.
798
799 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
800
801         mktime: clarify long_int width checking
802         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
803         the top level, to make it clearer that the assumption about
804         long_int width is being checked.  See
805         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
806
807 2011-01-30  Simon Josefsson  <simon@josefsson.org>
808
809         ignore-value: Fix self-test.
810         * tests/test-ignore-value.c: Include sys/types.h for off_t.
811
812 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
813
814         TYPE_MAXIMUM: avoid theoretically undefined behavior
815         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
816         negative number, which the C Standard says has undefined behavior.
817         In practice this is not a problem, but might as well do it by the book.
818         Reported by Rich Felker and Eric Blake; see
819         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
820         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
821         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
822         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
823         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
824         * m4/stdint.m4 (gl_STDINT_H): Likewise.
825         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
826
827         mktime: #undef mktime before #defining it
828         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
829
830         mktime: systematically normalize tm_isdst comparisons
831         * lib/mktime.c (isdst_differ): New function.
832         (__mktime_internal): Use it systematically for all isdst comparisons.
833         This completes the fix for libc BZ #6723, and removes the need for
834         normalizing tm_isdst.  See
835         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
836         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
837
838         mktime: fix some integer overflow issues and sidestep the rest
839
840         This was prompted by a bug report by Benjamin Lindner for MinGW
841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
842         His bug is due to signed integer overflow (0 - INT_MIN), and I
843         I scanned through mktime.c looking for other integer overflow
844         problems, fixing all the bugs I found.
845
846         Although the C Standard says the resulting code is still not safe
847         in the presence of integer overflow, in practice it should be good
848         enough for all real-world two's-complement implementations, except
849         for debugging environments that deliberately trap on integer
850         overflow (e.g., gcc -ftrapv).
851
852         * lib/mktime.c (WRAPV): New macro.
853         (SHR): Also check that long_int and time_t shift right in the
854         usual way, before using the fast-but-unportable method.
855         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
856         used.  The code already assumed two's complement, so there's
857         no need to test for alternatives.  All uses removed.
858         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
859         the C standard.  Problem reported by Rich Felker in
860         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
861         (twos_complement_arithmetic): Also check long_int and time_t.
862         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
863         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
864         (__mktime_internal): Avoid integer overflow with unary subtraction
865         in two instances where -1 - X is an adequate replacement for -X,
866         since the calculations are approximate.
867
868 2011-01-29  Eric Blake  <eblake@redhat.com>
869
870         mktime: avoid infinite loop
871         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
872         type; behavior is still undefined but portable to all known targets.
873         Reported by Rich Felker.
874
875 2011-01-29  Simon Josefsson  <simon@josefsson.org>
876
877         rename, unlink, same-inode: Relicense.
878         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
879         * modules/unlink (License): Likewise.
880         * modules/same-inode (License): Likewise.
881
882 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
883
884         mktime: avoid problems on NetBSD 5 / i386
885         * lib/mktime.c (long_int): New type.  This works around a problem
886         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
887         but time_t is 64 bits, and where I expect the existing code is
888         wrong in some cases.
889         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
890         (ydhms_diff): Bring back the compile-time check for wide-enough
891         year and yday.
892
893         mktime: fix misspelling in comment
894         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
895         This merges all recent glibc changes of importance.
896
897 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
898
899         move-if-change: cope with concurrent mv of identical file.
900         * build-aux/move-if-change (CMPPROG): Accept environment
901         variable as an override for `cmp'.
902         (usage): Document CMPPROG.
903         Adjust comparison to drop stdout.  Cope with failure of mv if
904         the target file exists and is identical to the source, for
905         parallel builds.
906         Report from H.J. Lu against binutils in PR binutils/12283.
907
908 2011-01-28  Bruce Korb  <bkorb@gnu.org>
909
910         * users.txt: Mention sharutils.
911
912 2011-01-28  Simon Josefsson  <simon@josefsson.org>
913
914         * users.txt: Mention OATH Toolkit.
915
916 2011-01-27  Bruno Haible  <bruno@clisp.org>
917
918         Prepare for supporting FreeBSD 10.
919         * build-aux/config.libpath: Remove handling of freebsd1*.
920
921 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
922
923         Prepare for supporting FreeBSD 10.
924         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
925         match FreeBSD 10.0.
926
927 2011-01-27  Bruno Haible  <bruno@clisp.org>
928
929         vma-iter, get-rusage-as: Add OpenBSD support.
930         * modules/vma-iter (configure.ac): Test for mquery.
931         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
932         * lib/vma-iter.c: Include <sys/mman.h>.
933         (vma_iterate): Add an implementation based on mquery().
934         * lib/resource-ext.h (get_rusage_as): Update comments.
935         * lib/get-rusage-as.c: Likewise.
936         * lib/get-rusage-data.c: Likewise.
937
938 2011-01-26  Karl Berry  <karl@gnu.org>
939
940         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
941         variables to make it easier to override the makeinfo program used.
942
943 2011-01-26  Eric Blake  <eblake@redhat.com>
944
945         fcntl: work around Haiku F_DUPFD bugs
946         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
947         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
948         cloexec bit on duplication.
949         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
950
951 2011-01-26  Bruno Haible  <bruno@clisp.org>
952
953         Enable memory leak tests on AIX.
954         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
955         * tests/test-fprintf-posix3.c (main): Likewise.
956
957 2011-01-26  Bruno Haible  <bruno@clisp.org>
958
959         Tests for module 'get-rusage-data'.
960         * modules/get-rusage-data-tests: New file.
961         * tests/test-get-rusage-data.c: New file.
962
963         New module 'get-rusage-data'.
964         * lib/resource-ext.h (get_rusage_data): New declaration.
965         * lib/get-rusage-data.c: New file.
966         * modules/get-rusage-data: New file.
967
968 2011-01-25  Bruno Haible  <bruno@clisp.org>
969
970         get-rusage-as: Allow for easier testing.
971         * lib/resource-ext.h (get_rusage_as): Add comment.
972         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
973         (main): New function for interactive testing.
974
975 2011-01-25  Bruno Haible  <bruno@clisp.org>
976
977         vma-iter: Treat Haiku like BeOS.
978         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
979         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
980
981 2011-01-25  Eric Blake  <eblake@redhat.com>
982
983         c-stack: fix regression on cygwin when libsigsegv is present
984         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
985
986 2011-01-24  Bruno Haible  <bruno@clisp.org>
987
988         vma-iter: Avoid empty intervals.
989         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
990         on an empty interval.
991
992 2011-01-24  Jim Meyering  <meyering@redhat.com>
993
994         u64: remove unnecessary #include
995         * lib/u64.h: Don't include <stddef.h>.  It was not used.
996
997 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
998
999         Allow the user to avoid the GNULIB_TEST_* macros.
1000         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
1001
1002 2011-01-23  Bruno Haible  <bruno@clisp.org>
1003
1004         New module 'vma-iter'.
1005         * lib/vma-iter.h: New file.
1006         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
1007         * modules/vma-iter: New file.
1008         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
1009         for get_rusage_as_via_iterator.
1010         (vma_iterate_callback): New function.
1011         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
1012         * modules/get-rusage-as (Depends-on): Add vma-iter.
1013
1014 2011-01-23  Bruno Haible  <bruno@clisp.org>
1015
1016         uninorm: Tweak includes.
1017         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
1018         Reported by Jim Meyering.
1019
1020 2011-01-23  Bruno Haible  <bruno@clisp.org>
1021
1022         get-rusage-as: Improve on NetBSD.
1023         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
1024         /proc, like on FreeBSD.
1025
1026 2011-01-23  Jim Meyering  <meyering@redhat.com>
1027
1028         xreadlink.h: remove unnecessary #include
1029         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
1030
1031         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
1032         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
1033
1034 2011-01-23  Bruno Haible  <bruno@clisp.org>
1035
1036         get-rusage-as: Fix bug.
1037         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
1038         original limit when aborting the first loop.
1039
1040 2011-01-23  Bruno Haible  <bruno@clisp.org>
1041
1042         wctype: Ensure valid C syntax.
1043         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
1044         unconditionally, instead of gl_NEXT_HEADERS conditionally.
1045
1046 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1047
1048         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
1049         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
1050         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
1051         as they are needed only for configure's test case.
1052         This removes two unnecessary symbols from config.h.
1053
1054         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
1055         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
1056         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
1057         AC_CHECK_HEADERS_ONCE on a header that we also invoke
1058         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
1059         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
1060         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
1061         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
1062         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1063         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
1064         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
1065         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1066         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
1067         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
1068         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
1069         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1070         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
1071         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
1072
1073 2011-01-21  Eric Blake  <eblake@redhat.com>
1074
1075         maintainer-makefile: work with older git for submodule check
1076         * top/maint.mk (public-submodule-commit): Rewrite to avoid
1077         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
1078         Reported by Matthias Bolte.
1079
1080         bootstrap: minor portability fixes
1081         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
1082         (usage): Omit leading capital and trailing . on help phrases, per
1083         GNU Coding Standards.
1084         (check_versions, top level): Prefix messages with script name.
1085
1086 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
1087
1088         bootstrap: support --no-git option
1089         * build-aux/bootstrap: Add --no-git option, to be used when
1090         --gnulib-srcdir points to the exact desired checkout.
1091
1092 2011-01-21  Eric Blake  <eblake@redhat.com>
1093
1094         strerror_r-posix: work with glibc 2.13
1095         * lib/strerror_r.c (strerror_r): Fix return type.
1096
1097 2011-01-21  Pádraig Brady  <P@draigBrady.com>
1098             Bruno Haible  <bruno@clisp.org>
1099
1100         uN_strstr: New unit tests.
1101         * modules/unistr/u8-strstr-tests: New file.
1102         * modules/unistr/u16-strstr-tests: New file.
1103         * modules/unistr/u32-strstr-tests: New file.
1104         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
1105         * tests/unistr/test-u8-strstr.c: New file.
1106         * tests/unistr/test-u16-strstr.c: New file.
1107         * tests/unistr/test-u32-strstr.c: New file.
1108
1109 2011-01-21  Pádraig Brady  <P@draigBrady.com>
1110             Bruno Haible  <bruno@clisp.org>
1111
1112         Make uN_strstr functions O(n) worst-case.
1113         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
1114         16-bit and 32-bit unit cases, use the unibyte algorithm from
1115         lib/mbsstr.c.
1116         * lib/unistr/u8-strstr.c: Include <string.h>.
1117         (UNIT_IS_UINT8_T): New macro.
1118         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
1119         (U_STRLEN, U_STRNLEN): New macros.
1120         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
1121         (U_STRLEN, U_STRNLEN): New macros.
1122         * modules/unistr/u8-strstr (Depends-on): Add strstr.
1123         (configure.ac): Update required libunistring version.
1124         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
1125         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
1126         malloca.
1127         (configure.ac): Update required libunistring version.
1128         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
1129         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
1130         malloca.
1131         (configure.ac): Update required libunistring version.
1132
1133 2011-01-21  Pádraig Brady  <P@draigBrady.com>
1134             Bruno Haible  <bruno@clisp.org>
1135
1136         Prepare for faster uN_strstr functions.
1137         * lib/str-kmp.h: Support definable UNITs.
1138         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
1139         needle_len argument.
1140         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
1141         * lib/mbscasestr.c (mbscasestr): Likewise.
1142
1143 2011-01-21  Pádraig Brady <P@draigBrady.com>
1144
1145         malloca-tests: make faster by unsetting MALLOC_PERTURB_
1146         * tests/test-malloca.c (main): Unset the environment variable
1147         to greatly speed up the test.
1148         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
1149         * modules/malloca-tests: Depend on unsetenv.
1150
1151 2011-01-21  Pádraig Brady <P@draigBrady.com>
1152
1153         ignore-value: remove stdint dependency
1154         * lib/ignore-value.h: Remove <stdint.h>
1155         * modules/ignore-value: Remove stdint dependency.
1156
1157 2011-01-21  Jim Meyering  <meyering@redhat.com>
1158
1159         maint.mk: adjust variable name to be consistent with other gl_ vars
1160         * top/maint.mk (gl_public_submodule_commit): Rename the variable
1161         to be lower case.
1162
1163 2011-01-20  Jim Meyering  <meyering@redhat.com>
1164
1165         maint.mk: make "check" depend on public-submodule-commit by default
1166         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
1167
1168 2011-01-20  Bruno Haible  <bruno@clisp.org>
1169
1170         mbfile, mbiter: Complete change from 2008-12-21.
1171         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
1172         * m4/mbiter.m4 (gl_MBITER): Likewise.
1173
1174 2011-01-20  Jim Meyering  <meyering@redhat.com>
1175
1176         init.sh: insert space between each function name and "()"
1177         * tests/init.sh: Make it a little easier to see that a function's
1178         name is "warn_", and not "warn" when looking at the first part of
1179         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
1180
1181 2011-01-20  Jim Meyering  <meyering@redhat.com>
1182
1183         mountlist: clean up code formatting
1184         * lib/mountlist.c (read_file_system_list): Split a long line,
1185         correct bracing style, use NULL in place of "(struct statfs *)0",
1186         don't parenthesize return value, add spaces around "=" and after
1187         ";-in-for-stmt".
1188
1189 2011-01-14  Markus Duft <mduft@gentoo.org>
1190
1191         mountlist: add support for Interix
1192         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
1193         Apply statvfs to all entries of /dev/fs.
1194         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
1195         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
1196
1197 2011-01-20  Jim Meyering  <meyering@redhat.com>
1198
1199         maint.mk: improve the public-submodule-commit rule
1200         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
1201         to suppress printing of its commands... unless V=1.
1202         Add git submodule's --quiet option to suppress printing of e.g.,
1203         "Entering gnulib" output.
1204         "cd" into $(srcdir) before running git submodule.
1205
1206 2011-01-20  Bruno Haible  <bruno@clisp.org>
1207
1208         include_next: Fix bug introduced on 2011-01-18.
1209         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
1210         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
1211         ac_cv_header_... variable if the second argument is not 'check'.
1212         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
1213         gl_NEXT_HEADERS_INTERNAL.
1214
1215 2011-01-20  Bruno Haible  <bruno@clisp.org>
1216
1217         Allow the user to avoid the GNULIB_TEST_* macros.
1218         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
1219         Suggested by Paul Eggert.
1220
1221 2011-01-14  Jim Meyering  <meyering@redhat.com>
1222
1223         bootstrap: avoid failure when there is no .gitmodules file
1224         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
1225         has been assigned to, even when its value is the empty string.
1226         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
1227         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
1228         Reported by John W. Eaton <jwe@gnu.org>.
1229
1230 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
1231
1232         assume <ctype.h>, ..., <time.h> exist
1233         For years gnulib has been assuming the existence of the headers
1234         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
1235         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
1236         them, since they don't appear to be needed.
1237         * README (Portability guidelines): Document this.
1238         * lib/flock.c: Assume <fcntl.h> exists.
1239         * lib/regex_internal.h: Assume <locale.h> exists.
1240         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
1241         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
1242         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
1243         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
1244         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
1245         * m4/regex.m4 (gl_REGEX): Likewise.
1246         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
1247         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
1248         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
1249         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
1250         * tests/test-argp.c: Likewise.
1251         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
1252
1253         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
1254         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
1255         AA_APPLE_UNIVERSAL_BUILD.  See
1256         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
1257         * NEWS: Document this.
1258
1259 2011-01-19  Eric Blake  <eblake@redhat.com>
1260
1261         c-stack: assume stack overflow if SA_SIGINFO unsupported
1262         * lib/c-stack.c (SIGACTION_WORKS): Rename...
1263         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
1264         sigaction will work.
1265         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
1266         behavior match Linux.
1267         * tests/test-c-stack.c (main): Prefer NULL for pointers.
1268
1269         stdbool-tests: accomodate Haiku
1270         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
1271
1272         binary-io: fix O_TEXT on Haiku
1273         * modules/binary-io (Depends-on): Add fcntl-h.
1274         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
1275         than blindly undefining O_TEXT.
1276         Reported by Scott McCreary.
1277
1278 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
1279
1280         include_next: do not check for standard headers like stddef.h
1281
1282         I found this problem when modifying Emacs to use gnulib.
1283         I noticed that it added HAVE_STDDEF_H to config.h, even though
1284         gnulib always assumes <stddef.h> exists as per README and this
1285         symbol is unnecessary.
1286         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
1287         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
1288         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
1289         faster for headers like stddef.h that are known to exist.
1290         (gl_CHECK_NEXT_HEADERS): Use it.
1291         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
1292         rather than gl_CHECK_NEXT_HEADERS.
1293         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
1294         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
1295
1296 2011-01-18  Eric Blake  <eblake@redhat.com>
1297
1298         ansi-c++-opt: skip C++ dependency style if C++ is unused
1299         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
1300         tests when we know C++ compilation is not desired.
1301         Reported by Scott McCreary.
1302
1303 2011-01-18  Bruno Haible  <bruno@clisp.org>
1304
1305         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
1306         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
1307         (main): Perform test also when getrlimit and setrlimit don't exist or
1308         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
1309         limiting the address space size using setrlimit, compare the address
1310         space size before and after the the test.
1311         * tests/test-dprintf-posix2.c: Likewise.
1312         * tests/test-fprintf-posix3.sh: Update skip messages.
1313         * tests/test-dprintf-posix2.sh: Likewise.
1314         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
1315         * modules/dprintf-posix-tests (Depends-on): Likewise.
1316         Reported by Bruce Korb <bkorb@gnu.org> and
1317         Gary V. Vaughan <gary@gnu.org>.
1318
1319 2011-01-18  Bruno Haible  <bruno@clisp.org>
1320
1321         get-rusage-as: Improvement for Cygwin.
1322         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
1323         areas that are merely reserved.
1324
1325 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
1326
1327         strftime: remove dependencies on multibyte modules
1328
1329         strftime depended on mbrlen, mbsinit, and wchar, but these modules
1330         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
1331         only if __osf__ is defined, and I suspect OSF doesn't need these
1332         other modules.  If my guess is wrong, we'll need to come up with a
1333         variant of strftime that doesn't need the multibyte modules.
1334
1335         I discovered this problem when attempting modify Emacs to use the
1336         strftime module.  With the previous gnulib, this caused Emacs to
1337         need 31 new files, ranging from lib/config.charset to
1338         m4/wint_t.m4.  This was overkill and I expect would be offputting
1339         to the Emacs maintainers.  After this change, only 6 new files are
1340         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
1341         stdbool.m4, and tm_gmtoff.m4.
1342
1343         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
1344         Suggested by Bruno Haible in
1345         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
1346         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
1347         and do not check for wchar.h.
1348         * modules/strftime (Files): Remove m4/mbstate_t.m4.
1349         (Depends-on): Remove mbrlen, mbsinit, wchar.
1350
1351 2011-01-18  Bruno Haible  <bruno@clisp.org>
1352
1353         Tests for module 'get-rusage-as'.
1354         * modules/get-rusage-as-tests: New file.
1355         * tests/test-get-rusage-as.c: New file.
1356
1357         New module 'get-rusage-as'.
1358         * modules/get-rusage-as: New file.
1359         * lib/resource-ext.h: New file.
1360         * lib/get-rusage-as.c: New file.
1361
1362 2011-01-17  Eric Blake  <eblake@redhat.com>
1363
1364         sigaction: relax license from LGPLv3+ to LGPLv2+
1365         * modules/sigaction (License): Relax to LGPLv2+.
1366
1367 2011-01-14  Bruno Haible  <bruno@clisp.org>
1368
1369         filemode: Make function declarations usable in C++ mode.
1370         * lib/filemode.h: Enclose function declarations in extern "C" block.
1371         Reported by John W. Eaton <jwe@gnu.org>.
1372
1373 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
1374
1375         save-cwd: no longer include "xgetcwd.h"
1376         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
1377         This avoids a compilation failure in projects that use save-cwd
1378         without also using the xgetcwd module.
1379
1380 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1381
1382         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
1383         This is so that a program like Emacs, which needs only dtoastr,
1384         does not have to bother with distributing and compiling ftoastr
1385         and ldtoastr.
1386         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
1387         * modules/dtoastr, modules/ldtoastr: New files.
1388         * modules/ftoastr: Now works just for 'float'.
1389         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
1390         (Makefile.am): Remove ftoastr.h (not needed and no effect),
1391         dtoastr.c, ldtoastr.c.
1392
1393 2011-01-11  Jim Meyering  <meyering@redhat.com>
1394
1395         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
1396         There is no need to work around the lack of the fchdir function,
1397         since gnulib can now provide a replacement when required.
1398         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
1399         * modules/save-cwd (Depends-on): Add fchdir.
1400
1401 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
1402
1403         openat, save-cwd: avoid xmalloc
1404
1405         This removes a direct (but undocumented) dependency of openat on
1406         xalloc, along with an indirect dependency via save-cwd.  It also
1407         removes a dependency of save-cwd on xgetcwd, and thereby
1408         indirectly on xalloc.  This change causes the openat substitute
1409         to fall back on save_cwd when memory is tight, and for save_cwd to
1410         fail instead of dying when memory is tight, but that's good enough.
1411         Problem and initial idea for fix reported by Bastien Roucaries in
1412         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
1413
1414         * lib/openat-proc.c: Include stdlib.h (for malloc), not
1415         xalloc.h (for xmalloc).
1416         (openat_proc_name): Use malloc, not xmalloc.
1417         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
1418         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
1419
1420         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
1421         This avoids heap allocation for file names whose lengths are in
1422         the range 512..1023, with the upper bound increasing to at most
1423         4031 depending on the platform's PATH_MAX.  (We do not want
1424         pathmax.h here as it might supply a non-constant PATH_MAX.)
1425         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
1426         Perhaps they should be moved to malloca.h?
1427         (OPENAT_BUFFER_SIZE): Use them.
1428
1429 2011-01-10  Bruno Haible  <bruno@clisp.org>
1430
1431         doc: Update users.txt.
1432         * users.txt: Add recutils.
1433
1434 2011-01-09  Karl Berry  <karl@gnu.org>
1435
1436         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
1437
1438         * doc/configmake.texi: New file.
1439         * doc/gnulib.texi: Include it.
1440         * modules/configmake: Move documentation from here.
1441
1442 2011-01-09  Bruno Haible  <bruno@clisp.org>
1443
1444         Update to Unicode 6.0.0.
1445         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
1446         (get_lbp): Update for Unicode 6.0.0.
1447         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
1448         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
1449         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
1450         U+11001, U+11038..U+11046. Remove U+06DE.
1451         (uc_width): Fix bounds of planes.
1452         * tests/uniwidth/test-uc_width2.sh: Same updates as in
1453         lib/uniwidth/width.c.
1454         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
1455         trailing whitespace removed.
1456         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
1457         without comments, but with the original copyright notice.
1458         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
1459         * lib/unicase/ignorable.h: Likewise.
1460         * lib/unicase/tocasefold.h: Likewise.
1461         * lib/unicase/tolower.h: Likewise.
1462         * lib/unicase/totitle.h: Likewise.
1463         * lib/unicase/toupper.h: Likewise.
1464         * lib/unictype/bidi_of.h: Likewise.
1465         * lib/unictype/blocks.h: Likewise.
1466         * lib/unictype/categ_C.h: Likewise.
1467         * lib/unictype/categ_Cn.h: Likewise.
1468         * lib/unictype/categ_L.h: Likewise.
1469         * lib/unictype/categ_Ll.h: Likewise.
1470         * lib/unictype/categ_Lm.h: Likewise.
1471         * lib/unictype/categ_Lo.h: Likewise.
1472         * lib/unictype/categ_Lu.h: Likewise.
1473         * lib/unictype/categ_M.h: Likewise.
1474         * lib/unictype/categ_Mc.h: Likewise.
1475         * lib/unictype/categ_Me.h: Likewise.
1476         * lib/unictype/categ_Mn.h: Likewise.
1477         * lib/unictype/categ_N.h: Likewise.
1478         * lib/unictype/categ_Nd.h: Likewise.
1479         * lib/unictype/categ_No.h: Likewise.
1480         * lib/unictype/categ_P.h: Likewise.
1481         * lib/unictype/categ_Po.h: Likewise.
1482         * lib/unictype/categ_S.h: Likewise.
1483         * lib/unictype/categ_Sc.h: Likewise.
1484         * lib/unictype/categ_Sk.h: Likewise.
1485         * lib/unictype/categ_Sm.h: Likewise.
1486         * lib/unictype/categ_So.h: Likewise.
1487         * lib/unictype/categ_of.h: Likewise.
1488         * lib/unictype/combining.h: Likewise.
1489         * lib/unictype/ctype_alnum.h: Likewise.
1490         * lib/unictype/ctype_alpha.h: Likewise.
1491         * lib/unictype/ctype_graph.h: Likewise.
1492         * lib/unictype/ctype_lower.h: Likewise.
1493         * lib/unictype/ctype_print.h: Likewise.
1494         * lib/unictype/ctype_punct.h: Likewise.
1495         * lib/unictype/ctype_upper.h: Likewise.
1496         * lib/unictype/decdigit.h: Likewise.
1497         * lib/unictype/digit.h: Likewise.
1498         * lib/unictype/numeric.h: Likewise.
1499         * lib/unictype/pr_alphabetic.h: Likewise.
1500         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
1501         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
1502         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
1503         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
1504         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
1505         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
1506         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
1507         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
1508         * lib/unictype/pr_case_ignorable.h: Likewise.
1509         * lib/unictype/pr_cased.h: Likewise.
1510         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
1511         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
1512         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
1513         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
1514         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
1515         * lib/unictype/pr_combining.h: Likewise.
1516         * lib/unictype/pr_composite.h: Likewise.
1517         * lib/unictype/pr_currency_symbol.h: Likewise.
1518         * lib/unictype/pr_decimal_digit.h: Likewise.
1519         * lib/unictype/pr_deprecated.h: Likewise.
1520         * lib/unictype/pr_format_control.h: Likewise.
1521         * lib/unictype/pr_grapheme_base.h: Likewise.
1522         * lib/unictype/pr_grapheme_extend.h: Likewise.
1523         * lib/unictype/pr_grapheme_link.h: Likewise.
1524         * lib/unictype/pr_id_continue.h: Likewise.
1525         * lib/unictype/pr_id_start.h: Likewise.
1526         * lib/unictype/pr_ideographic.h: Likewise.
1527         * lib/unictype/pr_lowercase.h: Likewise.
1528         * lib/unictype/pr_math.h: Likewise.
1529         * lib/unictype/pr_numeric.h: Likewise.
1530         * lib/unictype/pr_other_alphabetic.h: Likewise.
1531         * lib/unictype/pr_other_id_continue.h: Likewise.
1532         * lib/unictype/pr_other_math.h: Likewise.
1533         * lib/unictype/pr_punctuation.h: Likewise.
1534         * lib/unictype/pr_sentence_terminal.h: Likewise.
1535         * lib/unictype/pr_terminal_punctuation.h: Likewise.
1536         * lib/unictype/pr_unassigned_code_value.h: Likewise.
1537         * lib/unictype/pr_unified_ideograph.h: Likewise.
1538         * lib/unictype/pr_uppercase.h: Likewise.
1539         * lib/unictype/pr_xid_continue.h: Likewise.
1540         * lib/unictype/pr_xid_start.h: Likewise.
1541         * lib/unictype/scripts.h: Likewise.
1542         * lib/unictype/scripts_byname.gperf: Likewise.
1543         * lib/unictype/sy_java_ident.h: Likewise.
1544         * lib/unigbrk/gbrkprop.h: Likewise.
1545         * lib/unilbrk/lbrkprop1.h: Likewise.
1546         * lib/unilbrk/lbrkprop2.h: Likewise.
1547         * lib/uninorm/decomposition-table2.h: Likewise.
1548         * lib/uniwbrk/wbrkprop.h: Likewise.
1549         * tests/unicase/test-cased.c: Likewise.
1550         * tests/unicase/test-ignorable.c: Likewise.
1551         * tests/unicase/test-uc_tolower.c: Likewise.
1552         * tests/unicase/test-uc_totitle.c: Likewise.
1553         * tests/unicase/test-uc_toupper.c: Likewise.
1554         * tests/unictype/test-categ_C.c: Likewise.
1555         * tests/unictype/test-categ_Cn.c: Likewise.
1556         * tests/unictype/test-categ_L.c: Likewise.
1557         * tests/unictype/test-categ_Ll.c: Likewise.
1558         * tests/unictype/test-categ_Lm.c: Likewise.
1559         * tests/unictype/test-categ_Lo.c: Likewise.
1560         * tests/unictype/test-categ_Lu.c: Likewise.
1561         * tests/unictype/test-categ_M.c: Likewise.
1562         * tests/unictype/test-categ_Mc.c: Likewise.
1563         * tests/unictype/test-categ_Me.c: Likewise.
1564         * tests/unictype/test-categ_Mn.c: Likewise.
1565         * tests/unictype/test-categ_N.c: Likewise.
1566         * tests/unictype/test-categ_Nd.c: Likewise.
1567         * tests/unictype/test-categ_No.c: Likewise.
1568         * tests/unictype/test-categ_P.c: Likewise.
1569         * tests/unictype/test-categ_Po.c: Likewise.
1570         * tests/unictype/test-categ_S.c: Likewise.
1571         * tests/unictype/test-categ_Sc.c: Likewise.
1572         * tests/unictype/test-categ_Sk.c: Likewise.
1573         * tests/unictype/test-categ_Sm.c: Likewise.
1574         * tests/unictype/test-categ_So.c: Likewise.
1575         * tests/unictype/test-ctype_alnum.c: Likewise.
1576         * tests/unictype/test-ctype_alpha.c: Likewise.
1577         * tests/unictype/test-ctype_graph.c: Likewise.
1578         * tests/unictype/test-ctype_lower.c: Likewise.
1579         * tests/unictype/test-ctype_print.c: Likewise.
1580         * tests/unictype/test-ctype_punct.c: Likewise.
1581         * tests/unictype/test-ctype_upper.c: Likewise.
1582         * tests/unictype/test-decdigit.h: Likewise.
1583         * tests/unictype/test-digit.h: Likewise.
1584         * tests/unictype/test-numeric.h: Likewise.
1585         * tests/unictype/test-pr_alphabetic.c: Likewise.
1586         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
1587         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
1588         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
1589         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
1590         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
1591         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
1592         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
1593         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
1594         * tests/unictype/test-pr_case_ignorable.c: Likewise.
1595         * tests/unictype/test-pr_cased.c: Likewise.
1596         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
1597         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
1598         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
1599         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
1600         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
1601         * tests/unictype/test-pr_combining.c: Likewise.
1602         * tests/unictype/test-pr_composite.c: Likewise.
1603         * tests/unictype/test-pr_currency_symbol.c: Likewise.
1604         * tests/unictype/test-pr_decimal_digit.c: Likewise.
1605         * tests/unictype/test-pr_deprecated.c: Likewise.
1606         * tests/unictype/test-pr_format_control.c: Likewise.
1607         * tests/unictype/test-pr_grapheme_base.c: Likewise.
1608         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
1609         * tests/unictype/test-pr_grapheme_link.c: Likewise.
1610         * tests/unictype/test-pr_id_continue.c: Likewise.
1611         * tests/unictype/test-pr_id_start.c: Likewise.
1612         * tests/unictype/test-pr_ideographic.c: Likewise.
1613         * tests/unictype/test-pr_lowercase.c: Likewise.
1614         * tests/unictype/test-pr_math.c: Likewise.
1615         * tests/unictype/test-pr_numeric.c: Likewise.
1616         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
1617         * tests/unictype/test-pr_other_id_continue.c: Likewise.
1618         * tests/unictype/test-pr_other_math.c: Likewise.
1619         * tests/unictype/test-pr_punctuation.c: Likewise.
1620         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
1621         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
1622         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
1623         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
1624         * tests/unictype/test-pr_uppercase.c: Likewise.
1625         * tests/unictype/test-pr_xid_continue.c: Likewise.
1626         * tests/unictype/test-pr_xid_start.c: Likewise.
1627         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
1628         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
1629         changes.
1630         * lib/unictype/categ_Cc.h: Likewise.
1631         * lib/unictype/categ_Cf.h: Likewise.
1632         * lib/unictype/categ_Co.h: Likewise.
1633         * lib/unictype/categ_Cs.h: Likewise.
1634         * lib/unictype/categ_Lt.h: Likewise.
1635         * lib/unictype/categ_Nl.h: Likewise.
1636         * lib/unictype/categ_Pc.h: Likewise.
1637         * lib/unictype/categ_Pd.h: Likewise.
1638         * lib/unictype/categ_Pe.h: Likewise.
1639         * lib/unictype/categ_Pf.h: Likewise.
1640         * lib/unictype/categ_Pi.h: Likewise.
1641         * lib/unictype/categ_Ps.h: Likewise.
1642         * lib/unictype/categ_Z.h: Likewise.
1643         * lib/unictype/categ_Zl.h: Likewise.
1644         * lib/unictype/categ_Zp.h: Likewise.
1645         * lib/unictype/categ_Zs.h: Likewise.
1646         * lib/unictype/ctype_blank.h: Likewise.
1647         * lib/unictype/ctype_cntrl.h: Likewise.
1648         * lib/unictype/ctype_digit.h: Likewise.
1649         * lib/unictype/ctype_space.h: Likewise.
1650         * lib/unictype/ctype_xdigit.h: Likewise.
1651         * lib/unictype/mirror.h: Likewise.
1652         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
1653         * lib/unictype/pr_bidi_block_separator.h: Likewise.
1654         * lib/unictype/pr_bidi_common_separator.h: Likewise.
1655         * lib/unictype/pr_bidi_control.h: Likewise.
1656         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
1657         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
1658         * lib/unictype/pr_bidi_european_digit.h: Likewise.
1659         * lib/unictype/pr_bidi_pdf.h: Likewise.
1660         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
1661         * lib/unictype/pr_bidi_whitespace.h: Likewise.
1662         * lib/unictype/pr_dash.h: Likewise.
1663         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
1664         * lib/unictype/pr_diacritic.h: Likewise.
1665         * lib/unictype/pr_extender.h: Likewise.
1666         * lib/unictype/pr_hex_digit.h: Likewise.
1667         * lib/unictype/pr_hyphen.h: Likewise.
1668         * lib/unictype/pr_ids_binary_operator.h: Likewise.
1669         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
1670         * lib/unictype/pr_ignorable_control.h: Likewise.
1671         * lib/unictype/pr_iso_control.h: Likewise.
1672         * lib/unictype/pr_join_control.h: Likewise.
1673         * lib/unictype/pr_left_of_pair.h: Likewise.
1674         * lib/unictype/pr_line_separator.h: Likewise.
1675         * lib/unictype/pr_logical_order_exception.h: Likewise.
1676         * lib/unictype/pr_non_break.h: Likewise.
1677         * lib/unictype/pr_not_a_character.h: Likewise.
1678         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
1679         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
1680         * lib/unictype/pr_other_id_start.h: Likewise.
1681         * lib/unictype/pr_other_lowercase.h: Likewise.
1682         * lib/unictype/pr_other_uppercase.h: Likewise.
1683         * lib/unictype/pr_paired_punctuation.h: Likewise.
1684         * lib/unictype/pr_paragraph_separator.h: Likewise.
1685         * lib/unictype/pr_pattern_syntax.h: Likewise.
1686         * lib/unictype/pr_pattern_white_space.h: Likewise.
1687         * lib/unictype/pr_private_use.h: Likewise.
1688         * lib/unictype/pr_quotation_mark.h: Likewise.
1689         * lib/unictype/pr_radical.h: Likewise.
1690         * lib/unictype/pr_soft_dotted.h: Likewise.
1691         * lib/unictype/pr_space.h: Likewise.
1692         * lib/unictype/pr_titlecase.h: Likewise.
1693         * lib/unictype/pr_variation_selector.h: Likewise.
1694         * lib/unictype/pr_white_space.h: Likewise.
1695         * lib/unictype/pr_zero_width.h: Likewise.
1696         * lib/unictype/sy_c_ident.h: Likewise.
1697         * lib/unictype/sy_c_whitespace.h: Likewise.
1698         * lib/unictype/sy_java_whitespace.h: Likewise.
1699         * lib/uninorm/composition-table.gperf: Likewise.
1700         * lib/uninorm/decomposition-table1.h: Likewise.
1701         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
1702         LB8.
1703         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
1704         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
1705         * modules/unictype/*: Bump version number of expected libunistring
1706         version.
1707
1708 2011-01-09  Bruno Haible  <bruno@clisp.org>
1709
1710         Update to Unicode 5.2.0.
1711         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
1712         trailing whitespace removed.
1713
1714 2011-01-09  Bruno Haible  <bruno@clisp.org>
1715
1716         New Unicode character properties, from Unicode 5.2.0.
1717         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
1718         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
1719         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
1720         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
1721         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
1722         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
1723         uc_is_property_cased, uc_is_property_case_ignorable,
1724         uc_is_property_changes_when_lowercased,
1725         uc_is_property_changes_when_uppercased,
1726         uc_is_property_changes_when_titlecased,
1727         uc_is_property_changes_when_casefolded,
1728         uc_is_property_changes_when_casemapped): New declarations.
1729         * lib/unictype/pr_byname.gperf: Add the new properties.
1730         * modules/unictype/property-byname (Depends-on): Depend on the new
1731         properties modules.
1732         * modules/unictype/property-all (Depends-on): Likewise.
1733         * MODULES.html.sh (Unicode string functions): Add
1734         unictype/property-case-ignorable, unictype/property-cased,
1735         unictype/property-changes-when-casefolded,
1736         unictype/property-changes-when-casemapped,
1737         unictype/property-changes-when-lowercased,
1738         unictype/property-changes-when-titlecased,
1739         unictype/property-changes-when-uppercased.
1740
1741         New module 'unictype/property-changes-when-casemapped'.
1742         * modules/unictype/property-changes-when-casemapped: New file.
1743         * lib/unictype/pr_changes_when_casemapped.c: New file.
1744         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
1745         generated by gen-uni-tables.
1746         * modules/unictype/property-changes-when-casemapped-tests: New file.
1747         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
1748         automatically generated by gen-uni-tables.
1749
1750         New module 'unictype/property-changes-when-casefolded'.
1751         * modules/unictype/property-changes-when-casefolded: New file.
1752         * lib/unictype/pr_changes_when_casefolded.c: New file.
1753         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
1754         generated by gen-uni-tables.
1755         * modules/unictype/property-changes-when-casefolded-tests: New file.
1756         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
1757         automatically generated by gen-uni-tables.
1758
1759         New module 'unictype/property-changes-when-titlecased'.
1760         * modules/unictype/property-changes-when-titlecased: New file.
1761         * lib/unictype/pr_changes_when_titlecased.c: New file.
1762         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
1763         generated by gen-uni-tables.
1764         * modules/unictype/property-changes-when-titlecased-tests: New file.
1765         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
1766         automatically generated by gen-uni-tables.
1767
1768         New module 'unictype/property-changes-when-uppercased'.
1769         * modules/unictype/property-changes-when-uppercased: New file.
1770         * lib/unictype/pr_changes_when_uppercased.c: New file.
1771         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
1772         generated by gen-uni-tables.
1773         * modules/unictype/property-changes-when-uppercased-tests: New file.
1774         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
1775         automatically generated by gen-uni-tables.
1776
1777         New module 'unictype/property-changes-when-lowercased'.
1778         * modules/unictype/property-changes-when-lowercased: New file.
1779         * lib/unictype/pr_changes_when_lowercased.c: New file.
1780         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
1781         generated by gen-uni-tables.
1782         * modules/unictype/property-changes-when-lowercased-tests: New file.
1783         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
1784         automatically generated by gen-uni-tables.
1785
1786         New module 'unictype/property-case-ignorable'.
1787         * modules/unictype/property-case-ignorable: New file.
1788         * lib/unictype/pr_case_ignorable.c: New file.
1789         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
1790         by gen-uni-tables.
1791         * modules/unictype/property-case-ignorable-tests: New file.
1792         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
1793         generated by gen-uni-tables.
1794
1795         New module 'unictype/property-cased'.
1796         * modules/unictype/property-cased: New file.
1797         * lib/unictype/pr_cased.c: New file.
1798         * lib/unictype/pr_cased.h: New file, automatically generated by
1799         gen-uni-tables.
1800         * modules/unictype/property-cased-tests: New file.
1801         * tests/unictype/test-pr_cased.c: New file, automatically generated by
1802         gen-uni-tables.
1803
1804 2011-01-09  Bruno Haible  <bruno@clisp.org>
1805
1806         Update to Unicode 5.2.0.
1807         * lib/gen-uni-tables.c (output_predicate, output_category,
1808         output_combclass, output_bidi_category, output_decimal_digit_test,
1809         output_decimal_digit, output_digit_test, output_digit,
1810         output_numeric_test, output_numeric, output_mirror, output_scripts,
1811         output_scripts_byname, output_blocks, output_ident_category): Fix
1812         comment header.
1813         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
1814         get_wbp.
1815         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
1816         items.
1817         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
1818         Changes_When_Lowercased, Changes_When_Uppercased,
1819         Changes_When_Titlecased, Changes_When_Casefolded,
1820         Changes_When_Casemapped.
1821         (is_property_alphabetic, is_property_default_ignorable_code_point):
1822         Update for Unicode 5.2.0.
1823         (is_property_cased, is_property_case_ignorable,
1824         is_property_changes_when_lowercased,
1825         is_property_changes_when_uppercased,
1826         is_property_changes_when_titlecased,
1827         is_property_changes_when_casefolded,
1828         is_property_changes_when_casemapped): New functions.
1829         (output_properties): Output also the properties cased, case_ignorable,
1830         changes_when_lowercased, changes_when_uppercased,
1831         changes_when_titlecased, changes_when_casefolded,
1832         changes_when_casemapped.
1833         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
1834         Unicode TR#11 revision 17 -> 19.
1835         (LBP_CP): New enumeration value.
1836         (LBP_*): Adjust values accordingly.
1837         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
1838         TR#14 revision 22 -> 24.
1839         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
1840         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
1841         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
1842         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
1843         is_WBP_MIDLETTER.
1844         (output_composition_tables): Allow for 24 bits instead of 16 bits in
1845         the code1 and code2 of each composition rule.
1846         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
1847         * lib/unicase/ignorable.h: Likewise.
1848         * lib/unicase/tocasefold.h: Likewise.
1849         * lib/unicase/tolower.h: Likewise.
1850         * lib/unicase/totitle.h: Likewise.
1851         * lib/unicase/toupper.h: Likewise.
1852         * lib/unictype/bidi_of.h: Likewise.
1853         * lib/unictype/blocks.h: Likewise.
1854         * lib/unictype/categ_C.h: Likewise.
1855         * lib/unictype/categ_Cf.h: Likewise.
1856         * lib/unictype/categ_Cn.h: Likewise.
1857         * lib/unictype/categ_L.h: Likewise.
1858         * lib/unictype/categ_Ll.h: Likewise.
1859         * lib/unictype/categ_Lm.h: Likewise.
1860         * lib/unictype/categ_Lo.h: Likewise.
1861         * lib/unictype/categ_Lu.h: Likewise.
1862         * lib/unictype/categ_M.h: Likewise.
1863         * lib/unictype/categ_Mc.h: Likewise.
1864         * lib/unictype/categ_Mn.h: Likewise.
1865         * lib/unictype/categ_N.h: Likewise.
1866         * lib/unictype/categ_Nd.h: Likewise.
1867         * lib/unictype/categ_Nl.h: Likewise.
1868         * lib/unictype/categ_No.h: Likewise.
1869         * lib/unictype/categ_P.h: Likewise.
1870         * lib/unictype/categ_Pd.h: Likewise.
1871         * lib/unictype/categ_Po.h: Likewise.
1872         * lib/unictype/categ_S.h: Likewise.
1873         * lib/unictype/categ_Sc.h: Likewise.
1874         * lib/unictype/categ_So.h: Likewise.
1875         * lib/unictype/categ_of.h: Likewise.
1876         * lib/unictype/combining.h: Likewise.
1877         * lib/unictype/ctype_alnum.h: Likewise.
1878         * lib/unictype/ctype_alpha.h: Likewise.
1879         * lib/unictype/ctype_graph.h: Likewise.
1880         * lib/unictype/ctype_lower.h: Likewise.
1881         * lib/unictype/ctype_print.h: Likewise.
1882         * lib/unictype/ctype_punct.h: Likewise.
1883         * lib/unictype/ctype_upper.h: Likewise.
1884         * lib/unictype/decdigit.h: Likewise.
1885         * lib/unictype/digit.h: Likewise.
1886         * lib/unictype/numeric.h: Likewise.
1887         * lib/unictype/pr_alphabetic.h: Likewise.
1888         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
1889         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
1890         * lib/unictype/pr_bidi_european_digit.h: Likewise.
1891         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
1892         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
1893         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
1894         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
1895         * lib/unictype/pr_combining.h: Likewise.
1896         * lib/unictype/pr_composite.h: Likewise.
1897         * lib/unictype/pr_currency_symbol.h: Likewise.
1898         * lib/unictype/pr_dash.h: Likewise.
1899         * lib/unictype/pr_decimal_digit.h: Likewise.
1900         * lib/unictype/pr_deprecated.h: Likewise.
1901         * lib/unictype/pr_diacritic.h: Likewise.
1902         * lib/unictype/pr_extender.h: Likewise.
1903         * lib/unictype/pr_grapheme_base.h: Likewise.
1904         * lib/unictype/pr_grapheme_extend.h: Likewise.
1905         * lib/unictype/pr_grapheme_link.h: Likewise.
1906         * lib/unictype/pr_id_continue.h: Likewise.
1907         * lib/unictype/pr_id_start.h: Likewise.
1908         * lib/unictype/pr_ideographic.h: Likewise.
1909         * lib/unictype/pr_ignorable_control.h: Likewise.
1910         * lib/unictype/pr_logical_order_exception.h: Likewise.
1911         * lib/unictype/pr_lowercase.h: Likewise.
1912         * lib/unictype/pr_numeric.h: Likewise.
1913         * lib/unictype/pr_other_alphabetic.h: Likewise.
1914         * lib/unictype/pr_punctuation.h: Likewise.
1915         * lib/unictype/pr_sentence_terminal.h: Likewise.
1916         * lib/unictype/pr_terminal_punctuation.h: Likewise.
1917         * lib/unictype/pr_unassigned_code_value.h: Likewise.
1918         * lib/unictype/pr_unified_ideograph.h: Likewise.
1919         * lib/unictype/pr_uppercase.h: Likewise.
1920         * lib/unictype/pr_xid_continue.h: Likewise.
1921         * lib/unictype/pr_xid_start.h: Likewise.
1922         * lib/unictype/pr_zero_width.h: Likewise.
1923         * lib/unictype/scripts.h: Likewise.
1924         * lib/unictype/scripts_byname.gperf: Likewise.
1925         * lib/unictype/sy_java_ident.h: Likewise.
1926         * lib/unigbrk/gbrkprop.h: Likewise.
1927         * lib/unilbrk/lbrkprop1.h: Likewise.
1928         * lib/unilbrk/lbrkprop2.h: Likewise.
1929         * lib/unilbrk/lbrktables.h: Likewise.
1930         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
1931         LBP_CP. Implement rule LB30.
1932         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
1933         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
1934         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
1935         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
1936         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
1937         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
1938         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
1939         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
1940         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
1941         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
1942         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
1943         bits instead of 16 bits in the code1 and code2 of each composition
1944         rule.
1945         (uc_composition): Update for Unicode 5.2.0.
1946         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
1947         * lib/uninorm/decomposition-table2.h: Likewise.
1948         * lib/uniwbrk/wbrkprop.h: Likewise.
1949         * tests/unicase/test-cased.c: Likewise.
1950         * tests/unicase/test-ignorable.c: Likewise.
1951         * tests/unicase/test-uc_tolower.c: Likewise.
1952         * tests/unicase/test-uc_totitle.c: Likewise.
1953         * tests/unicase/test-uc_toupper.c: Likewise.
1954         * tests/unictype/test-categ_C.c: Likewise.
1955         * tests/unictype/test-categ_Cf.c: Likewise.
1956         * tests/unictype/test-categ_Cn.c: Likewise.
1957         * tests/unictype/test-categ_L.c: Likewise.
1958         * tests/unictype/test-categ_Ll.c: Likewise.
1959         * tests/unictype/test-categ_Lm.c: Likewise.
1960         * tests/unictype/test-categ_Lo.c: Likewise.
1961         * tests/unictype/test-categ_Lu.c: Likewise.
1962         * tests/unictype/test-categ_M.c: Likewise.
1963         * tests/unictype/test-categ_Mc.c: Likewise.
1964         * tests/unictype/test-categ_Mn.c: Likewise.
1965         * tests/unictype/test-categ_N.c: Likewise.
1966         * tests/unictype/test-categ_Nd.c: Likewise.
1967         * tests/unictype/test-categ_Nl.c: Likewise.
1968         * tests/unictype/test-categ_No.c: Likewise.
1969         * tests/unictype/test-categ_P.c: Likewise.
1970         * tests/unictype/test-categ_Pd.c: Likewise.
1971         * tests/unictype/test-categ_Po.c: Likewise.
1972         * tests/unictype/test-categ_S.c: Likewise.
1973         * tests/unictype/test-categ_Sc.c: Likewise.
1974         * tests/unictype/test-categ_So.c: Likewise.
1975         * tests/unictype/test-ctype_alnum.c: Likewise.
1976         * tests/unictype/test-ctype_alpha.c: Likewise.
1977         * tests/unictype/test-ctype_graph.c: Likewise.
1978         * tests/unictype/test-ctype_lower.c: Likewise.
1979         * tests/unictype/test-ctype_print.c: Likewise.
1980         * tests/unictype/test-ctype_punct.c: Likewise.
1981         * tests/unictype/test-ctype_upper.c: Likewise.
1982         * tests/unictype/test-decdigit.h: Likewise.
1983         * tests/unictype/test-digit.h: Likewise.
1984         * tests/unictype/test-numeric.h: Likewise.
1985         * tests/unictype/test-pr_alphabetic.c: Likewise.
1986         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
1987         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
1988         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
1989         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
1990         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
1991         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
1992         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
1993         * tests/unictype/test-pr_combining.c: Likewise.
1994         * tests/unictype/test-pr_composite.c: Likewise.
1995         * tests/unictype/test-pr_currency_symbol.c: Likewise.
1996         * tests/unictype/test-pr_dash.c: Likewise.
1997         * tests/unictype/test-pr_decimal_digit.c: Likewise.
1998         * tests/unictype/test-pr_deprecated.c: Likewise.
1999         * tests/unictype/test-pr_diacritic.c: Likewise.
2000         * tests/unictype/test-pr_extender.c: Likewise.
2001         * tests/unictype/test-pr_grapheme_base.c: Likewise.
2002         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
2003         * tests/unictype/test-pr_grapheme_link.c: Likewise.
2004         * tests/unictype/test-pr_id_continue.c: Likewise.
2005         * tests/unictype/test-pr_id_start.c: Likewise.
2006         * tests/unictype/test-pr_ideographic.c: Likewise.
2007         * tests/unictype/test-pr_ignorable_control.c: Likewise.
2008         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
2009         * tests/unictype/test-pr_lowercase.c: Likewise.
2010         * tests/unictype/test-pr_numeric.c: Likewise.
2011         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
2012         * tests/unictype/test-pr_punctuation.c: Likewise.
2013         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
2014         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
2015         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
2016         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
2017         * tests/unictype/test-pr_uppercase.c: Likewise.
2018         * tests/unictype/test-pr_xid_continue.c: Likewise.
2019         * tests/unictype/test-pr_xid_start.c: Likewise.
2020         * tests/unictype/test-pr_zero_width.c: Likewise.
2021         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
2022         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
2023         changed behaviour: line breaking is now disallowed between a letter
2024         or '=' and '('.
2025         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
2026         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
2027         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
2028         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
2029         * tests/uniwidth/test-uc_width2.sh: Same updates as in
2030         lib/uniwidth/width.c.
2031         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
2032         without comments, but with the original copyright notice.
2033         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
2034         changes.
2035         * lib/unictype/categ_Cc.h: Likewise.
2036         * lib/unictype/categ_Co.h: Likewise.
2037         * lib/unictype/categ_Cs.h: Likewise.
2038         * lib/unictype/categ_Lt.h: Likewise.
2039         * lib/unictype/categ_Me.h: Likewise.
2040         * lib/unictype/categ_Pc.h: Likewise.
2041         * lib/unictype/categ_Pe.h: Likewise.
2042         * lib/unictype/categ_Pf.h: Likewise.
2043         * lib/unictype/categ_Pi.h: Likewise.
2044         * lib/unictype/categ_Ps.h: Likewise.
2045         * lib/unictype/categ_Sk.h: Likewise.
2046         * lib/unictype/categ_Sm.h: Likewise.
2047         * lib/unictype/categ_Z.h: Likewise.
2048         * lib/unictype/categ_Zl.h: Likewise.
2049         * lib/unictype/categ_Zp.h: Likewise.
2050         * lib/unictype/categ_Zs.h: Likewise.
2051         * lib/unictype/ctype_blank.h: Likewise.
2052         * lib/unictype/ctype_cntrl.h: Likewise.
2053         * lib/unictype/ctype_digit.h: Likewise.
2054         * lib/unictype/ctype_space.h: Likewise.
2055         * lib/unictype/ctype_xdigit.h: Likewise.
2056         * lib/unictype/mirror.h: Likewise.
2057         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
2058         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
2059         * lib/unictype/pr_bidi_block_separator.h: Likewise.
2060         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
2061         * lib/unictype/pr_bidi_common_separator.h: Likewise.
2062         * lib/unictype/pr_bidi_control.h: Likewise.
2063         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
2064         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
2065         * lib/unictype/pr_bidi_pdf.h: Likewise.
2066         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
2067         * lib/unictype/pr_bidi_whitespace.h: Likewise.
2068         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
2069         * lib/unictype/pr_format_control.h: Likewise.
2070         * lib/unictype/pr_hex_digit.h: Likewise.
2071         * lib/unictype/pr_hyphen.h: Likewise.
2072         * lib/unictype/pr_ids_binary_operator.h: Likewise.
2073         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
2074         * lib/unictype/pr_iso_control.h: Likewise.
2075         * lib/unictype/pr_join_control.h: Likewise.
2076         * lib/unictype/pr_left_of_pair.h: Likewise.
2077         * lib/unictype/pr_line_separator.h: Likewise.
2078         * lib/unictype/pr_math.h: Likewise.
2079         * lib/unictype/pr_non_break.h: Likewise.
2080         * lib/unictype/pr_not_a_character.h: Likewise.
2081         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
2082         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
2083         * lib/unictype/pr_other_id_continue.h: Likewise.
2084         * lib/unictype/pr_other_id_start.h: Likewise.
2085         * lib/unictype/pr_other_lowercase.h: Likewise.
2086         * lib/unictype/pr_other_math.h: Likewise.
2087         * lib/unictype/pr_other_uppercase.h: Likewise.
2088         * lib/unictype/pr_paired_punctuation.h: Likewise.
2089         * lib/unictype/pr_paragraph_separator.h: Likewise.
2090         * lib/unictype/pr_pattern_syntax.h: Likewise.
2091         * lib/unictype/pr_pattern_white_space.h: Likewise.
2092         * lib/unictype/pr_private_use.h: Likewise.
2093         * lib/unictype/pr_quotation_mark.h: Likewise.
2094         * lib/unictype/pr_radical.h: Likewise.
2095         * lib/unictype/pr_soft_dotted.h: Likewise.
2096         * lib/unictype/pr_space.h: Likewise.
2097         * lib/unictype/pr_titlecase.h: Likewise.
2098         * lib/unictype/pr_variation_selector.h: Likewise.
2099         * lib/unictype/pr_white_space.h: Likewise.
2100         * lib/unictype/sy_c_ident.h: Likewise.
2101         * lib/unictype/sy_c_whitespace.h: Likewise.
2102         * lib/unictype/sy_java_whitespace.h: Likewise.
2103         * modules/uni*/*: Bump version number of expected libunistring version.
2104         Reported by Simon Josefsson.
2105
2106 2011-01-09  Karl Heuer  <kwzh@gnu.org>
2107
2108         useless-if-before-free: fix typo in --help and make the internal,
2109         automatic version date update process work once again.
2110         --help output contained a NUL character instead of the
2111         backslash-zero that was intended.  Also, the "must lie within
2112         the first 8 lines" line is on line 9, and hence not getting
2113         automatically updated.
2114         * build-aux/useless-if-before-free: Fix the former by adding a
2115         backslash, and the latter by condensing the three lines of what-it-does
2116         to a single line, leaving one line of slack for the future.
2117
2118 2011-01-09  Bruno Haible  <bruno@clisp.org>
2119
2120         uniwidth/width: Fix width of U+1D173..U+1D17A.
2121         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
2122         symbolic_width, output_width_property_test): New functions.
2123         (main): Invoke output_nonspacing_property, output_width_property_test.
2124         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
2125         U+1D173..U+1D17A.
2126         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
2127         1.
2128         * modules/uniwidth/*: Bump version number of expected libunistring
2129         version.
2130         * modules/unilbrk/*: Likewise.
2131
2132 2011-01-08  Bruno Haible  <bruno@clisp.org>
2133
2134         uninorm tests: Preserve copyright of Unicode data file.
2135         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
2136         Mention modifications.
2137
2138 2011-01-08  Bruno Haible  <bruno@clisp.org>
2139
2140         gen-uni-tables: Prepare for Unicode 5.2.0.
2141         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
2142         (debug_output_lbp, output_lbp): Update.
2143
2144 2011-01-08  Bruno Haible  <bruno@clisp.org>
2145
2146         unilbrk: Clarify gen-uni-tables.c code.
2147         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
2148         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
2149         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
2150
2151 2011-01-07  Bruno Haible  <bruno@clisp.org>
2152
2153         strtod: Restore errno when successfully parsing Infinity or NaN.
2154         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
2155         restore the original errno.
2156
2157 2011-01-07  Bruno Haible  <bruno@clisp.org>
2158
2159         remove test: Avoid failure on HP-UX 11.
2160         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
2161
2162 2011-01-07  Bruno Haible  <bruno@clisp.org>
2163
2164         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
2165         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
2166         error code.
2167
2168 2011-01-07  Pádraig Brady <P@draigBrady.com>
2169
2170         ignore-value: fixup comments, and add Eric Blake
2171         as an author since he rewrote the macros.
2172         * lib/ignore-value.h (ignore_value):  State that
2173         we now support aggregates.  Also specify exactly
2174         when the GCC warn_unused_result feature was added.
2175
2176 2011-01-06  Eric Blake  <eblake@redhat.com>
2177
2178         ignore-value: support aggregate types
2179         * lib/ignore-value.h (ignore_value): Provide separate gcc
2180         definition.
2181         * modules/ignore-value-tests: New test module.
2182         * tests/test-ignore-value.c: New test.
2183
2184         maint.mk: improve sc_prohibit_strcmp regex
2185         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
2186         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
2187         definition of STRNEQ.
2188
2189         signal: work around Haiku issue with SIGBUS
2190         * lib/siglist.h: Add comment.
2191         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
2192         strsignal's favoring of SIGSEGV.
2193         * tests/test-signal.c (main): Avoid test failure.
2194         * doc/posix-headers/signal.texi (signal.h): Document the issue.
2195         Reported by Scott McCreary.
2196
2197         maint.mk: add pre-release check to ensure submodule commits are public
2198         * top/maint.mk (public-submodule-commit): New rule.
2199         (submodule-checks): New variable.
2200         (alpha beta stable): Depend on the variable.
2201
2202 2011-01-05  Pádraig Brady <P@draigBrady.com>
2203         and Jim Meyering  <meyering@redhat.com>
2204
2205         ignore-value: make ignore_value more generic; deprecate ignore_ptr
2206         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
2207         (ATTRIBUTE_DEPRECATED): Define.
2208         (_ignore_case): New function.
2209         (ignore_value): New macro, to replace the old function.
2210         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
2211         * modules/ignore-value (Depends-on): Add stdint.
2212
2213 2011-01-04  Eric Blake  <eblake@redhat.com>
2214
2215         doc: regenerate INSTALL
2216         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
2217         @firstparagraphindent support, now that autoconf dropped it.
2218         (INSTALL_PRELUDE): Reinstate old macro.
2219         * doc/install.texi: Resync from autoconf.
2220         * doc/INSTALL: Reflect recent autoconf update.
2221         * doc/INSTALL.ISO: Likewise.
2222         * doc/INSTALL.UTF-8: Likewise.
2223         Reported by Karl Berry.
2224
2225 2011-01-04  Bruce Korb  <address@hidden>
2226
2227         git-version-gen: avoid a sub-shell
2228         * build-aux/git-version-gen: Redirect stderr in `...` via
2229         "exec 2>...", rather than via an added sub-shell.
2230
2231 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
2232
2233         git-version-gen: use (...) rather than sh -c '...'
2234         * build-aux/git-version-gen: Rather than hard-coding a shell's name
2235         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
2236
2237 2011-01-03  Jim Meyering  <meyering@redhat.com>
2238
2239         git-version-gen: convert leading TABs to spaces
2240         * build-aux/git-version-gen: Expand leading TABs.
2241
2242         git-version-gen: handle failed "git rev-list"
2243         * build-aux/git-version-gen: Rather than leaking a "fatal" error
2244         from git and proceeding as if it had succeeded but printed no SHA1
2245         checksums, suppress the diagnostic and handle the failure.
2246         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
2247
2248         git-version-gen: include command name in one more diagnostic
2249         * build-aux/git-version-gen: When the required .tarball-version file
2250         was missing or unreadable, you might see the diagnostic from "cat",
2251         but no trace of the name of the invoking script.  Now, you still see
2252         the diagnostic from cat, but also get one from "git-version-gen: ".
2253         Inspired by a patch from Bruce Korb.
2254
2255         update-copyright: adjust test to match changed code
2256         * tests/test-update-copyright.sh: Change test's expected output
2257         to match new actual output.
2258
2259 2011-01-02  Bruno Haible  <bruno@clisp.org>
2260
2261         getlogin_r: Avoid test failure on HP-UX 11.
2262         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
2263         ERANGE when the second argument is zero.
2264         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
2265         portability problem.
2266
2267 2011-01-02  Bruce Korb  <bkorb@gnu.org>
2268
2269         * build-aux/update-copyright: doc Simon's changes
2270
2271 2011-01-02  Simon Josefsson  <simon@josefsson.org>
2272
2273         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
2274         environment variable.
2275
2276 2011-01-02  Bruno Haible  <bruno@clisp.org>
2277
2278         unigbrk: Avoid gcc warnings.
2279         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
2280         unused variable.
2281         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
2282         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
2283         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
2284         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
2285         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
2286         Change type of first argument to 'const char *'.
2287         (main): Remove unused variable.
2288         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
2289         type of first argument to 'const char *'.
2290         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
2291         Likewise.
2292         (main): Change type of variable 's'.
2293         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
2294         to 'int'.
2295
2296 2011-01-02  Bruno Haible  <bruno@clisp.org>
2297
2298         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
2299         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
2300         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
2301         bug.
2302         * lib/pwrite.c: Undo 2010-12-31 patch.
2303         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
2304
2305 2011-01-02  Bruno Haible  <bruno@clisp.org>
2306
2307         pread: Fix test whether it works.
2308         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
2309
2310 2011-01-02  Bruno Haible  <bruno@clisp.org>
2311
2312         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
2313         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
2314         ends in "6". Don't require a specific month name. Try also the locale
2315         names found on HP-UX 11 and Solaris 7.
2316
2317 2011-01-02  Bruno Haible  <bruno@clisp.org>
2318
2319         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
2320         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
2321         C linkage.
2322         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
2323
2324 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
2325
2326         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
2327         for consistency, since the "cluster" term is not used elsewhere.
2328         * lib/unigbrk.in.h: Update name.
2329         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
2330         * lib/unigbrk/u16-grapheme-next.c: Update name.
2331         * lib/unigbrk/u16-grapheme-prev.c: Update name.
2332         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
2333         * lib/unigbrk/u32-grapheme-next.c: Update name.
2334         * lib/unigbrk/u32-grapheme-prev.c: Update name.
2335         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
2336         * lib/unigbrk/u8-grapheme-next.c: Update name.
2337         * lib/unigbrk/u8-grapheme-prev.c: Update name.
2338         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
2339         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
2340         Suggested by Bruno Haible.
2341
2342 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
2343
2344         Remove module 'u8-grapheme-len' as too redundant with
2345         'u8-grapheme-next'.
2346         * modules/unigbrk/u8-grapheme-len: Delete file.
2347         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
2348         * lib/unigbrk.in.h: Remove prototype for deleted function.
2349         * lib/unigbrk/u8-grapheme-len.c: Delete file.
2350         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
2351
2352         Remove module 'u16-grapheme-len' as too redundant with
2353         'u16-grapheme-next'.
2354         * modules/unigbrk/u16-grapheme-len: Delete file.
2355         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
2356         * lib/unigbrk.in.h: Remove prototype for deleted function.
2357         * lib/unigbrk/u16-grapheme-len.c: Delete file.
2358         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
2359
2360         Remove module 'u32-grapheme-len' as too redundant with
2361         'u32-grapheme-next'.
2362         * modules/unigbrk/u32-grapheme-len: Delete file.
2363         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
2364         * lib/unigbrk.in.h: Remove prototype for deleted function.
2365         * lib/unigbrk/u32-grapheme-len.c: Delete file.
2366         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
2367
2368         Suggested by Bruno Haible.
2369
2370 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
2371
2372         * unigbrk.in.h: Fix typo: "ben" => "been".
2373         Reported by Bruno Haible.
2374
2375 2011-01-01  Jim Meyering  <meyering@redhat.com>
2376
2377         maint: update almost all copyright ranges to include 2011
2378         Run the new "make update-copyright" rule.
2379
2380 2011-01-01  Jim Meyering  <meyering@redhat.com>
2381
2382         maint: update-copyright: exempt doc/INSTALL*
2383         * Makefile (update-copyright): Also exclude doc/INSTALL*,
2384         since they are generated.  Suggested by Bruno Haible.
2385
2386 2011-01-01  Jim Meyering  <meyering@redhat.com>
2387
2388         maint: refine the update-copyright rule
2389         * Makefile (update-copyright): Also exclude any file that includes
2390         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
2391         code that merely generates the comment.
2392
2393 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
2394
2395         New module 'u8-grapheme-len'.
2396         * modules/unigbrk/u8-grapheme-len: New file.
2397         * modules/unigbrk/u8-grapheme-len-tests: New file.
2398         * lib/unigbrk.in.h: Add prototype for new function.
2399         * lib/unigbrk/u8-grapheme-len.c: New file.
2400         * tests/unigbrk/test-u8-grapheme-len.c: New file.
2401
2402         New module 'u16-grapheme-len'.
2403         * modules/unigbrk/u16-grapheme-len: New file.
2404         * modules/unigbrk/u16-grapheme-len-tests: New file.
2405         * lib/unigbrk.in.h: Add prototype for new function.
2406         * lib/unigbrk/u16-grapheme-len.c: New file.
2407         * tests/unigbrk/test-u16-grapheme-len.c: New file.
2408
2409         New module 'u32-grapheme-len'.
2410         * modules/unigbrk/u32-grapheme-len: New file.
2411         * modules/unigbrk/u32-grapheme-len-tests: New file.
2412         * lib/unigbrk.in.h: Add prototype for new function.
2413         * lib/unigbrk/u32-grapheme-len.c: New file.
2414         * tests/unigbrk/test-u32-grapheme-len.c: New file.
2415
2416         New module 'u8-grapheme-next'.
2417         * modules/unigbrk/u8-grapheme-next: New file.
2418         * modules/unigbrk/u8-grapheme-next-tests: New file.
2419         * lib/unigbrk.in.h: Add prototype for new function.
2420         * lib/unigbrk/u8-grapheme-next.c: New file.
2421         * tests/unigbrk/test-u8-grapheme-next.c: New file.
2422
2423         New module 'u16-grapheme-next'.
2424         * modules/unigbrk/u16-grapheme-next: New file.
2425         * modules/unigbrk/u16-grapheme-next-tests: New file.
2426         * lib/unigbrk.in.h: Add prototype for new function.
2427         * lib/unigbrk/u16-grapheme-next.c: New file.
2428         * tests/unigbrk/test-u16-grapheme-next.c: New file.
2429
2430         New module 'u32-grapheme-next'.
2431         * modules/unigbrk/u32-grapheme-next: New file.
2432         * modules/unigbrk/u32-grapheme-next-tests: New file.
2433         * lib/unigbrk.in.h: Add prototype for new function.
2434         * lib/unigbrk/u32-grapheme-next.c: New file.
2435         * tests/unigbrk/test-u32-grapheme-next.c: New file.
2436
2437         New module 'u8-grapheme-prev'.
2438         * modules/unigbrk/u8-grapheme-prev: New file.
2439         * modules/unigbrk/u8-grapheme-prev-tests: New file.
2440         * lib/unigbrk.in.h: Add prototype for new function.
2441         * lib/unigbrk/u8-grapheme-prev.c: New file.
2442         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
2443
2444         New module 'u16-grapheme-prev'.
2445         * modules/unigbrk/u16-grapheme-prev: New file.
2446         * modules/unigbrk/u16-grapheme-prev-tests: New file.
2447         * lib/unigbrk.in.h: Add prototype for new function.
2448         * lib/unigbrk/u16-grapheme-prev.c: New file.
2449         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
2450
2451         New module 'u32-grapheme-prev'.
2452         * modules/unigbrk/u32-grapheme-prev: New file.
2453         * modules/unigbrk/u32-grapheme-prev-tests: New file.
2454         * lib/unigbrk.in.h: Add prototype for new function.
2455         * lib/unigbrk/u32-grapheme-prev.c: New file.
2456         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
2457
2458         New module 'u8-grapheme-breaks'.
2459         * modules/unigbrk/u8-grapheme-breaks: New file.
2460         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
2461         * lib/unigbrk.in.h: Add prototype for new function.
2462         * lib/unigbrk/u8-grapheme-breaks.c: New file.
2463         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
2464
2465         New module 'u16-grapheme-breaks'.
2466         * modules/unigbrk/u16-grapheme-breaks: New file.
2467         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
2468         * lib/unigbrk.in.h: Add prototype for new function.
2469         * lib/unigbrk/u16-grapheme-breaks.c: New file.
2470         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
2471
2472         New module 'u32-grapheme-breaks'.
2473         * modules/unigbrk/u32-grapheme-breaks: New file.
2474         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
2475         * lib/unigbrk.in.h: Add prototype for new function.
2476         * lib/unigbrk/u32-grapheme-breaks.c: New file.
2477         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
2478
2479         New module 'ulc-grapheme-breaks'.
2480         * modules/unigbrk/ulc-grapheme-breaks: New file.
2481         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
2482         * m4/locale-ar.m4: New file.
2483         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
2484         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
2485         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
2486
2487 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
2488
2489         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
2490         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
2491         modified how this file was generated before I initially submitted
2492         the module, but failed to regenerate it.  This meant that several
2493         of the level2 entries were wrong.
2494         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
2495         Remove the division-by-2 that is folded into the table now that
2496         gbrkprop.h has been regenerated properly.  Now -1 entries are
2497         handled correctly.
2498
2499         New module 'unigbrk/uc-gbrk-prop-tests'.
2500         * modules/unigbrk/uc-gbrk-prop-tests: New file.
2501         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
2502         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
2503         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
2504
2505 2011-01-01  Bruno Haible  <bruno@clisp.org>
2506
2507         Avoid use of hexadecimal escapes.
2508         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
2509         instead of hexadecimal escapes.
2510
2511 2011-01-01  Jim Meyering  <meyering@redhat.com>
2512
2513         maint: new rule to update copyright year ranges
2514         * Makefile (update-copyright): New rule.
2515
2516         maint: indent with TABs in Makefile
2517         * Makefile: Expand leading sequences of spaces to TABs
2518
2519         version-etc: update the copyright year it reports
2520         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
2521
2522 2010-12-31  Bruno Haible  <bruno@clisp.org>
2523
2524         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
2525         * lib/isfinite.c (zerof, zerod, zerol): New variables.
2526         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
2527         zero.
2528
2529 2010-12-31  Bruno Haible  <bruno@clisp.org>
2530
2531         pwrite: Work around HP-UX 11.11 bug.
2532         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
2533         works and set REPLACE_PWRITE if not.
2534         * lib/pwrite.c (pwrite): Add an implementation that uses the system
2535         function.
2536         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
2537
2538 2010-12-31  Bruno Haible  <bruno@clisp.org>
2539
2540         pread: Work around HP-UX 11 bugs.
2541         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
2542         and set REPLACE_PREAD if not.
2543         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
2544
2545 2010-12-31  Eric Blake  <eblake@redhat.com>
2546
2547         nl_langinfo: fix YESEXPR on Irix 6.5
2548         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
2549         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
2550         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
2551         it.
2552
2553 2010-12-31  Bruno Haible  <bruno@clisp.org>
2554
2555         iconv: Document HP-UX 11 bug.
2556         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
2557
2558 2010-12-31  Bruno Haible  <bruno@clisp.org>
2559
2560         ldexpl: Fix link error on HP-UX 11.
2561         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
2562         LDEXPL_LIBM, using $ISNANL_LIBM.
2563
2564 2010-12-31  Eric Blake  <eblake@redhat.com>
2565
2566         ftello: avoid compilation failure with SunStudio c89
2567         * lib/ftello.c (ftello): Use lseek, not llseek.
2568
2569         tests: avoid failing coreutils tests on cygwin
2570         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
2571         (create_exe_shims_): Return 0 when skipping.
2572
2573 2010-12-31  Bruno Haible  <bruno@clisp.org>
2574
2575         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
2576         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
2577
2578 2010-12-31  Bruno Haible  <bruno@clisp.org>
2579
2580         waitpid: Fix link error in C++ mode.
2581         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
2582
2583 2010-12-31  Bruno Haible  <bruno@clisp.org>
2584
2585         isnan: Use GCC built-ins when possible.
2586         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
2587         __builtin_isnan.
2588         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
2589         (isnan): Define using GCC built-ins for GCC >= 4.0.
2590
2591 2010-12-31  Bruno Haible  <bruno@clisp.org>
2592
2593         isnand: Fix mistake.
2594         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
2595         __builtin_isnand.
2596
2597 2010-12-31  Bruno Haible  <bruno@clisp.org>
2598
2599         open: Avoid C++ error on HP-UX 11.
2600         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
2601
2602 2010-12-31  Bruno Haible  <bruno@clisp.org>
2603
2604         time_r: Add missing declarations on HP-UX 11.
2605         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
2606         instead of HAVE_LOCALTIME_R.
2607         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
2608         HAVE_LOCALTIME_R always.
2609         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
2610         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
2611         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
2612         HAVE_LOCALTIME_R.
2613         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
2614         * doc/posix-functions/localtime_r.texi: Likewise.
2615
2616 2010-12-29  Eric Blake  <eblake@redhat.com>
2617
2618         mountlist: tweak previous commit
2619         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
2620         Reported by Paul Eggert.
2621
2622         mountlist: fix local drive detection on cygwin
2623         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
2624         that works for cygwin.
2625
2626 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2627
2628         ftoastr, snprintf: ftoastr + snprintf module
2629         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
2630         since the snprintf module now should be good enough here.
2631         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
2632         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
2633         and gl_MODULE_INDICATOR([snprintf]), but the former enables
2634         GNULIB_SNPRINTF only for the test directory, and the latter
2635         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
2636         seems to suffice by itself.
2637
2638 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
2639
2640         alloca: one step towards thread-safety
2641         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
2642         need for a static variable.  All callers changed.  This does not
2643         make the alloca replacement thread-safe, but it's one step.
2644
2645         tests: minor indenting change
2646         * tests/init.sh: Sync from coreutils housekeeping patch
2647         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
2648         to keep lines within 80 columns.
2649
2650 2010-12-28  Jim Meyering  <meyering@redhat.com>
2651
2652         regex: don't infloop on persistent failing calloc
2653         * lib/regexec.c (build_trtable): Return failure indication upon
2654         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
2655         In glibc, this was fixed for version 2.13:
2656         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
2657
2658 2010-12-28  Bruno Haible  <bruno@clisp.org>
2659             Paul Eggert <eggert@cs.ucla.edu>
2660
2661         linkat: Make implementation robust against system behaviour variations.
2662         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
2663         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
2664         way, and to -2 if it needs a generic runtime test.
2665         * lib/linkat.c (solaris_optimized_link_immediate,
2666         solaris_optimized_link_follow): New functions.
2667         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
2668         (check_same_link): Use it.
2669
2670 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
2671
2672         New module 'unigbrk/base'.
2673         * modules/unigbrk/base: New file.
2674         * lib/unigbrk.in.h: New file.
2675
2676         New module 'unigbrk/uc-gbrk-prop'.
2677         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
2678         * modules/unigbrk/uc-gbrk-prop: New file.
2679         * lib/unigbrk/gbrkprop.h: New file.
2680         * lib/unigbrk/uc-gbrk-prop.c: New file.
2681
2682         New module 'unigbrk/uc-is-grapheme-break'.
2683         * modules/unigbrk/uc-is-grapheme-break: New file.
2684         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
2685         * lib/unigbrk/uc-is-grapheme-break.c: New file.
2686         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
2687         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
2688         * tests/unigbrk/GraphemeBreakTest.txt: New file.
2689
2690         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
2691
2692 2010-12-27  Bruno Haible  <bruno@clisp.org>
2693
2694         linkat test: Avoid failure on Solaris 11 2010-11.
2695         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
2696
2697 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2698
2699         utimens: work around glibc rounding bug on more platforms
2700         * lib/utimens.c (fdutimens): Work around rounding bug even if
2701         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
2702         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
2703
2704 2010-12-27  Bruno Haible  <bruno@clisp.org>
2705
2706         select tests: Improve comments.
2707         * tests/test-select.c (do_select): Add comments.
2708
2709 2010-12-27  Bruno Haible  <bruno@clisp.org>
2710
2711         select tests: Safer way of handling timeout.
2712         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
2713         at every invocation.
2714
2715 2010-12-27  Bruno Haible  <bruno@clisp.org>
2716
2717         select tests: Use 'bool' where appropriate.
2718         * tests/test-select.c (connect_to_socket): Change argument type to
2719         'bool'.
2720
2721 2010-12-27  Bruno Haible  <bruno@clisp.org>
2722
2723         select tests: Use existing modules.
2724         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
2725         (configure.ac): Don't test for unistd.h.
2726         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
2727         declared in <unistd.h>.
2728
2729 2010-12-27  Bruno Haible  <bruno@clisp.org>
2730
2731         mbrtowc: Work around a Solaris 7 bug.
2732         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
2733         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
2734         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
2735         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
2736         MBRTOWC_NULL_ARG1_BUG.
2737         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
2738         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
2739         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
2740         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
2741
2742 2010-12-27  Jim Meyering  <meyering@redhat.com>
2743
2744         read-file.c: tweak syntax
2745         * lib/read-file.c (fread_file): Remove space after "*" in function
2746         definitions.
2747
2748 2010-12-27  Bruno Haible  <bruno@clisp.org>
2749
2750         times test: Avoid gcc warnings on OSF/1.
2751         * tests/test-times.c (main): Cast printf arguments from clock_t to
2752         'long int'.
2753
2754 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2755
2756         utimens: work around glibc rounding bug on older Linux kernels
2757         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
2758         on Linux with a glibc whose utimes might not work, then work
2759         around a longstanding glibc bug involving rounding rather than
2760         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
2761         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
2762
2763 2010-12-26  Bruno Haible  <bruno@clisp.org>
2764
2765         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
2766         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
2767         _GL_CXXALIAS_SYS.
2768         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2769
2770 2010-12-26  Bruno Haible  <bruno@clisp.org>
2771
2772         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
2773         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
2774         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
2775         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
2776         looking for the declaration.
2777         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
2778         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
2779         problem.
2780         * doc/posix-functions/inet_pton.texi: Likewise.
2781
2782 2010-12-26  Bruno Haible  <bruno@clisp.org>
2783
2784         arpa_inet: Use the common idioms with C++ support.
2785         * lib/arpa_inet.in.h: Include c++defs.h.
2786         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
2787         support.
2788         * modules/arpa_inet (Depends-on): Add c++defs.
2789         (Makefile.am): Substitute the contents of c++defs.h.
2790         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
2791         * modules/arpa_inet-c++-tests: New file.
2792         * tests/test-arpa_inet-c++.cc: New file.
2793
2794 2010-12-25  Bruno Haible  <bruno@clisp.org>
2795
2796         Fix more C++ link errors on Solaris 8.
2797         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
2798         $(LIB_EACCESS).
2799         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
2800         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
2801         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
2802         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
2803         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
2804
2805 2010-12-25  Bruno Haible  <bruno@clisp.org>
2806
2807         printf-posix: Fix link error when a non-GCC compiler is used.
2808         * lib/stdio.in.h (printf): When not using GCC, override printf
2809         correctly.
2810         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2811
2812 2010-12-25  Bruno Haible  <bruno@clisp.org>
2813
2814         strerror_r-posix: Update doc.
2815         * doc/posix-functions/strerror_r.texi: Update doc about the return
2816         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
2817
2818 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2819
2820         utimens: simplify the logic of the previous change
2821         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
2822         This should not affect whether the test succeeds or fails.
2823
2824         utimens: configure better on hosts with NFS clock skew
2825         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
2826         uses the clock of the local host.  It might use the clock of the
2827         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
2828         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
2829
2830 2010-12-25  Bruno Haible  <bruno@clisp.org>
2831
2832         ptsname test: Avoid failure on Solaris.
2833         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
2834         open a pseudo-terminal; don't use BSD-style ptys.
2835         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
2836
2837 2010-12-25  Bruno Haible  <bruno@clisp.org>
2838
2839         ptsname: Avoid ERANGE failure on some systems.
2840         * lib/ptsname.c (buffer): Increase size.
2841
2842 2010-12-25  Bruno Haible  <bruno@clisp.org>
2843
2844         rename, renameat: Avoid test failures at NFS mounted locations.
2845         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
2846         so that subsequent mkdir calls succeed.
2847
2848 2010-12-25  Bruno Haible  <bruno@clisp.org>
2849
2850         iswblank: Fix C++ link error on Solaris 8.
2851         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
2852         _GL_FUNCDECL_SYS.
2853
2854 2010-12-25  Bruno Haible  <bruno@clisp.org>
2855
2856         unistd: Fix C++ link error on Solaris 8.
2857         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
2858
2859 2010-12-25  Bruno Haible  <bruno@clisp.org>
2860
2861         readlink doc: Mention an old glibc bug.
2862         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
2863
2864 2010-12-25  Bruno Haible  <bruno@clisp.org>
2865
2866         fcntl-h: Fix for use of C++ on glibc systems.
2867         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
2868         also on glibc systems in C++ mode.
2869         Reported by Gary V. Vaughan <gary@gnu.org>.
2870
2871 2010-12-25  Bruno Haible  <bruno@clisp.org>
2872
2873         roundl-ieee: Make it work on OSF/1 5.1 with cc.
2874         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
2875
2876 2010-12-25  Bruno Haible  <bruno@clisp.org>
2877
2878         truncl-ieee: Make it work on OSF/1 5.1 with cc.
2879         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
2880         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
2881         test whether truncl works according to ISO C 99 with IEC 60559.
2882         * m4/truncl-ieee.m4: New file.
2883         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
2884         m4/signbit.m4.
2885         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
2886
2887 2010-12-25  Bruno Haible  <bruno@clisp.org>
2888
2889         ceill-ieee: Make it work on OSF/1 5.1 with cc.
2890         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
2891         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
2892         test whether ceill works according to ISO C 99 with IEC 60559.
2893         * m4/ceill-ieee.m4: New file.
2894         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
2895         m4/signbit.m4.
2896         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
2897
2898 2010-12-25  Bruno Haible  <bruno@clisp.org>
2899
2900         Ensure all prerequisites of <wchar.h> are included.
2901         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
2902         before <wchar.h>.
2903         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
2904         gl_MBRLEN_NUL_RETVAL): Likewise.
2905         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
2906         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
2907         AC_FUNC_MBRTOWC): Likewise.
2908         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
2909         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
2910         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
2911         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
2912         Likewise.
2913         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
2914         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
2915         (gl_WCHAR_H): Improve comments.
2916         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
2917
2918 2010-12-25  Bruno Haible  <bruno@clisp.org>
2919
2920         strtok_r: Fix C syntax error in autoconf macro.
2921         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
2922         characters in test program.
2923
2924 2010-12-24  Bruno Haible  <bruno@clisp.org>
2925
2926         ceil, trunc, round: Fix gcc warnings.
2927         * lib/ceil.c (MIN): Undefine before redefining.
2928         * lib/trunc.c (MIN): Likewise.
2929         * lib/round.c (MIN): Likewise.
2930         Include <math.h> first.
2931
2932 2010-12-24  Bruno Haible  <bruno@clisp.org>
2933
2934         select tests: Avoid failures on OSF/1 5.1.
2935         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
2936         failure of closing the last socket; it may fail with ECONNRESET.
2937
2938 2010-12-24  Eric Blake  <eblake@redhat.com>
2939
2940         stdint: avoid HP-UX 10.20 preprocessor bug
2941         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
2942         than #if.
2943         * tests/test-floor2.c (main): Likewise.
2944         Reported by Peter O'Gorman.
2945
2946         pipe: make obsoletion transition easier
2947         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
2948         * modules/pipe (Files): Include revived file.
2949         (Include): Drop reference, to mirror getdate's behavior.
2950
2951 2010-12-24  Bruno Haible  <bruno@clisp.org>
2952
2953         sys_socket: Hide mismatch of declarations on NonStop Kernel.
2954         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
2955         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
2956         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2957
2958 2010-12-24  Bruno Haible  <bruno@clisp.org>
2959
2960         gethostname: Ensure declaration on NonStop Kernel.
2961         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
2962         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2963
2964 2010-12-24  Bruno Haible  <bruno@clisp.org>
2965
2966         sys_select: Ensure all necessary types on NonStop Kernel.
2967         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
2968         include <sys/time.h>.
2969         * doc/posix-headers/sys_select.texi: Mention that it's missing on
2970         NonStop Kernel.
2971         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2972
2973 2010-12-24  Bruno Haible  <bruno@clisp.org>
2974
2975         sys_select: Remove unneeded include.
2976         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
2977         have <sys/select.h>.
2978
2979 2010-12-24  Bruno Haible  <bruno@clisp.org>
2980
2981         gethostname: Provide a fallback for HOST_NAME_MAX.
2982         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
2983         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
2984         instead.
2985         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2986
2987 2010-12-24  Bruno Haible  <bruno@clisp.org>
2988
2989         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
2990         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
2991         (SA_RESTART): Likewise.
2992         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
2993
2994 2010-12-24  Bruno Haible  <bruno@clisp.org>
2995
2996         signal: Define NSIG.
2997         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
2998         * tests/test-signal.c (nsig): New variable.
2999         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3000
3001 2010-12-24  Bruno Haible  <bruno@clisp.org>
3002
3003         rename, renameat: Avoid test failures on OSF/1 5.1.
3004         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
3005         alternative error codes.
3006         * tests/test-renameat.c (main): Likewise.
3007
3008 2010-12-24  Bruno Haible  <bruno@clisp.org>
3009
3010         *printf: Detect large precisions bug on Solaris 10/SPARC.
3011         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
3012         by Paul Eggert.
3013         * tests/test-snprintf-posix.h (test_function): Add this test code here
3014         too.
3015         * tests/test-sprintf-posix.h (test_function): Likewise.
3016         * tests/test-vasnprintf-posix.c (test_function): Likewise.
3017         * tests/test-vasprintf-posix.c (test_function): Likewise.
3018         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
3019         around by gnulib.
3020         * doc/posix-functions/printf.texi: Likewise.
3021         * doc/posix-functions/snprintf.texi: Likewise.
3022         * doc/posix-functions/sprintf.texi: Likewise.
3023         * doc/posix-functions/vfprintf.texi: Likewise.
3024         * doc/posix-functions/vprintf.texi: Likewise.
3025         * doc/posix-functions/vsnprintf.texi: Likewise.
3026         * doc/posix-functions/vsprintf.texi: Likewise.
3027         * doc/posix-functions/dprintf.texi: Undo last commit.
3028         * doc/posix-functions/vdprintf.texi: Likewise.
3029
3030 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3031
3032         tests: port test-fdutimensat.c to Solaris 8
3033         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
3034         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
3035         On Solaris 8, it fails with errno == ENOSYS, because there is no
3036         futimens (so it can't use the fd), and there is no lutimens (so it
3037         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
3038
3039         vsnprintf: make more consistent with snprintf; doc fixes
3040
3041         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
3042         the byte count return problem was promoted from the snprintf-posix
3043         to the snprintf module.
3044         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
3045         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
3046         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
3047         * tests/test-snprintf.c (main): Check the byte count returned.
3048         * tests/test-vsnprintf.c (main): Likewise.
3049
3050 2010-12-23  Eric Blake  <eblake@redhat.com>
3051
3052         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
3053         * modules/sigpipe (License): Relax license.
3054
3055 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3056
3057         doc: document Solaris printf bug with large float precisions
3058         * doc/posix-functions/dprintf.texi (dprintf):
3059         * doc/posix-functions/fprintf.texi (fprintf):
3060         * doc/posix-functions/printf.texi (printf):
3061         * doc/posix-functions/snprintf.texi (snprintf):
3062         * doc/posix-functions/sprintf.texi (sprintf):
3063         * doc/posix-functions/vdprintf.texi (vdprintf):
3064         * doc/posix-functions/vfprintf.texi (vfprintf):
3065         * doc/posix-functions/vprintf.texi (vprintf):
3066         * doc/posix-functions/vsnprintf.texi (vsnprintf):
3067         * doc/posix-functions/vsprintf.texi (vsprintf):
3068         Mention that these functions mishandle large floating point
3069         precisions on Solaris 10.  The same bug is also present in Solaris
3070         8, and I assume earlier.  This causes "cd gnulib-tests; make
3071         check" to fail on Solaris 8 (and I assume, later) when building
3072         the latest coreutils, in test-vasprintf-posix's call to
3073         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
3074         the wide flavors (e.g., wprintf) so this patch just updates the
3075         documentation for the narrow ones.
3076
3077         test-posixtm.c: add two tests
3078         * tests/test-posixtm.c: Add two tests, to highlight the
3079         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
3080         around this bug; this is merely to document it.
3081
3082 2010-12-22  Bruno Haible  <bruno@clisp.org>
3083
3084         getlogin_r: Work around portability problem on OSF/1.
3085         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
3086         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
3087         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
3088         test for a truncated result.
3089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
3090         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
3091         * modules/getlogin_r (Depends-on): Add memchr.
3092         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
3093
3094 2010-12-22  Bruno Haible  <bruno@clisp.org>
3095
3096         ptsname: Avoid test failure on OSF/1 5.1.
3097         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
3098         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
3099         (same_slave): New function.
3100         (main): Use it to compare ptsname's result with the expected file name.
3101
3102 2010-12-22  Bruno Haible  <bruno@clisp.org>
3103
3104         Port extended stdio modules to HP NonStop Kernel.
3105         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
3106         macros.
3107         * lib/fbufmode.c: Update comments.
3108         * lib/fflush.c: Likewise.
3109         * lib/fpurge.c: Likewise.
3110         * lib/freadable.c: Likewise.
3111         * lib/freadahead.c: Likewise.
3112         * lib/freading.c: Likewise.
3113         * lib/freadptr.c: Likewise.
3114         * lib/freadseek.c: Likewise.
3115         * lib/fseeko.c: Likewise.
3116         * lib/fseterr.c: Likewise.
3117         * lib/fwritable.c: Likewise.
3118         * lib/fwriting.c: Likewise.
3119         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
3120
3121 2010-12-22  Bruno Haible  <bruno@clisp.org>
3122
3123         ttyname_r: Work around bug on OSF/1 5.1.
3124         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
3125         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
3126         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
3127         present.
3128         * lib/ttyname_r.c (ttyname_r): Update comments.
3129
3130 2010-12-22  Bruno Haible  <bruno@clisp.org>
3131
3132         round: Implement result sign according to IEEE 754.
3133         * lib/round.c (MIN, MINUS_ZERO): New macros.
3134         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
3135         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
3136         * tests/test-round-ieee.c (main): Likewise.
3137         * tests/test-roundl-ieee.c (main): Likewise.
3138
3139         trunc: Implement result sign according to IEEE 754.
3140         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
3141         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
3142         * tests/test-trunc2.c: Include minus-zero.h.
3143         (MINUS_ZERO): New macro.
3144         (trunc_reference): Keep in sync with lib/trunc.c.
3145         * tests/test-truncf2.c: Include minus-zero.h.
3146         (MINUS_ZERO): New macro.
3147         (truncf_reference): Keep in sync with lib/trunc.c.
3148         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
3149         * tests/test-trunc-ieee.c (main): Likewise.
3150         * tests/test-truncl-ieee.c (main): Likewise.
3151
3152         ceil: Implement result sign according to IEEE 754.
3153         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
3154         (FUNC): Return -0.0 for -1 < x < 0.
3155         * tests/test-ceil2.c: Include minus-zero.h.
3156         (MINUS_ZERO): New macro.
3157         (ceil_reference): Keep in sync with lib/ceil.c.
3158         * tests/test-ceilf2.c: Include minus-zero.h.
3159         (MINUS_ZERO): New macro.
3160         (ceilf_reference): Keep in sync with lib/ceil.c.
3161         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
3162         * tests/test-ceil-ieee.c (main): Likewise.
3163         * tests/test-ceill-ieee.c (main): Likewise.
3164
3165         floor: Implement result sign according to IEEE 754.
3166         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
3167         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
3168         * tests/test-floorf2.c (floorf_reference): Likewise.
3169         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
3170         * tests/test-floor-ieee.c (main): Likewise.
3171         * tests/test-floorl-ieee.c (main): Likewise.
3172
3173 2010-12-22  Bruno Haible  <bruno@clisp.org>
3174
3175         getaddrinfo: Update doc.
3176         * doc/posix-functions/gai_strerror.texi: Return type is also different
3177         on AIX and HP-UX.
3178
3179 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3180
3181         getaddrinfo, inet_ntop: Update doc for Solaris.
3182         * doc/posix-functions/gai_strerror.texi: Return type is also an
3183         issue on Solaris 9 and earlier.
3184         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
3185         on Solaris 10 and earlier.
3186
3187 2010-12-21  Bruno Haible  <bruno@clisp.org>
3188
3189         New module 'roundl-ieee'.
3190         * modules/roundl-ieee: New file.
3191         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
3192         test whether roundl works according to ISO C 99 with IEC 60559.
3193         * m4/roundl-ieee.m4: New file.
3194         * modules/roundl-ieee-tests: New file.
3195         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
3196         * tests/test-roundl.c (main): Remove signbit tests.
3197         * modules/roundl-tests (Depends-on): Remove signbit.
3198         * doc/posix-functions/roundl.texi: Mention the new module.
3199
3200 2010-12-21  Bruno Haible  <bruno@clisp.org>
3201
3202         New module 'truncl-ieee'.
3203         * modules/truncl-ieee: New file.
3204         * modules/truncl-ieee-tests: New file.
3205         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
3206         * tests/test-truncl.c (main): Remove signbit tests.
3207         * modules/truncl-tests (Depends-on): Remove signbit.
3208         * doc/posix-functions/truncl.texi: Mention the new module.
3209
3210 2010-12-21  Bruno Haible  <bruno@clisp.org>
3211
3212         New module 'ceill-ieee'.
3213         * modules/ceill-ieee: New file.
3214         * modules/ceill-ieee-tests: New file.
3215         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
3216         * tests/test-ceill.c (main): Remove signbit tests.
3217         * modules/ceill-tests (Depends-on): Remove signbit.
3218         * doc/posix-functions/ceill.texi: Mention the new module.
3219
3220 2010-12-21  Bruno Haible  <bruno@clisp.org>
3221
3222         New module 'floorl-ieee'.
3223         * modules/floorl-ieee: New file.
3224         * modules/floorl-ieee-tests: New file.
3225         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
3226         * tests/test-floorl.c (main): Remove signbit tests.
3227         * modules/floorl-tests (Depends-on): Remove signbit.
3228         * doc/posix-functions/floorl.texi: Mention the new module.
3229
3230 2010-12-21  Bruno Haible  <bruno@clisp.org>
3231
3232         New module 'round-ieee'.
3233         * modules/round-ieee: New file.
3234         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
3235         whether round works according to ISO C 99 with IEC 60559.
3236         * m4/round-ieee.m4: New file.
3237         * modules/round-ieee-tests: New file.
3238         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
3239         * tests/test-round1.c (main): Remove signbit tests.
3240         * modules/round-tests (Depends-on): Remove 'signbit'.
3241         * doc/posix-functions/round.texi: Mention the new module.
3242
3243 2010-12-21  Bruno Haible  <bruno@clisp.org>
3244
3245         New module 'trunc-ieee'.
3246         * modules/trunc-ieee: New file.
3247         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
3248         whether trunc works according to ISO C 99 with IEC 60559.
3249         * m4/trunc-ieee.m4: New file.
3250         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
3251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
3252         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
3253         * modules/trunc-ieee-tests: New file.
3254         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
3255         * tests/test-trunc1.c (main): Remove signbit tests.
3256         * modules/trunc-tests (Depends-on): Remove 'signbit'.
3257         * doc/posix-functions/trunc.texi: Mention the new module.
3258
3259 2010-12-21  Bruno Haible  <bruno@clisp.org>
3260
3261         New module 'ceil-ieee'.
3262         * modules/ceil-ieee: New file.
3263         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
3264         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
3265         ISO C 99 with IEC 60559.
3266         * m4/ceil-ieee.m4: New file.
3267         * modules/ceil (Files): Add lib/ceil.c.
3268         (Depends-on): Add 'float'.
3269         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
3270         * lib/math.in.h (ceil): New declaration.
3271         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
3272         REPLACE_CEIL.
3273         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
3274         * modules/ceil-ieee-tests: New file.
3275         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
3276         * tests/test-math-c++.cc: Check the signature of 'ceil'.
3277         * doc/posix-functions/ceil.texi: Mention the new module.
3278
3279 2010-12-21  Bruno Haible  <bruno@clisp.org>
3280
3281         New module 'floor-ieee'.
3282         * modules/floor-ieee: New file.
3283         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
3284         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
3285         ISO C 99 with IEC 60559.
3286         * m4/floor-ieee.m4: New file.
3287         * modules/floor (Files): Add lib/floor.c.
3288         (Depends-on): Add 'float'.
3289         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
3290         * lib/math.in.h (floor): New declaration.
3291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
3292         REPLACE_FLOOR.
3293         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
3294         * modules/floor-ieee-tests: New file.
3295         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
3296         * tests/test-math-c++.cc: Check the signature of 'floor'.
3297         * doc/posix-functions/floor.texi: Mention the new module.
3298
3299 2010-12-21  Bruno Haible  <bruno@clisp.org>
3300
3301         New module 'roundf-ieee'.
3302         * modules/roundf-ieee: New file.
3303         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
3304         test whether roundf works according to ISO C 99 with IEC 60559.
3305         * m4/roundf-ieee.m4: New file.
3306         * modules/roundf-ieee-tests: New file.
3307         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
3308         * tests/test-roundf1.c (main): Remove signbit tests.
3309         * modules/roundf-tests (Depends-on): Remove 'signbit'.
3310         * doc/posix-functions/roundf.texi: Mention the new module.
3311
3312 2010-12-21  Bruno Haible  <bruno@clisp.org>
3313
3314         New module 'truncf-ieee'.
3315         * modules/truncf-ieee: New file.
3316         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
3317         test whether truncf works according to ISO C 99 with IEC 60559.
3318         * m4/truncf-ieee.m4: New file.
3319         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
3320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
3321         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
3322         * modules/truncf-ieee-tests: New file.
3323         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
3324         * tests/test-truncf1.c (main): Remove signbit tests.
3325         * modules/truncf-tests (Depends-on): Remove 'signbit'.
3326         * doc/posix-functions/truncf.texi: Mention the new module.
3327
3328 2010-12-21  Bruno Haible  <bruno@clisp.org>
3329
3330         New module 'ceilf-ieee'.
3331         * modules/ceilf-ieee: New file.
3332         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
3333         test whether ceilf works according to ISO C 99 with IEC 60559.
3334         * m4/ceilf-ieee.m4: New file.
3335         * modules/ceilf-ieee-tests: New file.
3336         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
3337         * tests/test-ceilf1.c (main): Remove signbit tests.
3338         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
3339         * doc/posix-functions/ceilf.texi: Mention the new module.
3340
3341 2010-12-21  Bruno Haible  <bruno@clisp.org>
3342
3343         New module 'floorf-ieee'.
3344         * modules/floorf-ieee: New file.
3345         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
3346         test whether floorf works according to ISO C 99 with IEC 60559.
3347         * m4/floorf-ieee.m4: New file.
3348         * modules/floorf-ieee-tests: New file.
3349         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
3350         * tests/test-floorf1.c (main): Remove signbit tests.
3351         * modules/floorf-tests (Depends-on): Remove 'signbit'.
3352         * doc/posix-functions/floorf.texi: Mention the new module.
3353
3354 2010-12-21  Bruno Haible  <bruno@clisp.org>
3355
3356         Support for minus zero in autoconf macros.
3357         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
3358         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
3359         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
3360         * tests/minus-zero.h: Update comments.
3361
3362 2010-12-21  Bruno Haible  <bruno@clisp.org>
3363
3364         Tests for module 'ceil'.
3365         * modules/ceil-tests: New file.
3366         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
3367         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
3368
3369 2010-12-21  Bruno Haible  <bruno@clisp.org>
3370
3371         Tests for module 'floor'.
3372         * modules/floor-tests: New file.
3373         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
3374         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
3375
3376 2010-12-21  Bruno Haible  <bruno@clisp.org>
3377
3378         math: Fix indentation.
3379         * lib/math.in.h (floorf): Fix indentation.
3380
3381 2010-12-21  Bruno Haible  <bruno@clisp.org>
3382
3383         Fix cross-compilation guesses on Solaris.
3384         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
3385         not match "solaris2.10".
3386         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
3387         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
3388         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
3389
3390 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3391
3392         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
3393         This fixes a problem observed with the latest coreutils snapshot
3394         that caused a test to fail on Solaris 8.  src/csplit.c's call
3395         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
3396         earlier, instead of returning the number of bytes that would have
3397         been generated; this causes csplit to incorrectly report memory
3398         exhaustion.
3399         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
3400         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
3401         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
3402         comments to match.
3403         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
3404         Fix typo in matching older versions of Solaris: "solaris2.10"
3405         is matched by the shell pattern "solaris2.[0-9]*".  This matters
3406         only for guessing while cross-compiling.
3407         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
3408
3409 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
3410
3411         ftoastr: fix comment again
3412         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
3413         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
3414         Also, simplify example a bit by using flags = 0.
3415
3416 2010-12-20  Bruno Haible  <bruno@clisp.org>
3417
3418         round*, trunc*: Update documentation regarding glibc.
3419         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
3420         * doc/posix-functions/round.texi: Likewise.
3421         * doc/posix-functions/roundl.texi: Likewise.
3422         * doc/posix-functions/truncf.texi: Likewise.
3423         * doc/posix-functions/trunc.texi: Likewise.
3424         * doc/posix-functions/truncl.texi: Likewise.
3425
3426 2010-12-20  Bruno Haible  <bruno@clisp.org>
3427
3428         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
3429         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
3430         * doc/posix-functions/round.texi: Likewise.
3431         * doc/posix-functions/roundl.texi: Likewise.
3432
3433 2010-12-20  Bruno Haible  <bruno@clisp.org>
3434
3435         ttyname_r: Add missing declaration on HP-UX 11.
3436         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
3437         HAVE_TTYNAME_R.
3438         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
3439         declared. Set HAVE_TTYNAME_R always.
3440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3441         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
3442         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
3443         HAVE_TTYNAME_R.
3444         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
3445
3446 2010-12-20  Bruno Haible  <bruno@clisp.org>
3447
3448         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
3449         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
3450         * doc/posix-functions/getlogin_r.texi: Likewise.
3451         * tests/test-getlogin.c: Include <errno.h>.
3452         (main): Avoid test failure on HP-UX 11.11.
3453         * tests/test-getlogin_r.c (main): Likewise.
3454
3455 2010-12-20  Bruno Haible  <bruno@clisp.org>
3456
3457         getlogin_r: Add missing declaration on HP-UX 11.
3458         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
3459         declared also when it exists as a function.
3460         * doc/posix-functions/getlogin_r.texi: Document this workaround.
3461
3462 2010-12-20  Bruno Haible  <bruno@clisp.org>
3463
3464         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
3465         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
3466         through wcrtomb.
3467
3468 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3469
3470         ftoastr: fix comment
3471         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
3472         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
3473
3474 2010-12-19  Bruno Haible  <bruno@clisp.org>
3475
3476         isnan: Ensure it is a macro.
3477         * lib/math.in.h (isnan): Define as a macro if not already a macro.
3478         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
3479         Solaris.
3480
3481 2010-12-19  Bruno Haible  <bruno@clisp.org>
3482
3483         ldexpl test: Fix link error on OSF/1 5.1.
3484         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
3485
3486 2010-12-19  Bruno Haible  <bruno@clisp.org>
3487
3488         wctype: Make it work in C++ mode on OSF/1 5.1.
3489         * lib/wctype.in.h (iswblank): Declare but not define here.
3490         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
3491         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
3492         * modules/wctype (Files): Add lib/iswblank.c.
3493
3494 2010-12-19  Bruno Haible  <bruno@clisp.org>
3495
3496         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
3497         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
3498         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
3499
3500 2010-12-19  Bruno Haible  <bruno@clisp.org>
3501
3502         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
3503         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
3504         _POSIX_PII_SOCKET.
3505         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
3506         * doc/posix-functions/recvfrom.texi: Likewise.
3507         * doc/posix-functions/send.texi: Likewise.
3508         * doc/posix-functions/sendto.texi: Likewise.
3509
3510 2010-12-19  Bruno Haible  <bruno@clisp.org>
3511
3512         tcgetsid: Add missing declaration on OSF/1 5.1.
3513         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
3514         HAVE_TCGETSID.
3515         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
3516         Don't set HAVE_TCGETSID.
3517         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
3518         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
3519         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
3520         HAVE_TCGETSID.
3521         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
3522
3523 2010-12-19  Bruno Haible  <bruno@clisp.org>
3524
3525         stdio: Fix problem with popen() declaration on OSF/1 5.1.
3526         * lib/stdio.in.h: During the include_next statement, let recursive
3527         includes of this file include only the system header file.
3528
3529 2010-12-19  Bruno Haible  <bruno@clisp.org>
3530
3531         iconv_open: Fix regression from 2010-12-04.
3532         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
3533         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
3534
3535 2010-12-19  Bruno Haible  <bruno@clisp.org>
3536
3537         stdbool test: Avoid a gcc warning.
3538         * tests/test-stdbool.c (main): Fail if e1 is false.
3539         Reported by Jim Meyering.
3540
3541 2010-12-19  Jim Meyering  <meyering@redhat.com>
3542
3543         setenv: restore to working order
3544         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
3545         mistakenly removed.
3546         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
3547         HAVE_SETENV.
3548         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
3549         HAVE_SETENV.
3550
3551 2010-12-19  Bruno Haible  <bruno@clisp.org>
3552
3553         Document some different function declarations on OSF/1 5.1.
3554         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
3555         * doc/posix-functions/inet_ntop.texi: Likewise.
3556         * doc/posix-functions/gethostname.texi: Likewise.
3557         * lib/unistd.in.h (gethostname): Update comment.
3558
3559 2010-12-19  Bruno Haible  <bruno@clisp.org>
3560
3561         doc: Mention vasprintf-posix module.
3562         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
3563         the 'vasprintf-posix' module.
3564         * doc/glibc-functions/vasprintf.texi: Likewise.
3565
3566 2010-12-19  Bruno Haible  <bruno@clisp.org>
3567
3568         unsetenv: Add missing declaration on OSF/1 5.1.
3569         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
3570         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
3571         Don't set HAVE_UNSETENV. In the test program, set _BSD.
3572         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
3573         not HAVE_UNSETENV.
3574         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
3575         HAVE_UNSETENV.
3576         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
3577
3578 2010-12-19  Bruno Haible  <bruno@clisp.org>
3579
3580         setenv: Add missing declaration on OSF/1 5.1.
3581         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
3582         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
3583         declared. Don't set HAVE_SETENV.
3584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
3585         not HAVE_SETENV.
3586         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
3587         HAVE_SETENV.
3588         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
3589
3590 2010-12-19  Bruno Haible  <bruno@clisp.org>
3591
3592         nl_langinfo tests: Avoid gcc warning.
3593         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
3594
3595 2010-12-19  Bruno Haible  <bruno@clisp.org>
3596
3597         mknod: Avoid error in C++ mode on OSF/1 with GCC.
3598         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
3599         _GL_CXXALIAS_SYS.
3600
3601 2010-12-19  Bruno Haible  <bruno@clisp.org>
3602
3603         stdbool: Relax test.
3604         * tests/test-stdbool.c (e): Don't require that casts from a variable's
3605         address to 'bool' work in static initializer, for compilers other than
3606         GCC.
3607
3608 2010-12-19  Bruno Haible  <bruno@clisp.org>
3609
3610         ftello: Add missing declaration on OSF/1 5.1.
3611         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
3612         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
3613         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
3614         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
3615         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
3616
3617 2010-12-19  Bruno Haible  <bruno@clisp.org>
3618
3619         fseeko: Add missing declaration on OSF/1 5.1.
3620         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
3621         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
3622         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
3623         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
3624         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
3625
3626 2010-12-19  Bruno Haible  <bruno@clisp.org>
3627
3628         fchdir: Add missing declaration on OSF/1 5.1.
3629         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
3630         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
3631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
3632         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
3633         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
3634
3635 2010-12-19  Bruno Haible  <bruno@clisp.org>
3636
3637         relocatable-prog-wrapper: Separate from relocatable-prog.
3638         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
3639         uninstall-relocwrapper rule here.
3640         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
3641         Reported by Ian Beckwith <ianb@erislabs.net>.
3642
3643 2010-12-19  Bruno Haible  <bruno@clisp.org>
3644
3645         unistr/u8-mbsnlen: Add missing dependency.
3646         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
3647         Reported by Ian Beckwith <ianb@erislabs.net>.
3648
3649 2010-12-19  Bruno Haible  <bruno@clisp.org>
3650
3651         iconv: Make it possible again to use this module without 'iconv-h'.
3652         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
3653         if it is not defined.
3654         Reported by Ian Beckwith <ianb@erislabs.net>.
3655
3656 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3657
3658         acl: port to Solaris 8 when copying from tmpfs to ufs
3659         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
3660         error number.  Problem observed on Solaris 8 with latest
3661         coreutils, with "mv A B", where A is on a tmpfs file system and B
3662         is on a ufs file system.  This caused coreutils' mv/part-symlink
3663         test to fail.
3664
3665         tests: set fail=0 at start
3666         * tests/init.sh (setup_): Move fail=0 initialization here ...
3667         (mktempd_): ... from here, so that tests can rely on fail being
3668         set to 0 initially.  This fixes a problem in coreutils; see:
3669         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
3670
3671 2010-12-18  Bruno Haible  <bruno@clisp.org>
3672
3673         memmem-simple: Stylistic changes.
3674         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
3675         Fix preprocessor directive indentation.
3676
3677 2010-12-15  Pádraig Brady <P@draigBrady.com>
3678
3679         memmem, memmem-simple: reorganize and expand empty needle check
3680         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
3681         functional checks to memmem-simple so that one has a fully functional
3682         memmem by using just this module.
3683         Restrict the performance only check to the memmem module.
3684         Also expand the empty needle check to ensure the correct
3685         pointer is returned, not just a non NULL pointer.
3686         * doc/glibc-functions/memmem.texi: Rearrange the portability
3687         documentation to correlate with the rearranged checks.
3688         Clarify exactly how the memmem and memmem-simple modules
3689         relate to each other.
3690
3691 2010-12-15  Pádraig Brady <P@draigBrady.com>
3692             Bruno Haible  <bruno@clisp.org>
3693
3694         Improve cross-compilation guesses for uClibc.
3695         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
3696         that uClibc does not have the glibc bug.
3697         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
3698         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
3699
3700 2010-12-14  Eric Blake  <eblake@redhat.com>
3701
3702         configmake: provide fallbacks for oldest supported autotools
3703         * m4/configmake.m4: New file.
3704         * modules/configmake (Files): Ship it.
3705         (configure.ac): Use it to guarantee fallbacks.
3706
3707 2010-12-13  Pádraig Brady <P@draigBrady.com>
3708
3709         read-file: Improve handling of large files
3710         * lib/read-file.c (fread_file): Minimize realloc()s
3711         for regular files, and better manage sizes around SIZE_MAX.
3712
3713 2010-12-13  Eric Blake  <eblake@redhat.com>
3714
3715         cloexec, fcntl: relax license
3716         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
3717         consent from all contributors.
3718         * modules/fcntl (License): Likewise.
3719
3720 2010-12-10  Bruno Haible  <bruno@clisp.org>
3721
3722         Tests for module 'pipe-posix'.
3723         * modules/pipe-posix-tests: New file.
3724         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
3725
3726 2010-12-10  Bruno Haible  <bruno@clisp.org>
3727
3728         pipe-posix: Make it work in C++ mode.
3729         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
3730         (pipe): Use common idiom, not a macro definition.
3731         * lib/pipe.c: New file.
3732         * m4/pipe.m4: New file.
3733         * modules/pipe-posix (Description): Enhance.
3734         (Files): Add lib/pipe.c, m4/pipe.m4.
3735         (configure.ac): Invoke gl_FUNC_PIPE.
3736         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
3737         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
3738         * tests/test-unistd-c++.cc: Check the signature of pipe.
3739
3740 2010-12-10  Bruno Haible  <bruno@clisp.org>
3741
3742         Rename module 'pipe' to 'spawn-pipe'.
3743         * modules/spawn-pipe: New file, renamed from modules/pipe.
3744         (Files, configure.ac, Makefile.am): Update.
3745         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
3746         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
3747         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
3748         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
3749         "spawn-pipe.h" instead of "pipe.h".
3750         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
3751         to gl_SPAWN_PIPE.
3752         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
3753         (Files, Makefile.am): Update.
3754         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
3755         Update.
3756         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
3757         Include "spawn-pipe.h" instead of "pipe.h".
3758         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
3759         * lib/javacomp.c: Likewise.
3760         * lib/javaversion.c: Likewise.
3761         * lib/pipe-filter-gi.c: Likewise.
3762         * lib/pipe-filter-ii.c: Likewise.
3763         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
3764         * modules/javacomp (Depends-on): Likewise.
3765         * modules/javaversion (Depends-on): Likewise.
3766         * modules/pipe-filter-gi (Depends-on): Likewise.
3767         * modules/pipe-filter-ii (Depends-on): Likewise.
3768         * MODULES.html.sh (Executing programs): Update.
3769         * NEWS: Mention the change.
3770
3771 2010-12-10  Eric Blake  <eblake@redhat.com>
3772
3773         pipe-posix: new module
3774         * modules/pipe-posix: New file.
3775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
3776         (gl_UNISTD_H): Check for declaration.
3777         * modules/unistd (Makefile.am): Substitute it.
3778         * lib/unistd.in.h (pipe): Provide it for mingw.
3779         * doc/posix-functions/pipe.texi (pipe): Update documentation.
3780         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
3781
3782 2010-12-07  Bruno Haible  <bruno@clisp.org>
3783
3784         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
3785         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
3786         u8_strcmp_gnu.
3787         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
3788
3789 2010-12-06  Bruno Haible  <bruno@clisp.org>
3790
3791         Update internal documentation.
3792         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
3793
3794 2010-12-04  Bruno Haible  <bruno@clisp.org>
3795
3796         Put more information about failed tests into the test return codes.
3797         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
3798         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
3799         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
3800         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
3801         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
3802         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
3803         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
3804         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
3805         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
3806         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
3807         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
3808         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
3809         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
3810         * m4/stdint.m4 (gl_STDINT_H): Likewise.
3811         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
3812         returns a bit mask.
3813         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
3814         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
3815         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
3816         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
3817         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
3818         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
3819         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
3820         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
3821         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
3822         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
3823         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
3824         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
3825         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
3826         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
3827         * m4/link.m4 (gl_FUNC_LINK): Likewise.
3828         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3829         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
3830         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
3831         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
3832         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
3833         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
3834         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
3835         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
3836         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
3837         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
3838         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
3839         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
3840         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
3841         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
3842         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
3843         gl_PRINTF_PRECISION): Likewise.
3844         * m4/regex.m4 (gl_REGEX): Likewise.
3845         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3846         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3847         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
3848         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
3849         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
3850         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
3851         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
3852         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
3853         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
3854         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
3855         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
3856         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
3857         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
3858         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
3859         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3860         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
3861         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
3862         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
3863         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3864         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
3865         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
3866         enumerated value.
3867         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
3868
3869 2010-12-04  Bruno Haible  <bruno@clisp.org>
3870
3871         Update for Solaris 11 2010-11.
3872         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
3873         Express, released in November 2010.
3874
3875 2010-12-04  Bruno Haible  <bruno@clisp.org>
3876
3877         nproc: Relax license.
3878         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
3879         and Paul Eggert.
3880         Requested by Ludovic Courtès <ludo@gnu.org>.
3881
3882 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
3883
3884         utimecmp: fine-grained src to nearby coarse-grained dest
3885
3886         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
3887         and the source is on a file system with higher-resolution time
3888         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
3889         not work, and the time stamps are close together, the algorithm to
3890         determine the exact resolution from the read-back mtime was buggy:
3891         it had a "!=" where it should have had an "==".  This bug has been
3892         in the code ever since it was introduced to gnulib.
3893         Problem reported by Dan Jacobson in
3894         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
3895
3896 2010-11-30  Bruno Haible  <bruno@clisp.org>
3897
3898         strerror_r-posix: Fix autoconf test.
3899         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
3900
3901 2010-11-28  Bruno Haible  <bruno@clisp.org>
3902             Paul Eggert  <eggert@cs.ucla.edu>
3903
3904         Tests for module 'getdomainname'.
3905         * modules/getdomainname-tests: New file.
3906         * tests/test-getdomainname.c: New file, based on
3907         tests/test-gethostname.c.
3908
3909 2010-11-28  Bruno Haible  <bruno@clisp.org>
3910             Paul Eggert  <eggert@cs.ucla.edu>
3911
3912         getdomainname: Use the system function when possible.
3913         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
3914         (getdomainname): Replace if needed. Provide the declaration if it is
3915         missing. Don't use _GL_CXXALIAS_SYS_CAST.
3916         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
3917         (getdomainname): When the system has getdomainname, call the system
3918         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
3919         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
3920         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
3921         found in libnsl. Look for the declaration also in <netdb.h>. Replace
3922         the function if its second argument is of type 'int' or if it is found
3923         in libnsl.
3924         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
3925         <sys/systeminfo.h> and sysinfo().
3926         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
3927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
3928         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
3929         HAVE_GETDOMAINNAME.
3930         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
3931         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
3932         * doc/glibc-functions/getdomainname.texi: Document the problems with
3933         the getdomainname declaration.
3934
3935 2010-11-28  Bruno Haible  <bruno@clisp.org>
3936
3937         sys_socket: Ensure ss_family field on AIX.
3938         * lib/sys_socket.in.h (ss_family): New macro definition.
3939         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
3940         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
3941         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
3942         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
3943         * modules/sys_socket (Makefile.am): Substitute
3944         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
3945         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
3946
3947 2010-11-27  Bruno Haible  <bruno@clisp.org>
3948
3949         readline: Improve configure output.
3950         * m4/readline.m4 (gl_FUNC_READLINE): Make the
3951         "checking for readline..." result understandable.
3952
3953 2010-11-27  Bruno Haible  <bruno@clisp.org>
3954
3955         *printf-posix: Detect a bug on Solaris 10/x86.
3956         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
3957         for floating-point output.
3958         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
3959         directive.
3960         * tests/test-snprintf-posix.h (test_function): Likewise.
3961         * tests/test-sprintf-posix.h (test_function): Likewise.
3962         * tests/test-vasprintf-posix.c (test_function): Likewise.
3963         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
3964         * doc/posix-functions/printf.texi: Likewise.
3965         * doc/posix-functions/snprintf.texi: Likewise.
3966         * doc/posix-functions/sprintf.texi: Likewise.
3967         * doc/posix-functions/vfprintf.texi: Likewise.
3968         * doc/posix-functions/vprintf.texi: Likewise.
3969         * doc/posix-functions/vsnprintf.texi: Likewise.
3970         * doc/posix-functions/vsprintf.texi: Likewise.
3971         * doc/glibc-functions/obstack_printf.texi: Likewise.
3972         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
3973
3974 2010-11-27  Bruno Haible  <bruno@clisp.org>
3975
3976         Fix link error when module libunistring-optional is in use.
3977         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
3978         * modules/striconveha-tests (Makefile.am): Likewise.
3979
3980 2010-11-27  Bruno Haible  <bruno@clisp.org>
3981
3982         regex: Mention link dependencies.
3983         * modules/regex (Link): New section.
3984         * modules/rpmatch (Link): Likewise.
3985         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
3986
3987 2010-11-27  Bruno Haible  <bruno@clisp.org>
3988
3989         ftoastr: Fix compilation error on Solaris.
3990         * lib/ftoastr.c: Include <config.h>.
3991
3992 2010-11-27  Bruno Haible  <bruno@clisp.org>
3993
3994         getloadavg: Update documentation.
3995         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
3996
3997 2010-11-27  Bruno Haible  <bruno@clisp.org>
3998
3999         sys_socket: Fix test whether the functions are declared.
4000         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
4001         not <sys/select.h>.
4002
4003 2010-11-27  Bruno Haible  <bruno@clisp.org>
4004
4005         getpass: Make sure to get system declaration on some platforms.
4006         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
4007         gl_USE_SYSTEM_EXTENSIONS.
4008         * modules/getpass (Depends-on): Add extensions.
4009
4010 2010-11-26  Bruno Haible  <bruno@clisp.org>
4011
4012         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
4013         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
4014         'iconv' module is present.
4015         (ICONV_CONST): New macro.
4016         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
4017         ICONV_CONST.
4018         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
4019         set ICONV_CONST.
4020         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
4021         here.
4022         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
4023         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
4024         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
4025         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
4026         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
4027         present.
4028
4029 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
4030
4031         ftoastr: comment fix
4032         * lib/ftoastr.c: "little" -> "little or no" in comment
4033
4034 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4035
4036         stdint: port to GCC 4.3 + OSX + Octave
4037         On this platform, stdint.h is buggy and defines int64_t to long
4038         long int.  The replacement defined it to long int, causing
4039         problems with C++ style name mangling.  Instead, trust the system
4040         definition if INT64_MAX is defined, and likewise for the unsigned
4041         variant.   Problem reported by Jarno Rajahalme in
4042         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
4043         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
4044         and don't mess with int64_t and INT64_MAX in this case.
4045         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
4046
4047 2010-11-24  Bruno Haible  <bruno@clisp.org>
4048
4049         doc: Corrections regarding MacOS X 10.4 and 10.5.
4050         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
4051         MacOS X.
4052         Reported by Simon Josefsson.
4053
4054 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
4055
4056         Uninstall ".bin" files installed by relocwrapper.
4057         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
4058         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
4059         unless it is already there.
4060
4061 2010-11-21  Bruno Haible  <bruno@clisp.org>
4062
4063         Update for NetBSD 5.0.
4064         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
4065         NetBSD; the test fails on NetBSD 5.0.
4066         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
4067         about NetBSD.
4068
4069 2010-11-21  Bruno Haible  <bruno@clisp.org>
4070
4071         Update for HP-UX 11.23 and HP-UX 11.31.
4072         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
4073         HP-UX.
4074
4075 2010-11-21  Bruno Haible  <bruno@clisp.org>
4076
4077         Update for MacOS X 10.5.
4078         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
4079         MacOS X; the test fails on MacOS X 10.5.8.
4080         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
4081         about MacOS X.
4082
4083 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
4084
4085         bootstrap: add bootstrap_sync option.
4086         See discussion at
4087         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
4088         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
4089         * build-aux/bootstrap: Accept --bootstrap-sync to update
4090         bootstrap if it is not identical to the local gnulib's
4091         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
4092         enable this by default.  Accept --no-bootstrap-sync to disable
4093         it.
4094
4095 2010-11-20  Bruno Haible  <bruno@clisp.org>
4096
4097         Ensure that <features.h> is included before __GLIBC__ is tested.
4098         * lib/printf-parse.h: Include <features.h>.
4099         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
4100         Reported by Mike Frysinger <vapier@gentoo.org>.
4101
4102         Ensure that <features.h> is included before __GLIBC__ is tested.
4103         * lib/wchar.in.h: Include <features.h>.
4104         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
4105         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
4106         Reported by Mike Frysinger <vapier@gentoo.org>.
4107
4108         Ensure that <features.h> is included before __GLIBC__ is tested.
4109         * lib/arpa_inet.in.h: Include <features.h>.
4110         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
4111         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
4112         Reported by Mike Frysinger <vapier@gentoo.org>.
4113
4114         Ensure that <features.h> is included before __GLIBC__ is tested.
4115         * build-aux/link-warning.h: Include <features.h>.
4116         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
4117         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
4118         Reported by Mike Frysinger <vapier@gentoo.org>.
4119
4120         Ensure that <features.h> is included before __GLIBC__ is tested.
4121         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
4122         Reported by Mike Frysinger <vapier@gentoo.org>.
4123
4124 2010-11-20  Bruno Haible  <bruno@clisp.org>
4125
4126         memmem: Fix autoconf test.
4127         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
4128
4129 2010-11-20  Bruno Haible  <bruno@clisp.org>
4130
4131         Port to uClibc.
4132         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
4133         * lib/fcntl.in.h: Likewise.
4134         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
4135         * lib/mbrtowc.c (mbrtowc): Likewise.
4136         * lib/relocatable.c (find_shared_library_fullname): Likewise.
4137         * lib/strerror_r.c: Likewise.
4138         * lib/unistr/u8-strnlen.c: Likewise.
4139         * lib/vasnprintf.c (decimal_point_char): Likewise.
4140         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
4141         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
4142         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
4143         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
4144         * tests/test-sigaction.c (handler, main): Likewise.
4145         * lib/freading.h: Treat uClibc like a non-glibc platform.
4146         * lib/freading.c: Likewise.
4147         * lib/gettext.h: Likewise.
4148         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
4149         Likewise.
4150         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
4151         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
4152         * lib/propername.c (proper_name_utf8): Likewise.
4153         * lib/spawn.in.h: Likewise.
4154         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
4155         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
4156         mem_cd_iconveh_internal): Likewise.
4157         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
4158         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
4159         strstr, strcasestr): Likewise.
4160         * lib/unicodeio.c (unicode_to_mb): Likewise.
4161         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
4162         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
4163         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
4164         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
4165         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
4166         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
4167         * lib/unistr/u8-stpncpy.c: Likewise.
4168         * lib/vasnprintf.c (VASNPRINTF): Likewise.
4169         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
4170         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
4171         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
4172         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
4173         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
4174         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
4175         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
4176         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
4177         Likewise.
4178         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
4179         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4180         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
4181         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4182         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
4183         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4184         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4185         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
4186         * tests/test-getopt.h (OPTIND_MIN): Likewise.
4187         * tests/test-striconveha.c (main): Likewise.
4188         * tests/test-vasnprintf-posix.c (test_function): Likewise.
4189         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
4190         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
4191         * doc/posix-functions/getline.texi: Likewise.
4192         Reported by Mike Frysinger <vapier@gentoo.org>.
4193
4194 2010-11-20  Bruno Haible  <bruno@clisp.org>
4195
4196         nproc: Fix condition.
4197         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
4198         HAVE_PTHREAD_AFFINITY_NP.
4199
4200 2010-11-20  Bruno Haible  <bruno@clisp.org>
4201
4202         Fix a comment.
4203         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
4204
4205 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
4206
4207         ftoastr: don't assume snprintf
4208         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
4209         Implement a subset of snprintf here, by using sprintf safely.
4210         * modules/ftoastr (Depends-on): Remove snprintf.
4211
4212 2010-11-19  Jim Meyering  <meyering@redhat.com>
4213
4214         test-rename.h: fix compilation failure
4215         * tests/test-rename.h (test_rename): Add omitted "}".
4216
4217 2010-11-17  Jim Meyering  <meyering@redhat.com>
4218
4219         maint.mk: add a URL discussing the no-@acronym policy
4220         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
4221
4222 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4223
4224         ftoastr: depend on snprintf, improve comments
4225         * lib/ftoastr.c: Also mention Loitsch's draft.
4226         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
4227         needed in the current implementation, but it might simplify
4228         speeding up the code later.
4229         * modules/ftoastr: Depend on snprintf; this improves portability.
4230         Suggested by Bruno Haible in the same email.
4231
4232         ftoastr: port to hosts lacking strtof and strtold
4233         Problem reported by Bruno Haible in
4234         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
4235         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
4236         environment and strtold (and presumably strtof) are not available.
4237         * modules/ftoastr (Files): Add m4/c-strtod.m4.
4238         (configure.ac): Require gl_C99_STRTOLD.
4239
4240 2010-11-18  Bruno Haible  <bruno@clisp.org>
4241
4242         c-strtold: Avoid link error on AIX 7.
4243         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
4244         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
4245         (gl_C_STRTOLD): Test whether strtold_l exists.
4246         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4247
4248 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4249
4250         intprops: new macro INT_BITS_STRLEN_BOUND
4251         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
4252         ftoastr.h.  This exposes an internal of intprops.h that was formerly
4253         not exposed.  Also, it uses a slightly tighter bound than before;
4254         though this makes no practical difference, we might as well be as
4255         tight as we easily can.
4256
4257         ftoastr: new module, for lossless conversion of floats to short strings
4258         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
4259         * modules/ftoastr: New files.
4260
4261 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
4262
4263         bootstrap: port to Solaris sed
4264         * build-aux/bootstrap (get_version): Port to Solaris sed.
4265         See Ralf Wildenhues's note in
4266         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
4267
4268 2010-11-14  Jim Meyering  <meyering@redhat.com>
4269
4270         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
4271         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
4272         and move definition closer to sole use.
4273
4274 2010-11-13  Jim Meyering  <meyering@redhat.com>
4275
4276         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
4277         Now we require at least autoconf-2.59, which means the work-around
4278         is no longer needed.
4279         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
4280         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4281         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4282         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
4283         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
4284
4285 2010-11-13  Bruno Haible  <bruno@clisp.org>
4286
4287         rename, renameat: Avoid test failures at NFS mounted locations.
4288         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
4289         functions.
4290         (test_rename): Use assert_nonexistent.
4291         * tests/test-rename.c: Include <dirent.h>.
4292         * tests/test-renameat.c: Likewise.
4293         Reported by Gary V. Vaughan <gary@gnu.org>.
4294
4295         rename, renameat: Document Linux bug with NFS
4296         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
4297         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
4298         * doc/posix-functions/renameat.texi: Likewise.
4299         Suggested by Eric Blake.
4300
4301 2010-11-13  Bruno Haible  <bruno@clisp.org>
4302
4303         rename test: Add comments.
4304         * tests/test-rename.h (test_rename): Add structure and comments.
4305
4306 2010-11-13  Eric Blake  <eblake@redhat.com>
4307
4308         maintainer-makefile: cover a few more files
4309         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
4310         scripts generated within C files, for libvirt.
4311
4312 2010-11-13  Bruno Haible  <bruno@clisp.org>
4313
4314         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
4315         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
4316         character, return the number of bytes that belong together, not always
4317         1.
4318         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
4319         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
4320         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
4321         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
4322         number of bytes of an invalid character.
4323         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
4324         (main): Invoke it.
4325         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
4326         results.
4327         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
4328         malformed byte sequences.
4329         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
4330         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
4331         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
4332         Reported by Ben Pfaff and Paolo Bonzini.
4333
4334 2010-11-13  Bruno Haible  <bruno@clisp.org>
4335
4336         openat: Work around glibc bug with fchownat() and empty file names.
4337         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
4338         (gl_FUNC_FCHOWNAT): Invoke it.
4339         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
4340         * doc/posix-functions/fchownat.texi: Document the glibc bug.
4341         Reported by Gary V. Vaughan <gary@gnu.org>.
4342
4343 2010-11-13  Bruno Haible  <bruno@clisp.org>
4344
4345         openat: Ensure autoconf macro ordering.
4346         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
4347         gl_USE_SYSTEM_EXTENSIONS.
4348         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
4349
4350 2010-11-13  Bruno Haible  <bruno@clisp.org>
4351
4352         Update comments.
4353         * lib/unistr/u8-check.c: Update file name in comments.
4354         * lib/unistr/u8-mblen.c: Likewise.
4355         * lib/unistr/u8-prev.c: Likewise.
4356         * lib/unistr/u8-strmblen.c: Likewise.
4357         * lib/unistr/u8-strmbtouc.c: Likewise.
4358
4359 2010-11-13  Jim Meyering  <meyering@redhat.com>
4360
4361         tests: avoid test failure on Solaris 10 due to lack of PATH export
4362         * tests/test-update-copyright.sh: Don't forget to export PATH.
4363
4364         init.sh: ensure that IFS is defined, just in case...
4365         * tests/init.sh (setup_): Ensure that IFS is defined,
4366         so that saving and restoring it works as expected.  This
4367         appears to be useful at least for an old version of dash
4368         from a long time ago (RH 6).  See here for details:
4369         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
4370
4371         maint.mk: tighten "test a == b" check
4372         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
4373         test to files that contain something like #!/bin/sh.
4374         Without this, coreutils would get two false positives in
4375         the comments of C source files.
4376
4377 2010-11-12  Eric Blake  <eblake@redhat.com>
4378
4379         bootstrap: fix typo in previous attempt
4380         * build-aux/bootstrap (buildreq): Correct the grouping.
4381         Reported by Paul Eggert.
4382
4383         maintainer-makefile: prohibit test x == x
4384         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
4385         Based on a report by Matthias Bolte.
4386
4387         bootstrap: allow FreeBSD gzip
4388         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
4389         which has no '.' and goes to stderr.
4390         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
4391         Reported by Matthias Bolte.
4392
4393         maintainer-makefile: check for i18n setup
4394         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
4395         will likely work.
4396
4397 2010-11-12  Bruno Haible  <bruno@clisp.org>
4398
4399         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
4400         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
4401         * lib/nanosleep.c (nanosleep): Likewise.
4402
4403 2010-11-11  Bruno Haible  <bruno@clisp.org>
4404
4405         fcntl-h: Fix for use of C++ on glibc systems.
4406         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
4407         also on glibc systems in C++ mode.
4408         Reported by Gary V. Vaughan <gary@gnu.org>.
4409
4410 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
4411
4412         mknod: avoid false failure with dash
4413         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
4414
4415 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
4416
4417         unlink: Fix "is it should" typo in diagnostic.
4418         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
4419         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
4420
4421 2010-11-11  Bruno Haible  <bruno@clisp.org>
4422
4423         Tests for module 'strerror_r-posix'.
4424         * modules/strerror_r-posix-tests: New file.
4425         * tests/test-strerror_r.c: New file.
4426         * tests/test-string-c++.cc: Check the signature of strerror_r.
4427
4428         New module 'strerror_r-posix'.
4429         * lib/string.in.h (strerror_r): New declaration.
4430         * lib/strerror_r.c: New file.
4431         * m4/strerror_r.m4: New file.
4432         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
4433         of strerror_r.
4434         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
4435         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
4436         * modules/strerror_r-posix: New file.
4437         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
4438         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
4439         * doc/posix-functions/strerror_r.texi: Mention the new module and the
4440         portability problems.
4441
4442 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
4443
4444         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
4445         line is also considered for output. Quoted function name in shell
4446         command, so temporary files for functions like MyClass::operator()
4447         are removed correctly without errors.
4448
4449 2010-11-09  Bruno Haible  <bruno@clisp.org>
4450
4451         * doc/posix-functions/strerror.texi: List more failing platforms.
4452
4453         * doc/posix-functions/strerror.texi: Add a comment.
4454
4455 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
4456
4457         fdopendir: fix bug on MacOS X when low on file descriptors
4458
4459         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
4460         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
4461         All callers changed.
4462         (fdopendir): Invoke save_cwd at the top level, not after using
4463         multiple dup() calls to use up file descriptors.  Then retry
4464         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
4465         less than the maximum number of open file descriptors, because
4466         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
4467         on Mac OS X 10.6.4 for tar 1.24
4468         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
4469         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
4470         and for tar 1.25
4471         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
4472
4473 2010-11-07  Bruno Haible  <bruno@clisp.org>
4474
4475         vasnprintf: Support I flag on glibc systems.
4476         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
4477         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
4478         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
4479         snprintf function.
4480         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
4481         glibc systems.
4482         * tests/test-vasnprintf-posix3.c: New file.
4483         * modules/vasnprintf-posix-tests (Files): Add it.
4484         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
4485
4486 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
4487
4488         [html] Fix copy/paste bug: Use unique name for compiler warnings.
4489         * MODULES.html.sh: For compiler warnings, use name
4490         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
4491
4492 2010-11-05  Eric Blake  <eblake@redhat.com>
4493
4494         ceil, floor: avoid spurious failure with icc
4495         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
4496         [denormals-as-zero] when optimizing without -mieee-fp option.
4497         * tests/test-floorf2.c (floorf_reference): Likewise.
4498         * tests/test-ceilf1.c (dummy): New function.
4499         (main): Use it to outsmart icc's optimization.
4500         * tests/test-floorf1.c (dummy, main): Likewise.
4501
4502         tests: require working signbit
4503         * modules/ceilf-tests (Depends-on): Add signbit.
4504         * modules/ceill-tests (Depends-on): Likewise.
4505         * modules/floorf-tests (Depends-on): Likewise.
4506         * modules/floorl-tests (Depends-on): Likewise.
4507         * modules/round-tests (Depends-on): Likewise.
4508         * modules/roundf-tests (Depends-on): Likewise.
4509         * modules/roundl-tests (Depends-on): Likewise.
4510         * modules/trunc-tests (Depends-on): Likewise.
4511         * modules/truncf-tests (Depends-on): Likewise.
4512         * modules/truncl-tests (Depends-on): Likewise.
4513
4514         strtod: work around icc bug
4515         * lib/strtod.c (minus_zero): Define to working value.
4516         (strtod): Use it to avoid icc bug.
4517
4518         copysign: enhance tests
4519         * modules/copysign-tests (Files): Add minus-zero.h.
4520         * tests/test-copysign.c (main): Also test zeros.
4521
4522 2010-11-04  Eric Blake  <eblake@redhat.com>
4523
4524         ceil, floor, round, trunc: enhance tests of -0
4525         * tests/test-ceilf1.c (main): Ensure correct sign of result.
4526         * tests/test-ceill.c (main): Likewise.
4527         * tests/test-floorf1.c (main): Likewise.
4528         * tests/test-floorl.c (main): Likewise.
4529         * tests/test-round1.c (main): Likewise.
4530         * tests/test-roundf1.c (main): Likewise.
4531         * tests/test-roundl.c (main): Likewise.
4532         * tests/test-trunc1.c (main): Likewise.
4533         * tests/test-truncf1.c (main): Likewise.
4534         * tests/test-truncl.c (main): Likewise.
4535
4536 2010-11-04  Eric Blake  <eblake@redhat.com>
4537
4538         frexp, tests: work around ICC bug with -zero
4539         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
4540         works with more compilers.
4541         * tests/minus-zero.h: New file.
4542         * modules/ceilf-tests (Files): Include it.
4543         * modules/ceill-tests (Files): Likewise.
4544         * modules/floorf-tests (Files): Likewise.
4545         * modules/floorl-tests (Files): Likewise.
4546         * modules/frexp-nolibm-tests (Files): Likewise.
4547         * modules/frexp-tests (Files): Likewise.
4548         * modules/frexpl-nolibm-tests (Files): Likewise.
4549         * modules/frexpl-tests (Files): Likewise.
4550         * modules/isnan-tests (Files): Likewise.
4551         * modules/isnand-nolibm-tests (Files): Likewise.
4552         * modules/isnand-tests (Files): Likewise.
4553         * modules/isnanf-nolibm-tests (Files): Likewise.
4554         * modules/isnanf-tests (Files): Likewise.
4555         * modules/isnanl-nolibm-tests (Files): Likewise.
4556         * modules/isnanl-tests (Files): Likewise.
4557         * modules/round-tests (Files): Likewise.
4558         * modules/roundf-tests (Files): Likewise.
4559         * modules/roundl-tests (Files): Likewise.
4560         * modules/ldexpl-tests (Files): Likewise.
4561         * modules/signbit-tests (Files): Likewise.
4562         * modules/snprintf-posix-tests (Files): Likewise.
4563         * modules/sprintf-posix-tests (Files): Likewise.
4564         * modules/strtod-tests (Files): Likewise.
4565         * modules/trunc-tests (Files): Likewise.
4566         * modules/truncf-tests (Files): Likewise.
4567         * modules/truncl-tests (Files): Likewise.
4568         * modules/vsnprintf-posix-tests (Files): Likewise.
4569         * modules/vsprintf-posix-tests (Files): Likewise.
4570         * modules/vasnprintf-posix-tests (Files): Likewise.
4571         * modules/vasprintf-posix-tests (Files): Likewise.
4572         * tests/test-ceilf1.c (main): Use it.
4573         * tests/test-ceill.c (main): Likewise.
4574         * tests/test-floorf1.c (main): Likewise.
4575         * tests/test-floorl.c (main): Likewise.
4576         * tests/test-frexp.c (main): Likewise.
4577         * tests/test-frexpl.c (main): Likewise.
4578         * tests/test-isnan.c (main): Likewise.
4579         * tests/test-isnand.h (main): Likewise.
4580         * tests/test-isnanf.h (main): Likewise.
4581         * tests/test-isnanl.h (main): Likewise.
4582         * tests/test-ldexpl.c (main): Likewise.
4583         * tests/test-round.c (main): Likewise.
4584         * tests/test-roundf.c (main): Likewise.
4585         * tests/test-roundl.c (main): Likewise.
4586         * tests/test-signbit.c (test_signbitf, test_signbitd)
4587         (test_signbitl): Likewise.
4588         * tests/test-snprintf-posix.h (test_function): Likewise.
4589         * tests/test-sprintf-posix.h (test_function): Likewise.
4590         * tests/test-strtod.c (main): Likewise.
4591         * tests/test-trunc1.c (main): Likewise.
4592         * tests/test-truncf1.c (main): Likewise.
4593         * tests/test-truncl.c (main): Likewise.
4594
4595         isnanl: work around icc bug
4596         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
4597
4598 2010-11-03  Eric Blake  <eblake@redhat.com>
4599
4600         tests: fix compiler warnings
4601         * tests/test-getopt.h (test_getopt): Fix condition.
4602         * tests/test-getopt_long.h (test_getopt_long): Likewise.
4603         * tests/test-pipe2.c (main): Likewise.
4604         * tests/test-quotearg-simple.c (main): Avoid icc warning.
4605
4606         utimens: fix broken m4 test
4607         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
4608
4609 2010-10-28  Bruno Haible  <bruno@clisp.org>
4610
4611         posix_spawn*, getdtablesize: Relax license.
4612         * modules/posix_spawn (License): Change to LGPLv2+.
4613         * modules/posix_spawnp (License): Likewise.
4614         * modules/posix_spawn-internal (License): Likewise.
4615         * modules/posix_spawnattr_init (License): Likewise.
4616         * modules/posix_spawnattr_getflags (License): Likewise.
4617         * modules/posix_spawnattr_setflags (License): Likewise.
4618         * modules/posix_spawnattr_getpgroup (License): Likewise.
4619         * modules/posix_spawnattr_setpgroup (License): Likewise.
4620         * modules/posix_spawnattr_getschedparam (License): Likewise.
4621         * modules/posix_spawnattr_setschedparam (License): Likewise.
4622         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
4623         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
4624         * modules/posix_spawnattr_getsigdefault (License): Likewise.
4625         * modules/posix_spawnattr_setsigdefault (License): Likewise.
4626         * modules/posix_spawnattr_getsigmask (License): Likewise.
4627         * modules/posix_spawnattr_setsigmask (License): Likewise.
4628         * modules/posix_spawnattr_destroy (License): Likewise.
4629         * modules/posix_spawn_file_actions_init (License): Likewise.
4630         * modules/posix_spawn_file_actions_addclose (License): Likewise.
4631         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
4632         * modules/posix_spawn_file_actions_addopen (License): Likewise.
4633         * modules/posix_spawn_file_actions_destroy (License): Likewise.
4634         * modules/getdtablesize (License): Likewise.
4635         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
4636
4637 2010-10-26  Bruno Haible  <bruno@clisp.org>
4638
4639         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
4640         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
4641         Cygwin and mingw.
4642         Suggested by Eric Blake.
4643
4644 2010-10-26  Bruno Haible  <bruno@clisp.org>
4645
4646         stdio: Work around compilation error due to renameat() on Solaris 10.
4647         * lib/stdio.in.h: Include <unistd.h> on Solaris.
4648         * lib/renameat.c: Don't include <unistd.h> here.
4649         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
4650         Reported by Paul Eggert and Eric Blake.
4651
4652 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4653
4654         renameat: port to Solaris 10, which declares renameat in unistd.h
4655
4656         * lib/renameat.c: Include unistd.h before stdio.h, because
4657         Solaris 10 declares renameat in unistd.h.  Problem encountered
4658         when building GNU tar 1.24 on Solaris 10.
4659
4660 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
4661
4662         fdopendir: fix C89 compilation
4663         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
4664         compilers.
4665
4666 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
4667
4668         inttostr: simplify by removing unnecessary redundancy
4669         * lib/anytostr.c: Don't include verify.h.
4670         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
4671         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
4672         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
4673         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
4674         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
4675         Likewise.
4676         * modules/inttostr (Depends-on): Remove 'verify'.
4677
4678 2010-10-23  Bruno Haible  <bruno@clisp.org>
4679
4680         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
4681         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
4682         Reported by Eric Blake.
4683
4684 2010-10-23  Bruno Haible  <bruno@clisp.org>
4685
4686         Tests: Fix LOCALE_JA on MirBSD 10.
4687         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
4688         to an UTF-8 locale.
4689         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
4690         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4691         Reported by Eric Blake.
4692
4693 2010-10-21  Bruno Haible  <bruno@clisp.org>
4694
4695         nl_langinfo test: Avoid test failure on NetBSD 5.
4696         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
4697         Reported by Eric Blake.
4698
4699 2010-10-21  Eric Blake  <eblake@redhat.com>
4700
4701         c-stack: work around libsigsegv 2.8 bug
4702         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
4703         overflow on at least PowerPC64.
4704
4705 2010-10-17  Bruno Haible  <bruno@clisp.org>
4706
4707         userspec: Drop redundant file.
4708         * modules/userspec (Files): Remove lib/inttostr.h.
4709
4710 2010-10-17  Bruno Haible  <bruno@clisp.org>
4711
4712         nl_langinfo tests: Silence some warnings.
4713         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
4714         Reported by Jim Meyering.
4715
4716 2010-10-17  Bruno Haible  <bruno@clisp.org>
4717
4718         Make use of GCC's attribute __alloc_size__.
4719         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
4720         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
4721         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
4722         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
4723         __alloc_size__.
4724         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
4725         Suggested by Jim Meyering.
4726
4727 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
4728
4729         bootstrap: anchor .gitignore entries.
4730         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
4731         with...
4732         (insert_vc_ignore): ... this new function, which prepends `/' to
4733         all .gitignore entries before passing them to
4734         insert_sorted_if_absent.
4735
4736 2010-10-16  Bruno Haible  <bruno@clisp.org>
4737
4738         nextafter: Fix configure check.
4739         * modules/nextafter (configure.ac): Correct expected prototype.
4740
4741 2010-10-16  Bruno Haible  <bruno@clisp.org>
4742
4743         termios: Update documentation.
4744         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
4745
4746 2010-10-16  Bruno Haible  <bruno@clisp.org>
4747
4748         tests: Make them compile with TinyCC.
4749         * tests/test-strstr.c (main): Remove parentheses around array
4750         initializer.
4751
4752 2010-10-15  Eric Blake  <eblake@redhat.com>
4753
4754         ignore-value: make header idempotent
4755         * lib/ignore-value.h: Add double-inclusion guards.
4756         Reported by Stefan Berger.
4757
4758 2010-10-15  Jim Meyering  <meyering@redhat.com>
4759
4760         GNUmakefile: handle "stable" target, not "major"
4761         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
4762         lists in maint.mk and announce-gen.  Without this, "make stable"
4763         would fail to ensure that $(VERSION) is up to date.
4764
4765 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
4766
4767         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
4768         & co.
4769
4770 2010-10-14  Bruno Haible  <bruno@clisp.org>
4771
4772         vasnprintf: Don't set errno to 0.
4773         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
4774         block that sets it to 0.
4775         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
4776
4777 2010-10-14  Bruno Haible  <bruno@clisp.org>
4778
4779         socketlib: Fix.
4780         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
4781         gl_PREREQ_SYS_H_WINSOCK2.
4782         Reported by Ian Beckwith <ianb@erislabs.net>.
4783
4784 2010-10-13  Jim Meyering  <meyering@redhat.com>
4785
4786         test-select-stdin.c: avoid warn_unused_result warnings
4787         * tests/test-select-stdin.c: Include "macros.h".
4788         ASSERT that read and fflush succeed.
4789
4790 2010-10-13  Jim Meyering  <meyering@redhat.com>
4791
4792         git-version-gen: do require git-VC'd files in cwd
4793         * build-aux/git-version-gen: Reject a git version string
4794         if there are no commits associated with the current directory.
4795         This avoids an unlikely false-positive (unrelated dir whose parent
4796         repository also contains a tag matching v*), as pointed out
4797         by Giuseppe Scrivano in
4798         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
4799
4800 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
4801
4802         argv-iter: omit nonconforming declaration
4803         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
4804         enum arg_iter_err declaration, which doesn't conform to C99.
4805         Solaris 10 cc warns about this.
4806
4807 2010-10-13  Eric Blake  <eblake@redhat.com>
4808
4809         termios: fix compilation on mingw
4810         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
4811         (gl_TERMIOS_H): Adjust it on mingw.
4812         * modules/termios (Makefile.am): Substitute new key.
4813         * lib/termios.in.h (includes): Make include_next conditional.
4814         * doc/posix-headers/termios.texi (termios.h): Update
4815         documentation.
4816         Reported by Daniel P. Berrange.
4817
4818 2010-10-13  Jim Meyering  <meyering@redhat.com>
4819
4820         git-version-gen: don't require that .git/ be in the current dir
4821         * build-aux/git-version-gen: Adjust this script so that it works
4822         when run from any working directory beneath the top-level .git/-
4823         containing directory.  Inspired by a patch from Giuseppe Scrivano,
4824         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
4825
4826         test-select: avoid warn_unused_result warnings
4827         * tests/test-select.c: Include "macros.h".
4828         ASSERT that each call to read, write, and pipe succeeds.
4829         While not technically required, also check each "close".
4830         * modules/select-tests (Files): Add tests/macros.h.
4831
4832         test-symlinkat: remove declaration of unused local
4833         * tests/test-symlinkat.c (main): Remove unused local, "buf".
4834
4835         test-inttostr: avoid shadowing warnings
4836         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
4837         and use malloc rather than the stack for the same reason as
4838         mentioned in the comment justifying the other allocation.
4839
4840 2010-10-11  Bruno Haible  <bruno@clisp.org>
4841
4842         stdlib: Allow multiple gnulib generated replacements to coexist.
4843         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
4844         Reported by Sam Steingold <sds@gnu.org>.
4845
4846 2010-10-11  Jim Meyering  <meyering@redhat.com>
4847
4848         fix a documentation typo
4849         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
4850
4851 2010-10-11  Eric Blake  <eblake@redhat.com>
4852
4853         futimens: work around Solaris 11 bug
4854         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
4855         * tests/test-futimens.h (test_futimens): Enhance, rather than
4856         weaken test.
4857         * doc/posix-functions/futimens.texi (futimens): Document the bug.
4858
4859 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4860
4861         Indentation.
4862         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
4863         higher-level operators more to the left.
4864
4865 2010-10-11  Jim Meyering  <meyering@redhat.com>
4866
4867         test-futimens: avoid unwarranted test failure on Solaris 5.11
4868         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
4869         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
4870         because it tries to dereference the NULL name argument.
4871
4872 2010-10-11  Bruno Haible  <bruno@clisp.org>
4873
4874         Indentation.
4875         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
4876         indentation.
4877
4878 2010-10-11  Jim Meyering  <meyering@redhat.com>
4879
4880         spawn.in.h: make indentation consistent with parentheses
4881         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
4882         Make indentation consistent with parentheses.
4883
4884 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
4885
4886         Fix mismatched parens in previous commit
4887         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
4888         parens.
4889
4890 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
4891
4892         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
4893
4894         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
4895         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
4896         * lib/malloca.c: Include "verify.h".
4897         (verify1): Remove, replacing with a verify call.
4898         * lib/relocwrapper.c (verify1): Likewise.
4899         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
4900         Likewise.
4901         * modules/malloca (Depends-on): Add 'verify'.
4902         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
4903         * modules/vasnprintf (Depends-on): Add 'verify'.
4904         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
4905         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
4906         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
4907         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
4908         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
4909         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
4910         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
4911
4912         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
4913
4914         Formerly the style was sometimes 2*X - 1, because the C standard
4915         was wrongly thought to disallow ?: in integral constant expressions.
4916         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
4917         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
4918         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
4919         * lib/stdint.in.h (_verify_intmax_size): Likewise.
4920         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
4921         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
4922         verify that time_t cannot be floating.
4923
4924 2010-10-08  Eric Blake  <eblake@redhat.com>
4925
4926         time: enforce recent POSIX ruling that time_t is integral
4927         * lib/time.in.h (__time_t_must_be_integral): Detect any
4928         problematic systems, allowing the rest of gnulib to assume POSIX.
4929
4930 2010-10-08  Jim Meyering  <meyering@redhat.com>
4931
4932         fdopendir: fix a bug on systems lacking openat and /proc support
4933         OpenBSD 4.7 is one such system.  The most noticeable effect was
4934         failure of any application making nontrivial use of fts: rm, du,
4935         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
4936           ./rm: traversal failed: `a': Bad file descriptor
4937         Debugging that, you see that even though FD 6 was closed just
4938         prior to the opendir call in fd_clone_opendir, its resulting
4939         dir->dd_fd was 8, rather than the expected value of 6:
4940
4941         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
4942         93                close (fd);
4943         (gdb) n
4944         94                dir = fd_clone_opendir (dupfd);
4945         (gdb) n
4946         95                saved_errno = errno;
4947         (gdb) p dir->dd_fd
4948         $11 = 8
4949
4950         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
4951         The problem is that on OpenBSD, fd_clone_opendir has to resort
4952         to using the old-style save/restore CWD mechanism, due to its
4953         lack of openat/proc support, and *that* would steal the FD (6)
4954         that opendir was supposed to use.
4955
4956         The fix is to squirrel away the desired FD so that save_cwd uses a
4957         different one, and then free the dest FD right before calling opendir.
4958         That guarantees opendir will use the required file descriptor.
4959
4960         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
4961
4962 2010-10-08  Bruno Haible  <bruno@clisp.org>
4963
4964         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
4965         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
4966
4967 2010-10-08  Bruno Haible  <bruno@clisp.org>
4968
4969         nanosleep: Make replacement POSIX compliant.
4970         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
4971         is out of range.
4972         Reported by Jim Meyering.
4973
4974 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
4975
4976         bootstrap: add hook for altering gnulib.mk, for Bison
4977         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
4978         the Bison bootstrapping process can rewrite file names and variables
4979         in this file before later parts of 'bootstrap' use the file.
4980         Bison wants to include lib/gnulib.mk from the top-level makefile,
4981         so it needs the file names in this file to be relative to the top
4982         level, not relative to lib; plus it needs variable names to be
4983         rewritten.
4984         (slurp): Use the new function.
4985
4986         bootstrap: reformat for readability
4987         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
4988
4989 2010-10-08  Eric Blake  <eblake@redhat.com>
4990
4991         docs: update cygwin progress
4992         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
4993         1.7.7.
4994         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
4995         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
4996         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
4997         * doc/posix-functions/carg.texi (carg): Likewise.
4998         * doc/posix-functions/cargf.texi (cargf): Likewise.
4999         * doc/posix-functions/casin.texi (casin): Likewise.
5000         * doc/posix-functions/casinf.texi (casinf): Likewise.
5001         * doc/posix-functions/casinh.texi (casinh): Likewise.
5002         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
5003         * doc/posix-functions/catan.texi (catan): Likewise.
5004         * doc/posix-functions/catanf.texi (catanf): Likewise.
5005         * doc/posix-functions/catanh.texi (catanh): Likewise.
5006         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
5007         * doc/posix-functions/ccos.texi (ccos): Likewise.
5008         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
5009         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
5010         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
5011         * doc/posix-functions/cexp.texi (cexp): Likewise.
5012         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
5013         * doc/posix-functions/cimag.texi (cimag): Likewise.
5014         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
5015         * doc/posix-functions/clog.texi (clog): Likewise.
5016         * doc/posix-functions/clogf.texi (clogf): Likewise.
5017         * doc/posix-functions/conj.texi (conj): Likewise.
5018         * doc/posix-functions/conjf.texi (conjf): Likewise.
5019         * doc/posix-functions/cpow.texi (cpow): Likewise.
5020         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
5021         * doc/posix-functions/cproj.texi (cproj): Likewise.
5022         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
5023         * doc/posix-functions/creal.texi (creal): Likewise.
5024         * doc/posix-functions/crealf.texi (crealf): Likewise.
5025         * doc/posix-functions/csin.texi (csin): Likewise.
5026         * doc/posix-functions/csinf.texi (csinf): Likewise.
5027         * doc/posix-functions/csinh.texi (csinh): Likewise.
5028         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
5029         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
5030         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
5031         * doc/posix-functions/ctan.texi (ctan): Likewise.
5032         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
5033         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
5034         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
5035         * doc/posix-headers/complex.texi (complex.h): Likewise.
5036
5037 2010-10-07  Jim Meyering  <meyering@redhat.com>
5038
5039         parse-datetime: avoid compilation failure on OpenBSD 4.7
5040         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
5041         This works around a compilation failure on OpenBSD 4.7:
5042         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
5043
5044 2010-10-07  Eric Blake  <eblake@redhat.com>
5045
5046         docs: update cygwin progress
5047         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
5048         1.7.6.
5049         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
5050         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
5051         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
5052         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
5053         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
5054         Likewise.
5055         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
5056         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
5057         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
5058         Likewise.
5059         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
5060         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
5061         Likewise.
5062         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
5063         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
5064         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
5065         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
5066         Likewise.
5067         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
5068         Likewise.
5069         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
5070
5071         docs: update parse-datetime history
5072         * doc/parse-datetime.texi (Authors of parse_datetime): Better
5073         documentation of this function's history and alternatives.
5074
5075         cygwin: use more robust version check
5076         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
5077         exclude an eventual cygwin 1.9.1.
5078         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
5079         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
5080         (gl_FUNC_STRCASESTR): Likewise.
5081         Reported by Bruno Haible.
5082
5083 2010-10-06  Bruno Haible  <bruno@clisp.org>
5084
5085         string, sys_select: Avoid #including large headers unless necessary.
5086         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
5087         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
5088         OSF/1, BeOS, Haiku.
5089         Reported by Jim Meyering.
5090
5091 2010-10-05  Eric Blake  <eblake@redhat.com>
5092
5093         memmem, strstr, strcasestr: fix bug with long periodic needle
5094         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
5095         periodic needle having false positive.
5096         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
5097         and cygwin 1.7.7.
5098         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
5099         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
5100         (gl_FUNC_STRCASESTR): Likewise.
5101         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
5102         * tests/test-memmem.c (main): Expose the bug.
5103         * tests/test-strcasestr.c (main): Likewise.
5104         * tests/test-strstr.c (main): Likewise.
5105         * tests/test-c-strcasestr.c (main): Likewise.
5106         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
5107         * doc/posix-functions/strstr.texi (strstr): Likewise.
5108         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
5109         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
5110
5111 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5112
5113         parse-datetime: do some more renaming
5114         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
5115         parse_datetime, not get_date.  Mention the renaming.
5116         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
5117         in comments.
5118         * m4/bison.m4: Likewise.
5119
5120 2010-10-05  Eric Blake  <eblake@redhat.com>
5121
5122         parse-datetime: better name than get_date
5123         * NEWS: Reword the deprecation notice.
5124         * modules/get_date: Rename to modules/parse-datetime.
5125         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
5126         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
5127         * lib/get_date.y: Rename to lib/parse-datetime.y.
5128         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
5129         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
5130         * doc/getdate.texi: Provide fallback wrapper.
5131         * lib/getdate.h: Move guts, and wrap...
5132         * lib/parse-datetime.h: ...new file.
5133         * lib/parse-datetime.y (get_date): Rename...
5134         (parse_datetime): ...to this.
5135         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
5136         (gl_PARSE_DATETIME): ...to this.
5137         * doc/posix-functions/getdate.texi (get_date): Provide fallback
5138         documentation.
5139         * modules/getdate (Files): Provide fallback docs and header.
5140         (Notice, Depends-on): Update references.
5141         * tests/test-parse-datetime.c: Likewise.
5142         * DEPENDENCIES: Likewise.
5143         * MODULES.html.sh (Date and time <time.h>): Likewise.
5144         * doc/parse-datetime.texi (Date input formats)
5145         (Authors of parse_datetime): Likewise.
5146         * modules/parse-datetime (Files, configure.ac, Makefile.am)
5147         (Include): Likewise.
5148         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
5149         * gnulib-tool: Likewise.
5150         * m4/bison.m4 (gl_BISON): Likewise.
5151         Suggested by Bruno Haible.
5152
5153 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5154
5155         more ports to Solaris tr, which needs [] around ranges
5156         * gnulib-tool: Solaris tr needs [] around ranges.
5157         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5158         * tests/test-pipe-filter-gi1.c (main): Likewise.
5159         * tests/test-pipe-filter-ii1.c (main): Likewise.
5160
5161 2010-10-05  Eric Blake  <eblake@redhat.com>
5162
5163         bootstrap: fix Solaris regression
5164         * build-aux/bootstrap (check_versions): Solaris tr still needs []
5165         around ranges.
5166         Reported by Pádraig Brady.
5167
5168         bootstrap: work with pkg-config
5169         * build-aux/bootstrap (check_versions): Also transliterate - in
5170         prerequisite name.
5171         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
5172         prerequisites that were already found, to avoid confusion.
5173         Reported by Justin Clift.
5174
5175         faccessat: remove unused wrappers
5176         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
5177         presence of these wrappers dragged in -lgen on Solaris.
5178         Reported by Clemens Brogi; fix suggested by Paul Eggert.
5179
5180 2010-10-05  Jim Meyering  <meyering@redhat.com>
5181
5182         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
5183         * Makefile (sc_pragma_columns): New syntax-check rule.
5184
5185 2010-10-04  Bruno Haible  <bruno@clisp.org>
5186
5187         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
5188         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
5189         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
5190         Reported by Bruce Korb and Eric Blake.
5191
5192 2010-10-04  Bruno Haible  <bruno@clisp.org>
5193
5194         threadlib: Make option --with-libpth-prefix work.
5195         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
5196         use $LIBPTH, not just -lpth.
5197
5198 2010-10-04  Bruno Haible  <bruno@clisp.org>
5199
5200         Avoid line length limitation from HP NonStop system header files.
5201         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
5202         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
5203         * lib/ctype.in.h: Likewise.
5204         * lib/dirent.in.h: Likewise.
5205         * lib/errno.in.h: Likewise.
5206         * lib/fcntl.in.h: Likewise.
5207         * lib/float.in.h: Likewise.
5208         * lib/getopt.in.h: Likewise.
5209         * lib/iconv.in.h: Likewise.
5210         * lib/inttypes.in.h: Likewise.
5211         * lib/langinfo.in.h: Likewise.
5212         * lib/locale.in.h: Likewise.
5213         * lib/math.in.h: Likewise.
5214         * lib/netdb.in.h: Likewise.
5215         * lib/netinet_in.in.h: Likewise.
5216         * lib/poll.in.h: Likewise.
5217         * lib/pthread.in.h: Likewise.
5218         * lib/pty.in.h: Likewise.
5219         * lib/sched.in.h: Likewise.
5220         * lib/se-selinux.in.h: Likewise.
5221         * lib/search.in.h: Likewise.
5222         * lib/signal.in.h: Likewise.
5223         * lib/spawn.in.h: Likewise.
5224         * lib/stdarg.in.h: Likewise.
5225         * lib/stddef.in.h: Likewise.
5226         * lib/stdint.in.h: Likewise.
5227         * lib/stdio.in.h: Likewise.
5228         * lib/stdlib.in.h: Likewise.
5229         * lib/string.in.h: Likewise.
5230         * lib/strings.in.h: Likewise.
5231         * lib/sys_file.in.h: Likewise.
5232         * lib/sys_ioctl.in.h: Likewise.
5233         * lib/sys_select.in.h: Likewise.
5234         * lib/sys_socket.in.h: Likewise.
5235         * lib/sys_stat.in.h: Likewise.
5236         * lib/sys_time.in.h: Likewise.
5237         * lib/sys_times.in.h: Likewise.
5238         * lib/sys_utsname.in.h: Likewise.
5239         * lib/sys_wait.in.h: Likewise.
5240         * lib/sysexits.in.h: Likewise.
5241         * lib/termios.in.h: Likewise.
5242         * lib/time.in.h: Likewise.
5243         * lib/unistd.in.h: Likewise.
5244         * lib/wchar.in.h: Likewise.
5245         * lib/wctype.in.h: Likewise.
5246         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
5247         * modules/ctype (Makefile.am): Likewise.
5248         * modules/dirent (Makefile.am): Likewise.
5249         * modules/errno (Makefile.am): Likewise.
5250         * modules/fcntl-h (Makefile.am): Likewise.
5251         * modules/float (Makefile.am): Likewise.
5252         * modules/getopt-posix (Makefile.am): Likewise.
5253         * modules/iconv-h (Makefile.am): Likewise.
5254         * modules/inttypes (Makefile.am): Likewise.
5255         * modules/langinfo (Makefile.am): Likewise.
5256         * modules/locale (Makefile.am): Likewise.
5257         * modules/math (Makefile.am): Likewise.
5258         * modules/netdb (Makefile.am): Likewise.
5259         * modules/netinet_in (Makefile.am): Likewise.
5260         * modules/poll-h (Makefile.am): Likewise.
5261         * modules/pthread (Makefile.am): Likewise.
5262         * modules/pty (Makefile.am): Likewise.
5263         * modules/sched (Makefile.am): Likewise.
5264         * modules/search (Makefile.am): Likewise.
5265         * modules/selinux-h (Makefile.am): Likewise.
5266         * modules/signal (Makefile.am): Likewise.
5267         * modules/spawn (Makefile.am): Likewise.
5268         * modules/stdarg (Makefile.am): Likewise.
5269         * modules/stddef (Makefile.am): Likewise.
5270         * modules/stdint (Makefile.am): Likewise.
5271         * modules/stdio (Makefile.am): Likewise.
5272         * modules/stdlib (Makefile.am): Likewise.
5273         * modules/string (Makefile.am): Likewise.
5274         * modules/strings (Makefile.am): Likewise.
5275         * modules/sys_file (Makefile.am): Likewise.
5276         * modules/sys_ioctl (Makefile.am): Likewise.
5277         * modules/sys_select (Makefile.am): Likewise.
5278         * modules/sys_socket (Makefile.am): Likewise.
5279         * modules/sys_stat (Makefile.am): Likewise.
5280         * modules/sys_time (Makefile.am): Likewise.
5281         * modules/sys_times (Makefile.am): Likewise.
5282         * modules/sys_utsname (Makefile.am): Likewise.
5283         * modules/sys_wait (Makefile.am): Likewise.
5284         * modules/sysexits (Makefile.am): Likewise.
5285         * modules/termios (Makefile.am): Likewise.
5286         * modules/time (Makefile.am): Likewise.
5287         * modules/unistd (Makefile.am): Likewise.
5288         * modules/wchar (Makefile.am): Likewise.
5289         * modules/wctype (Makefile.am): Likewise.
5290
5291 2010-10-04  Bruno Haible  <bruno@clisp.org>
5292
5293         read-file tests: Avoid a test failure on NonStop Kernel.
5294         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
5295         a regular file.
5296         Reported by Joachim Schmitz <schmitz@hp.com>.
5297
5298 2010-10-03  Bruno Haible  <bruno@clisp.org>
5299
5300         gnulib-tool: Fixes for --create-testdir with --libtool.
5301         * gnulib-tool (func_get_automake_snippet): Don't augment
5302         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
5303         an executable.
5304         (func_create_testdir): Handle module 'alloca' like func_import.
5305         Reported by Bruce Korb <bruce.korb@gmail.com>.
5306
5307 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
5308
5309         Avoid some lines longer than 80 characters.
5310         * lib/stdint.in.h: Break long comment lines.
5311         * lib/math.in.h: Likewise.
5312         (_GL_NUM_UINT_WORDS): New macro, for readability.
5313         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
5314         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
5315         * lib/stdlib.in.h: Likewise.
5316         * lib/spawn.in.h: Likewise.
5317         * lib/sys_socket.in.h: Update an URL.
5318         * lib/sys_stat.in.h: Break long line.
5319
5320 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
5321
5322         Improve pmccabe2html.
5323         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
5324         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
5325         when the sources change. Remove the line in the HTML about "Used
5326         ranges" (which implied that there might be other unused ranges),
5327         rename "Resume" to "Summary" (easier to understand for more users).
5328         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
5329         styles, and some unnecessary blank lines.
5330
5331 2010-10-03  Bruno Haible  <bruno@clisp.org>
5332             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
5333
5334         acl: Add support for ACLs on NonStop Kernel.
5335         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
5336         Check whether the function aclsort() exists.
5337         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
5338         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
5339         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
5340         (acl_nontrivial [HAVE_ACLSORT]: New function.
5341         (file_has_acl): Implement for NonStop Kernel.
5342         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
5343         (qset_acl): Implement for NonStop Kernel.
5344         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
5345         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
5346         (main): Implement for NonStop Kernel.
5347         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
5348         Kernel. Handle this flavor.
5349         * tests/test-set-mode-acl.sh: Likewise.
5350         * tests/test-copy-acl.sh: Likewise.
5351         * tests/test-copy-file.sh: Likewise.
5352
5353 2010-10-03  Bruno Haible  <bruno@clisp.org>
5354
5355         Info about ACLs on NonStop Kernel.
5356         * doc/acl-resources.txt: Add info about NonStop Kernel.
5357         References by Joachim Schmitz <schmitz@hp.com>.
5358
5359 2010-10-02  Bruno Haible  <bruno@clisp.org>
5360
5361         Define missing EDQUOT on NonStop Kernel.
5362         * lib/errno.in.h (EDQUOT): Assign a value if missing.
5363         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
5364         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
5365         missing.
5366         * doc/posix-headers/errno.texi: Mention the NSK bug.
5367         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
5368         Reported by Joachim Schmitz <schmitz@hp.com>.
5369
5370 2010-10-02  Bruno Haible  <bruno@clisp.org>
5371
5372         Update doc for POSIX:2008.
5373         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
5374         Update URL of POSIX specification.
5375
5376 2010-10-02  Bruno Haible  <bruno@clisp.org>
5377
5378         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
5379         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
5380         from gnulib, not from Automake.
5381
5382 2010-10-02  Bruno Haible  <bruno@clisp.org>
5383
5384         New module 'system-posix'.
5385         * modules/system-posix: New file.
5386         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
5387         module is present.
5388         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
5389         GNULIB_SYSTEM_POSIX.
5390         * modules/stdlib (Depends-on): Remove sys_wait.
5391         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
5392         * doc/posix-functions/system.texi: Mention the new module.
5393         * doc/posix-headers/stdlib.texi: Likewise.
5394         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
5395         define test_sys_wait_macros to a no-op.
5396         Reported by Sam Steingold <sds@gnu.org>.
5397
5398 2010-09-30  Bruno Haible  <bruno@clisp.org>
5399
5400         More renaming from 'getdate' to 'get_date'.
5401         * doc/get_date.texi: Renamed from doc/getdate.texi.
5402         * modules/get_date (Files): Update.
5403         * MODULES.html.sh (Date and time <time.h>): Update.
5404         * DEPENDENCIES: Update.
5405         * gnulib-tool: Update comment.
5406         * m4/bison.m4 (gl_BISON): Likewise.
5407         * m4/get_date.m4 (gl_GET_DATE): Likewise.
5408
5409 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
5410
5411         bootstrap: support ACLOCAL_FLAGS during aclocal
5412         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
5413         can add additional -I dir for third-party .m4 files.
5414
5415 2010-09-30  Eric Blake  <eblake@redhat.com>
5416
5417         bootstrap: use glibtoolize on MacOS
5418         * build-aux/bootstrap (check_versions): Convert libtool into
5419         libtoolize.
5420         (tool search): Move libtool check earlier, and look for
5421         glibtoolize for MacOS.
5422         (gnulib_tool_options): Auto-add --libtool when appropriate.
5423         Reported by Justin Clift.
5424
5425         poll: fix typo that broke test on MacOS
5426         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
5427         Reported by Justin Clift.
5428
5429         getdate: rename to get_date
5430         Note: getdate.h is not renamed, to minimize client impact.
5431         * modules/getdate: Mark obsolete.  Move old contents...
5432         * modules/get_date: ...to new module name.
5433         * modules/getdate-tests: Move...
5434         * modules/get_date-tests: ...here.
5435         * m4/getdate.m4: Move...
5436         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
5437         * lib/getdate.y: Move...
5438         * lib/get_date.y: ...here.
5439         * tests/test-getdate.c: Move...
5440         * tests/test-get_date.c: ...here.
5441         * doc/posix-functions/getdate.texi (getdate): Update name.
5442         * NEWS: Mention the change.
5443
5444 2010-09-29  Bruno Haible  <bruno@clisp.org>
5445
5446         Separate the module 'waitpid' from the module 'sys_wait'.
5447         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
5448         present.
5449         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
5450         gl_MODULE_INDICATOR_FOR_TESTS.
5451         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
5452         * modules/sys_wait (Depends-on): Remove waitpid.
5453         (Makefile.am): Substitute GNULIB_WAITPID.
5454         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
5455         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
5456         signature only if the 'waitpid' module is present.
5457         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
5458         * NEWS: Mention the change.
5459         * modules/grantpt (Depends-on): Add waitpid.
5460         * modules/wait-process (Depends-on): Likewise.
5461
5462 2010-09-29  Bruno Haible  <bruno@clisp.org>
5463
5464         More tests for module 'sys_wait'.
5465         * modules/sys_wait-c++-tests: New file.
5466         * tests/test-sys_wait-c++.cc: New file.
5467         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
5468         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5469
5470 2010-09-29  Bruno Haible  <bruno@clisp.org>
5471
5472         New module 'waitpid'.
5473         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
5474         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
5475         Don't include <process.h>.
5476         (waitpid): Declare only, using modern idiom.
5477         * m4/waitpid.m4: New file.
5478         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
5479         * modules/waitpid: New file.
5480         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
5481         (Makefile.am): Update.
5482         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
5483
5484 2010-09-28  Bruno Haible  <bruno@clisp.org>
5485
5486         poll: Assume ANSI C.
5487         * lib/poll.c (poll): Use an ANSI C declaration.
5488
5489 2010-09-28  Bruno Haible  <bruno@clisp.org>
5490
5491         poll-h: Create poll.h on all platforms.
5492         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
5493         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
5494         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
5495         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
5496         (gl_REPLACE_POLL_H): Don't set POLL_H.
5497         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
5498         * modules/poll-h (Depends-on): Add include_next.
5499         (Makefile.am): Create poll.h unconditionally. Substitute also
5500         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
5501
5502 2010-09-28  Bruno Haible  <bruno@clisp.org>
5503
5504         Tests for module 'poll-h'.
5505         * modules/poll-h-c++-tests: New file.
5506         * tests/test-poll-h-c++.cc: New file.
5507
5508         Tests for module 'poll-h'.
5509         * modules/poll-h-tests: New file.
5510         * tests/test-poll-h.c: New file.
5511
5512 2010-09-28  Bruno Haible  <bruno@clisp.org>
5513
5514         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
5515         * modules/poll-h (Depends-on): Add 'extensions'.
5516
5517 2010-09-28  Bruno Haible  <bruno@clisp.org>
5518
5519         New module 'poll-h'.
5520         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
5521         (poll): Use modern idiom.
5522         * modules/poll-h: New file.
5523         * modules/poll (Files): Remove lib/poll.in.h.
5524         (Depends-on): Add poll-h.
5525         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
5526         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
5527         * m4/poll_h.m4: New file.
5528         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
5529         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
5530         and invoke gl_REPLACE_POLL_H.
5531         * lib/poll.c: Use common idiom.
5532         * tests/test-poll.c: Likewise.
5533         * doc/posix-headers/poll.texi: Mention the poll-h module.
5534         Suggested by Eric Blake.
5535
5536 2010-09-26  Bruno Haible  <bruno@clisp.org>
5537
5538         sys_wait: Implement WSTOPSIG.
5539         * lib/sys_wait.in.h (WSTOPSIG): New macro.
5540         Reported by Simon Josefsson.
5541
5542 2010-09-26  Simon Josefsson  <simon@josefsson.org>
5543
5544         stdlib, sys_wait: Avoid compilation error on mingw.
5545         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
5546
5547 2010-09-26  Bruno Haible  <bruno@clisp.org>
5548
5549         stdlib tests: Avoid code duplication.
5550         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
5551         * modules/sys_wait-tests (Files): Likewise.
5552         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
5553         * tests/test-stdlib.c: Include test-sys_wait.h.
5554         (main): Invoke test_sys_wait_macros.
5555         * tests/test-sys_wait.c: Include test-sys_wait.h.
5556         (main): Invoke test_sys_wait_macros.
5557
5558 2010-09-25  Simon Josefsson  <simon@josefsson.org>
5559
5560         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
5561         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
5562         sure Windows sockets are working before calling getaddrinfo.
5563         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
5564         * doc/gnulib.texi (Windows sockets): Fix typo.
5565
5566 2010-09-25  Bruno Haible  <bruno@clisp.org>
5567
5568         Tests for module 'regex-quote'.
5569         * modules/regex-quote-tests: New file.
5570         * tests/test-regex-quote.c: New file.
5571
5572         New module 'regex-quote'.
5573         * lib/regex-quote.h: New file.
5574         * lib/regex-quote.c: New file.
5575         * modules/regex-quote: New file.
5576         Suggested by Reuben Thomas <rrt@sc3d.org>.
5577
5578 2010-09-24  Bruno Haible  <bruno@clisp.org>
5579
5580         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
5581         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
5582
5583 2010-09-23  Bruno Haible  <bruno@clisp.org>
5584
5585         setenv: Relax license.
5586         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
5587         Blake.
5588         Requested by Eric Blake.
5589
5590 2010-09-22  Bruno Haible  <bruno@clisp.org>
5591
5592         termios: Relax license.
5593         * modules/termios (License): Change to LGPLv2+.
5594         Requested by Eric Blake.
5595
5596 2010-09-22  Bruno Haible  <bruno@clisp.org>
5597
5598         threadlib: Allow the package to change the default to 'no'.
5599         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
5600         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
5601         Reported by Paul Eggert.
5602
5603 2010-09-22  Pádraig Brady  <P@draigbrady.com>
5604             Bruno Haible  <bruno@clisp.org>
5605
5606         Fix endless loop in mbmemcasecoll.
5607         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
5608         byte.
5609         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
5610
5611 2010-09-22  Bruno Haible  <bruno@clisp.org>
5612
5613         Tests for module 'memcoll'.
5614         * modules/memcoll-tests: New file.
5615         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
5616
5617         memcoll, xmemcoll: Clarify size vs. length.
5618         * modules/memcoll.c (memcoll0): Clarify specification.
5619         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
5620         passed to collate_error.
5621
5622 2010-09-22  Bruno Haible  <bruno@clisp.org>
5623
5624         Tests for module 'memcasecmp'.
5625         * modules/memcasecmp-tests: New file.
5626         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
5627
5628 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
5629
5630         * lib/pthread.in.h: Add split double-inclusion guard, and include
5631         system <pthread.h> if there is one.  Use @@-style as in other
5632         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
5633         pthread.h doesn't.
5634         (pthread_mutexattr_destroy, pthread_mutexattr_init):
5635         (pthread_mutexattr_settype, pthread_mutex_trylock):
5636         New static inline functions, if there's no system <pthread.h>.
5637         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
5638         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
5639         Approximate with mutexes if the system lacks spinlocks, as in
5640         MacOS.
5641         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
5642         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
5643         @@-style.  Check for spinlocks separately.
5644         (gl_PTHREAD_DEFAULTS): New macro.
5645         * modules/pthread: Redo to use a more typical style for in.h files.
5646
5647 2010-09-21  Eric Blake  <eblake@redhat.com>
5648
5649         net_if: enhance tests
5650         * tests/test-net_if.c (main): Move signature checks earlier.
5651         Print failures to stderr.
5652         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
5653         Document the bug that we do not yet fix.
5654
5655 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
5656
5657         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
5658         about gnulib, not GSS.
5659
5660 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
5661
5662         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
5663         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
5664         for Emacs.
5665         * build-aux/pmccabe2html: Make Makefile.am example code more
5666         cut-and-paste friendly.
5667
5668 2010-09-21  Simon Josefsson  <simon@josefsson.org>
5669
5670         * tests/test-net_if.c: New file.
5671         * modules/net_if-tests: New file.
5672
5673 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5674
5675         pthread: add pthread_spin_destroy
5676         * lib/pthread.in.h (pthread_spin_destroy): New function.
5677
5678 2010-09-19  Bruno Haible  <bruno@clisp.org>
5679
5680         gnulib-tool: Fix --help output.
5681         * gnulib-tool (func_usage): Fix help message.
5682         Reported by Reuben Thomas <rrt@sc3d.org>.
5683
5684 2010-09-18  Jim Meyering  <meyering@redhat.com>
5685
5686         maint.mk: avoid unexpanded \n in two diagnostics
5687         * top/maint.mk (sc_prohibit_always_true_header_tests):
5688         Don't use a literal \n in a halt=... assignment.  It would not be
5689         expanded, and the two \n bytes would appear in the diagnostic output
5690         rather than the desired newline.  Use halt=$$(printf ... instead.
5691         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
5692
5693 2010-09-18  Bruno Haible  <bruno@clisp.org>
5694
5695         netinet_in: Doc tweak.
5696         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
5697         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5698
5699 2010-09-18  Jim Meyering  <meyering@redhat.com>
5700
5701         init.sh: correct an outdated comment
5702         * tests/init.sh (create_exe_shims_):  s/function/alias/
5703
5704         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
5705         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
5706         a file named "*.exe" is removed between the glob expansion and the
5707         processing of that oddly named file.
5708
5709 2010-09-17  Eric Blake  <eblake@redhat.com>
5710
5711         mirbsd: add some more support
5712         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
5713         in BSD family.
5714         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
5715         devices as OpenBSD.
5716         * m4/host-os.m4 (mirbsd): Add MirBSD.
5717
5718         tests: fix unportable assumption on sys/wait.h
5719         * tests/test-sys_wait.c (main): Relax test.
5720         * tests/test-stdlib.c (main): Likewise.
5721
5722         init.sh: accomodate directory with no .exes
5723         * tests/init.sh: Accomodate directory containing only scripts.
5724
5725         tests: avoid compiler warning
5726         * tests/test-stdlib.c (main): Use the variable.
5727
5728         fdutimens, fdutimensat: update signature, again
5729         * lib/utimens.h (gl_futimens): Delete, and move signature...
5730         (fdutimens): ...here.
5731         (fdutimensat): Rearrange signature.
5732         (lutimensat): Rename variable for clarity.
5733         * lib/fdutimensat.c (fdutimensat): Update signature.
5734         * lib/utimens.c (fdutimens): Likewise.
5735         (gl_futimens): Delete.
5736         (utimens, lutimens): Update callers.
5737         * lib/futimens.c (futimens): Likewise.
5738         * tests/test-fdutimensat.c: Likewise.
5739         * tests/test-utimens.c: Likewise.
5740         * tests/test-futimens.h: Update comment.
5741         * NEWS: Mention this.
5742         Suggested by Paul Eggert.
5743
5744 2010-09-17  Bruno Haible  <bruno@clisp.org>
5745
5746         Take over the maintenance of some older macros from Autoconf.
5747         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
5748         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
5749         GNU Autoconf.
5750         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
5751         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
5752
5753 2010-09-17  Eric Blake  <eblake@redhat.com>
5754
5755         fdutimensat: drop atflag validation
5756         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
5757         with valid fd, to close a race scenario where futimens is
5758         unsupported and FILE was replaced by a symlink.
5759         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
5760         accordingly.
5761         Suggested by Paul Eggert.
5762
5763 2010-09-16  Bruno Haible  <bruno@clisp.org>
5764
5765         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
5766         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
5767
5768 2010-09-16  Bruno Haible  <bruno@clisp.org>
5769
5770         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
5771         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
5772         login_tty exists.
5773         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5774
5775 2010-09-16  Bruno Haible  <bruno@clisp.org>
5776
5777         login_tty: Make the replacement code work on BSD systems.
5778         * lib/login_tty.c: Include <sys/ioctl.h>.
5779         (login_tty): Use ioctl TIOCSCTTY when available.
5780         * modules/login_tty (Depends-on): Add sys_ioctl.
5781         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5782
5783 2010-09-16  Bruno Haible  <bruno@clisp.org>
5784
5785         login_tty: Stricter unit test.
5786         * modules/login_tty-tests (Depends-on): Add tcgetsid.
5787         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
5788         and tcgetsid() after login_tty.
5789         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
5790
5791 2010-09-16  Bruno Haible  <bruno@clisp.org>
5792
5793         New module 'tcgetsid'.
5794         * lib/tcgetsid.c: New file.
5795         * m4/tcgetsid.m4: New file.
5796         * modules/tcgetsid: New file.
5797         * modules/termios (Depends-on): Add c++defs, warn-on-use.
5798         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
5799         GNULIB_TCGETSID, HAVE_TCGETSID.
5800         * lib/termios.in.h: Include <sys/types.h>.
5801         (tcgetsid): New declaration.
5802         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
5803         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
5804         * doc/posix-functions/tcgetsid.texi: Mention the new module.
5805         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
5806
5807 2010-09-16  Bruno Haible  <bruno@clisp.org>
5808
5809         Tests for module 'termios'.
5810         * modules/termios-c++-tests: New file.
5811         * modules/termios-tests: New file.
5812         * tests/test-termios-c++.cc: New file.
5813         * tests/test-termios.c: New file.
5814
5815         New module 'termios'.
5816         * modules/termios: New file.
5817         * lib/termios.in.h: New file.
5818         * m4/termios_h.m4: New file.
5819         * doc/posix-headers/termios.texi: Mention the new module.
5820
5821 2010-09-16  Eric Blake  <eblake@redhat.com>
5822
5823         fdutimensat: add an atflag parameter
5824         * lib/fdutimensat.c (fdutimensat): Add new parameter.
5825         * lib/utimens.h (fdutimensat): Update prototype.
5826         * tests/test-fdutimensat.c: Adjust test to match.
5827         * NEWS: Document the change.
5828         Suggested by Paul Eggert.
5829
5830 2010-09-16  Bruno Haible  <bruno@clisp.org>
5831
5832         Fix typos in comments.
5833         * lib/striconveh.h: Fix typo in comment.
5834         * lib/login_tty.c (login_tty): Likewise.
5835
5836 2010-09-15  Bruno Haible  <bruno@clisp.org>
5837
5838         stdlib: clarify MirBSD WEXITSTATUS bug
5839         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
5840         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
5841
5842 2010-09-15  Eric Blake  <eblake@redhat.com>
5843
5844         stdlib: work around MirBSD WEXITSTATUS bug
5845         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
5846         * modules/stdlib (Depends-on): Add sys_wait.
5847         * tests/test-sys_wait.c (main): Enhance test.
5848         * tests/test-stdlib.c (main): Likewise.
5849         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
5850
5851         docs: mention MacOS issue with WEXITSTATUS(constant)
5852         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
5853         issue.
5854         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
5855
5856         strnlen: add tests
5857         * modules/strnlen-tests: New file.
5858         * tests/test-strnlen.c: Likewise.
5859
5860 2010-09-14  Bruno Haible  <bruno@clisp.org>
5861
5862         unistr/base: Avoid link errors when module 'libunistring' is also used.
5863         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
5864         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
5865         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
5866         Declare also when HAVE_LIBUNISTRING is set.
5867         Reported by Pádraig Brady <P@draigbrady.com>.
5868
5869 2010-09-14  Eric Blake  <eblake@redhat.com>
5870
5871         test-rawmemchr: make more robust
5872         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
5873         (Depends-on, configure.ac): Add needed prerequisites to use it.
5874         * modules/memchr-tests (Files, Depends-on, configure.ac):
5875         Likewise, to avoid implicit reliance on memchr module prereqs.
5876         * tests/test-memchr.c (main): Ensure proper masking.
5877         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
5878         reads.
5879
5880         memchr: detect glibc Alpha bug
5881         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
5882         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
5883         Alpha.
5884         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
5885         * tests/test-memchr.c (main): Enhance test.
5886         Reported by Nelson H. F. Beebe.
5887
5888 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
5889
5890         fts, getcwd, glob: audit for dirfd returning -1
5891         * lib/fts.c (opendir): Remove #define; no longer used.
5892         (opendirat): New arg PDIR_FD.  All callers changed.
5893         (fts_build, _opendir2): Use new opendirat to avoid the need for
5894         dirfd, or for checking whether dirfd returns a negative value.
5895         Don't use opendir; always use openat followed by fdopendir.
5896         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
5897         it.
5898         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
5899         returns -1 here.
5900         * modules/fts (Depends-on): Remove dirfd.
5901         * modules/getcwd (Depends-on): Likewise.
5902
5903 2010-09-13  Eric Blake  <eblake@redhat.com>
5904
5905         float: fix broken MirBSD header
5906         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
5907         * doc/posix-headers/float.texi (float.h): Document it.
5908
5909 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
5910
5911         fts: use O_NOFOLLOW to avoid race condition when opening a directory
5912         * lib/fts.c (opendirat): New arg extra_flags.
5913         (__opendir2): Use it to avoid following symlinks when opening
5914         a directory, if symlinks are not supposed to be followed.  See
5915         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
5916
5917         fdopendir: preserve argument fd before returning
5918         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
5919         (fdopendir_with_dup, fd_clone_opendir): New static functions.
5920         (fdopendir): Use them, arranging for FD to be open to the same
5921         directory that it was when it started.  (It might be temporarily
5922         closed while fdopendir is running, so this not thread- or
5923         signal-safe.)  Be careful to do the right thing even when file
5924         descriptors are scarce and dup fails with errno == EMFILE.  See
5925         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
5926
5927 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
5928
5929         regex: Pass the system regex if its only problem is 32-bit regoff_t.
5930         * NEWS: Document change.
5931         * m4/regex.m4: Disable test for regoff_t size.
5932
5933 2010-09-13  Jim Meyering  <meyering@redhat.com>
5934
5935         fts: don't operate on an invalid file descriptor after failed dup
5936         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
5937         negative file descriptor.
5938
5939 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
5940
5941         savedir: add streamsavedir, deprecate fdsavedir
5942         * NEWS: Mention deprecation of fdsavedir.
5943         * lib/savedir.c (streamsavedir): New extern function, whose name
5944         ends in "savedir" to be consistent with the others.  This differs
5945         from savedirstream in that it doesn't close its argument.  The
5946         next version of GNU tar will use this instead of fdsavedir, to
5947         avoid some race conditions and conserve file descriptors.
5948         (savedirstream): Reimplement as a wrapper around streamsavedir.
5949         (fdsavedir): Add a comment deprecating this function.  As far as
5950         I know, only GNU tar used it, and GNU tar doesn't need it any more.
5951         * lib/savedir.h (streamsavedir): New decl.
5952         (fdsavedir): Add a comment deprecating this.
5953
5954 2010-09-10  Bruno Haible  <bruno@clisp.org>
5955
5956         langinfo: Fix last commit.
5957         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
5958         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
5959         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5960
5961 2010-09-10  Bruno Haible  <bruno@clisp.org>
5962
5963         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
5964         * lib/progreloc.c (O_EXEC): Define fallback.
5965
5966 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
5967
5968         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
5969         * NEWS: Document recent changes to fcntl-h.
5970         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
5971         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
5972         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
5973         Similarly for O_SEARCH; this last was already true, but not documented.
5974         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
5975         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
5976         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
5977         Likewise.
5978         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
5979         is zero, not whether it is defined.
5980         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
5981         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
5982         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
5983
5984 2010-09-10  Bruno Haible  <bruno@clisp.org>
5985
5986         langinfo, nl_langinfo: Fix for IRIX 5.3.
5987         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
5988         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
5989         HAVE_LANGINFO_YESEXPR.
5990         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
5991         HAVE_LANGINFO_YESEXPR.
5992         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
5993         HAVE_LANGINFO_T_FMT_AMPM is 0.
5994         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
5995         HAVE_LANGINFO_YESEXPR is 0.
5996         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
5997         NOEXPR.
5998         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
5999         * doc/posix-functions/nl_langinfo.texi: Likewise.
6000         Reported by Eric Blake.
6001
6002 2010-09-10  Bruno Haible  <bruno@clisp.org>
6003
6004         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
6005         * doc/glibc-functions/login_tty.texi: Mention the include file problem
6006         on FreeBSD 8.0 and OpenBSD 4.6.
6007         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
6008         * m4/pty_h.m4 (gl_PTY_H): Likewise.
6009         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
6010         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
6011         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
6012         ac_includes_default.
6013         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
6014
6015 2010-09-09  Eric Blake  <eblake@redhat.com>
6016
6017         strsignal: work around NetBSD bug
6018         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
6019         * lib/string.in.h (includes): Likewise.
6020         * doc/posix-functions/strsignal.texi (strsignal): Document the
6021         bug.
6022         Reported by Nelson H. F. Beebe.
6023
6024         gnulib-tool: work with NetBSD /bin/sh
6025         * gnulib-tool (func_cache_var, func_cache_lookup_module)
6026         (func_get_description, func_get_comment, func_get_status)
6027         (func_get_notice, func_get_applicability, func_get_filelist)
6028         (func_get_dependencies, func_get_autoconf_early_snippet)
6029         (func_get_autoconf_snippet, func_get_automake_snippet)
6030         (func_get_include_directive, func_get_link_directive)
6031         (func_get_license, func_get_maintainer, func_import): Avoid
6032         shell syntax errors from parsing syntax extensions.
6033
6034 2010-09-09  Bruno Haible  <bruno@clisp.org>
6035
6036         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
6037         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
6038         a reliable way to determine whether the 'alias' command works.
6039
6040 2010-09-08  Jim Meyering  <meyering@redhat.com>
6041
6042         init.sh: penalize a set-x-impaired shell; don't disqualify it
6043         * tests/init.sh: Too many shells corrupt application stderr when
6044         you set -x, so we can't afford to disqualify them, since at least
6045         on Irix-6.5, that would disqualify all bourne shells.
6046         Instead, use a two-pass approach.
6047         On the first pass, try to find a shell that meets the stricter
6048         condition that set -x does not corrupt stderr.
6049         If no shell meets the stricter condition, retest each candidate
6050         shell, but without that extra condition.  Finally, when
6051         VERBOSE=yes is requested and set -x might cause trouble, simply
6052         issue a warning and refrain from enabling debug output.
6053
6054 2010-09-08  Eric Blake  <eblake@redhat.com>
6055
6056         unsetenv: fix OpenBSD bug
6057         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
6058         * doc/posix-functions/unsetenv.texi (unsetenv): Update
6059         documentation.
6060         Reported by Jim Meyering.
6061
6062         strtod: work around IRIX 6.5 bug
6063         * lib/strtod.c (strtod): Reparse number on shorter string if
6064         exponent parse was invalid.
6065         * tests/test-strtod.c (main): Add check for "0x1p 2".
6066         Reported by Tom G. Christensen.
6067
6068         getopt: optimize previous patch
6069         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
6070         empty variable.  Speed up awk script.
6071         Reported by Paolo Bonzini.
6072
6073 2010-09-08  Jim Meyering  <meyering@redhat.com>
6074
6075         test.sh: disqualify shells for which set -x corrupts stderr
6076         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
6077         and OpenBSD 4.7.  They make it so with "set -x", environment settings
6078         appear in stderr output.  For example, this command:
6079             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
6080         prints "P=1" on those two systems:
6081
6082 2010-09-08  Bruno Haible  <bruno@clisp.org>
6083
6084         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
6085         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
6086         commands, because some shells ignore redirections when there is an
6087         error in the command lookup.
6088         Reported by Eric Blake.
6089
6090 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
6091
6092         * lib/regex.h: Fix a mention of `regex_compile' (should be
6093         `re_compile_pattern').
6094         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
6095         (re_set_registers): Correct name of parameter in comment.
6096
6097         * doc/regex.texi: Add documentation for missing syntax flags.
6098         Remove commented-out documentation of defunct syntax option
6099         RE_NO_EMPTY_ALTS.
6100         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
6101         Add documentation of re_set_registers.
6102         Document trick to re-use a pattern buffer by setting fastmap manually.
6103         Update documentation of struct re_pattern_buffer per public members.
6104         Uncomment documentation of equivalence class operators and
6105         collating symbol operators, since they are now implemented,
6106         Explain leftmost-longest matching in relation to alternatives.
6107         Tidy documentation of substring matching.
6108         Remove POSIX documentation, which is done better in
6109         glibc, and refer the reader there. Keep BSD API documentation, as
6110         that is not readily available elsewhere.
6111
6112 2010-09-07  Eric Blake  <eblake@redhat.com>
6113
6114         getopt: handle POSIXLY_CORRECT set but not exported
6115         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
6116         export state of POSIXLY_CORRECT, due to bash set -o posix.
6117         Reported by Dustin J. Mitchell.
6118
6119 2010-09-05  Bruno Haible  <bruno@clisp.org>
6120
6121         gnulib-tool: Highlight the changed options.
6122         * gnulib-tool (func_usage): Display the --import, --add-import,
6123         --remove-import explanations in bold font.
6124
6125 2010-09-06  Karl Berry  <karl@gnu.org>
6126
6127         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
6128
6129 2010-09-05  Bruno Haible  <bruno@clisp.org>
6130
6131         uniwidth/width: Update comment.
6132         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
6133         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
6134
6135 2010-09-05  Bruno Haible  <bruno@clisp.org>
6136
6137         isinf, isnan: Relax license.
6138         * modules/isinf (License): Change from GPL to LGPL, with consent from
6139         Ben Pfaff.
6140         * modules/isnan (License): Likewise.
6141         Requested by Ludovic Courtès.
6142
6143 2010-09-04  Bruno Haible  <bruno@clisp.org>
6144
6145         gnulib-tool: Help migration from --import to --add-import or --update.
6146         * gnulib-tool: Emit a verbose error message when --import is used
6147         without any module name.
6148
6149 2010-09-04  Bruno Haible  <bruno@clisp.org>
6150
6151         Update doc about gnulib-tool.
6152         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
6153         'gnulib-tool --update' in more detail.
6154         Reported by Eric Blake.
6155
6156 2010-09-04  Bruno Haible  <bruno@clisp.org>
6157
6158         gnulib-tool: Change --import. New options --add/remove-import.
6159         * gnulib-tool: New options --add-import, --remove-import.
6160         (func_usage): Document them.
6161         (have_associative): Define always.
6162         (func_import): In import mode, don't merge the specified settings with
6163         the cached settings. Implement remove-import mode.
6164         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
6165         Explain when to use them versus --import.
6166         (Simple update): Use --add-import instead of --import.
6167         * NEWS: Mention the change.
6168
6169 2010-09-04  Bruno Haible  <bruno@clisp.org>
6170
6171         * doc/gnulib-tool.texi (Initial import): Update paragraph about
6172         separate gnulib.mk.
6173
6174 2010-09-04  Bruno Haible  <bruno@clisp.org>
6175
6176         gnulib-tool: Don't talk about CVS any more.
6177         * gnulib-tool (func_usage, func_import): Write "version control"
6178         instead of CVS.
6179
6180 2010-09-04  Jim Meyering  <meyering@redhat.com>
6181
6182         maint.mk: avoid obscure sc_copyright_check failure in coreutils
6183         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
6184         false positives (whose names may be ill-chosen) when searching
6185         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
6186         would cause a false-positive.
6187
6188         avoid coreutils "make distcheck" failure
6189         Coreutils tests with an absolute build directory name that contains
6190         a space.  Not quoting this directory name caused a failure.
6191         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
6192         * tests/test-vc-list-files-cvs.sh: Likewise.
6193
6194 2010-09-04  Bruno Haible  <bruno@clisp.org>
6195
6196         gnulib-tool: Avoid error when run in a package without Makefile.am.
6197         * gnulib-tool: When collecting the m4dirs in a package that does not
6198         have a Makefile.am, eliminate those directories that contain no
6199         gnulib-cache.m4. Fix expression that counts these directories.
6200
6201 2010-09-04  Bruno Haible  <bruno@clisp.org>
6202
6203         update-copyright test: Improve output when perl is missing or too old.
6204         * tests/test-update-copyright.sh: Move test of Perl version down after
6205         the test whether Perl exists. Provide an explanation relating Perl's
6206         error message to Automake's SKIP: message.
6207
6208 2010-09-04  Bruno Haible  <bruno@clisp.org>
6209
6210         Don't augment PATH in TESTS_ENVIRONMENT.
6211         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
6212         set abs_aux_dir instead of augmenting PATH.
6213         * modules/vc-list-files-tests (Makefile.am): Likewise.
6214         * tests/test-update-copyright.sh: Augment PATH here.
6215         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
6216         path_prepend_.
6217         * tests/test-vc-list-files-git.sh: Likewise.
6218
6219 2010-09-04  Jim Meyering  <meyering@redhat.com>
6220
6221         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
6222         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
6223
6224 2010-09-04  Bruno Haible  <bruno@clisp.org>
6225
6226         strdup: Fix compilation error in C++ mode.
6227         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
6228         the macro.
6229
6230 2010-09-04  Bruno Haible  <bruno@clisp.org>
6231
6232         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
6233         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
6234         macro into a function.
6235         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
6236
6237 2010-09-04  Bruno Haible  <bruno@clisp.org>
6238
6239         Set PATH_SEPARATOR the same way autoconf does.
6240         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
6241         the value of PATH_SEPARATOR the same way autoconf-generated configure
6242         scripts do.
6243         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
6244         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
6245
6246 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
6247
6248         Set PATH_SEPARATOR the same way autoconf does.
6249         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
6250         the same way autoconf-generated configure scripts do.
6251         * posix-modules: Likewise.
6252
6253 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
6254
6255         hash: fix safe_hasher const typo
6256         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
6257         const; otherwise, there is a type error later.
6258
6259 2010-09-02  Jim Meyering  <meyering@redhat.com>
6260
6261         test-update-copyright.sh: require perl 5.8.0
6262         * tests/test-update-copyright.sh: Require 5.8.0,
6263         which Tom G. Christensen has confirmed is adequate,
6264         while 5.6.1 is not.
6265
6266 2010-09-02  Eric Blake  <eblake@redhat.com>
6267
6268         tests: init.sh improvements for re-exec'ing with zsh
6269         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
6270         -vx through shell re-exec.
6271         Reported by Tom G. Christensen.
6272
6273         wctype: fix typo in previous commit
6274         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
6275         Reported by Ludovic Courtès.
6276
6277 2010-09-02  Jim Meyering  <meyering@redhat.com>
6278
6279         test-update-copyright.sh: skip test if Perl is too old
6280         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
6281         Reported by Tom G. Christensen.
6282
6283 2010-09-02  Bruno Haible  <bruno@clisp.org>
6284
6285         wctype: Avoid compilation error on IRIX 6.5.30.
6286         * lib/wctype.in.h (iswblank): Declare with a replacement if
6287         REPLACE_ISWBLANK is set.
6288         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
6289         declared. Set REPLACE_ISWBLANK.
6290         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
6291         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
6292         * doc/posix-headers/wctype.texi: Likewise.
6293         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6294
6295 2010-09-01  Bruno Haible  <bruno@clisp.org>
6296
6297         New module 'socketlib'.
6298         * modules/socketlib: New file.
6299         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
6300         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
6301         * modules/sockets (Depends-on): Add socketlib.
6302         Suggested by Sam Steingold <sds@gnu.org>.
6303
6304 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6305
6306         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
6307
6308         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
6309         when one needs search access to a directory but not read access.
6310         On systems where it is available, it works in some cases where
6311         O_RDONLY does not, namely on directories that are searchable but
6312         not readable, and which need only to be searchable.  If O_SEARCH
6313         is not available, fall back to the traditional method of using
6314         O_RDONLY.
6315
6316         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
6317         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
6318         when opening a directory that needs only to be searchable.
6319         * lib/chdir-safer.c (chdir_no_follow): Likewise.
6320         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
6321         * lib/openat-proc.c (openat_proc_name): Likewise.
6322         * lib/openat.c (openat_needs_fchdir): Likewise.
6323         * lib/save-cwd.c (save_cwd): Likewise.
6324         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
6325
6326 2010-08-28  Bruno Haible  <bruno@clisp.org>
6327
6328         New module 'host-cpu-c-abi'.
6329         * modules/host-cpu-c-abi: New file.
6330         * m4/host-cpu-c-abi.m4: New file, based on part of
6331         clisp/src/m4/general.m4.
6332         Requested by Sam Steingold <sds@gnu.org>.
6333
6334 2010-08-31  Eric Blake  <eblake@redhat.com>
6335         and Jim Meyering  <meyering@redhat.com>
6336
6337         hash: factor, and guard against misbehaving hasher function
6338         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
6339         of table->hasher's return value.  Also protect against a hash value
6340         so large that adding it to table->bucket results in a NULL pointer.
6341         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
6342         Use it in place of open-coded check-and-abort.
6343
6344 2010-08-30  Bruno Haible  <bruno@clisp.org>
6345
6346         hash: silence spurious clang warning
6347         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
6348         Reported by Eric Blake.
6349
6350 2010-08-30  Eric Blake  <eblake@redhat.com>
6351
6352         strstr, memmem, strcasestr: avoid leaked shell message
6353         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
6354         FreeBSD.
6355         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6356         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
6357
6358         tests: silence clang warning
6359         * tests/test-malloca.c (do_allocation): Avoid dead store.
6360
6361 2010-08-29  Bruno Haible  <bruno@clisp.org>
6362
6363         gettext: Fix recent mistake.
6364         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
6365
6366 2010-08-29  Bruno Haible  <bruno@clisp.org>
6367
6368         selinux-h: Offer a --without-selinux option.
6369         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
6370         --without-selinux was specified, skip all tests and define
6371         HAVE_SELINUX_SELINUX_H to 0.
6372         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
6373         set LIB_SELINUX to empty.
6374         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
6375         gl_LIBSELINUX. If --without-selinux was specified, replace
6376         selinux/context.h.
6377         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
6378
6379 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6380             Bruno Haible  <bruno@clisp.org>
6381
6382         Make the module 'realloc-gnu' work again on AIX and OSF/1.
6383         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
6384         of HAVE_REALLOC.
6385         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
6386         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
6387         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
6388         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
6389
6390 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6391             Bruno Haible  <bruno@clisp.org>
6392
6393         Make the module 'calloc-gnu' work again on AIX and OSF/1.
6394         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
6395         HAVE_CALLOC.
6396         * lib/xmalloc.c: Update accordingly.
6397         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
6398         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
6399         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
6400
6401 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6402             Bruno Haible  <bruno@clisp.org>
6403
6404         Make the module 'malloc-gnu' work again on AIX and OSF/1.
6405         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
6406         HAVE_MALLOC.
6407         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
6408         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
6409         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
6410
6411 2010-08-29  Bruno Haible  <bruno@clisp.org>
6412
6413         Update modules list.
6414         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
6415         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
6416         (String handling <string.h>): Add astrxfrm.
6417         (File system functions): Add readlinkat.
6418
6419 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6420
6421         Tests for module 'realloc-gnu'.
6422         * modules/realloc-gnu-tests: New file.
6423         * tests/test-realloc-gnu.c: New file.
6424
6425         Tests for module 'calloc-gnu'.
6426         * modules/calloc-gnu-tests: New file.
6427         * tests/test-calloc-gnu.c: New file.
6428
6429         Tests for module 'malloc-gnu'.
6430         * modules/malloc-gnu-tests: New file.
6431         * tests/test-malloc-gnu.c: New file.
6432
6433 2010-08-28  Bruno Haible  <bruno@clisp.org>
6434
6435         Rename module 'realloc' -> 'realloc-gnu'.
6436         * modules/realloc-gnu: New file, copied from modules/realloc.
6437         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
6438         obsolete.
6439         * modules/mgetgroups (Depends-on): Update.
6440         * doc/posix-functions/realloc.texi: Update.
6441         * NEWS: Mention the change.
6442
6443         Rename module 'calloc' -> 'calloc-gnu'.
6444         * modules/calloc-gnu: New file, copied from modules/calloc.
6445         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
6446         obsolete.
6447         * doc/posix-functions/calloc.texi: Update.
6448         * NEWS: Mention the change.
6449
6450         Rename module 'malloc' -> 'malloc-gnu'.
6451         * modules/malloc-gnu: New file, copied from modules/malloc.
6452         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
6453         obsolete.
6454         * modules/argp (Depends-on): Update.
6455         * modules/regex (Depends-on): Update.
6456         * doc/posix-functions/malloc.texi: Update.
6457         * NEWS: Mention the change.
6458
6459 2010-08-28  Eric Blake  <eblake@redhat.com>
6460
6461         pread, pwrite: add missing dependency
6462         * modules/pread (Depends-on): Add extensions.
6463         * modules/pwrite (Depends-on): Likewise.
6464
6465 2010-08-28  Bruno Haible  <bruno@clisp.org>
6466
6467         unistr/u*-strchr: Fix tests dependencies.
6468         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
6469         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
6470         Reported by Ian Beckwith <ianb@erislabs.net>.
6471
6472 2010-08-28  Bruno Haible  <bruno@clisp.org>
6473
6474         read-file: Don't occupy too much unused memory.
6475         * lib/read-file.c (fread_file): Shrink the buffer at the end.
6476
6477 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
6478             Eric Blake  <eblake@redhat.com>
6479             Bruno Haible  <bruno@clisp.org>
6480
6481         read-file: Avoid memory reallocations with regular files.
6482         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
6483         (fread_file): With regular files, use the remaining length as the
6484         initial buffer size.  Check against overflow.
6485         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
6486         sys_stat.
6487
6488 2010-08-28  Bruno Haible  <bruno@clisp.org>
6489
6490         ftello: Relax license.
6491         * modules/ftello (License): Relax to LGPLv2+.
6492         Reported by Eric Blake.
6493
6494 2010-08-28  Bruno Haible  <bruno@clisp.org>
6495
6496         Avoid relocwrapper link errors due to gnulib replacement functions.
6497         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
6498         function.
6499         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6500
6501 2010-08-28  Bruno Haible  <bruno@clisp.org>
6502
6503         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
6504         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
6505         defined.
6506         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
6507         Suggested by Eric Blake.
6508
6509 2010-08-28  Bruno Haible  <bruno@clisp.org>
6510
6511         sys_socket, netdb: Ensure socklen_t gets defined.
6512         * modules/sys_socket (Depends-on): Add socklen.
6513         * modules/netdb (Depends-on): Likewise.
6514         * modules/getaddrinfo (Depends-on): Remove socklen.
6515         * modules/getsockopt (Depends-on): Likewise.
6516         * modules/setsockopt (Depends-on): Likewise.
6517         * tests/test-sys_socket.c: Check that socklen_t is defined.
6518         * tests/test-netdb.c: Likewise.
6519         * m4/socklen.m4: Update comments.
6520         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6521
6522 2010-08-27  Eric Blake  <eblake@redhat.com>
6523
6524         login_tty: add missing dependency
6525         * modules/login_tty (Depends-on): Add pty.
6526
6527 2010-08-26  Eric Blake  <eblake@redhat.com>
6528
6529         lib-symbol-versions: fix m4 quoting
6530         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
6531         format for AC_LINK_IFELSE.
6532
6533         glob: fix compile test
6534         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
6535
6536         btowc: fix missing file
6537         * modules/btowc (Files): Also ship locale-fr.m4.
6538
6539         lseek: fix link test
6540         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
6541         AC_LINK_IFELSE.
6542
6543         include_next: silence autoconf 2.68 warning
6544         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
6545         AC_COMPILE_IFELSE as special.
6546         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
6547         autoconf < 2.68.
6548
6549         acl: fix compilation test
6550         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
6551         AC_COMPILE_IFELSE.
6552
6553 2010-08-26  Bruno Haible  <bruno@clisp.org>
6554
6555         Modernize AC_TRY_RUN invocations.
6556         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
6557         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
6558         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
6559         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
6560         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
6561         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
6562         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
6563         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
6564         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6565         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6566         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
6567         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
6568         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
6569         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
6570         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
6571         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
6572         gl_MBRLEN_NUL_RETVAL): Likewise.
6573         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6574         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
6575         Likewise.
6576         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6577         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6578         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
6579         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
6580         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
6581         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
6582         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
6583         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6584         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
6585         Likewise.
6586         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
6587         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
6588         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
6589         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
6590         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6591         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
6592         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6593         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
6594         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6595         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
6596
6597 2010-08-26  Bruno Haible  <bruno@clisp.org>
6598
6599         Modernize AC_TRY_LINK invocations.
6600         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
6601         AC_TRY_LINK.
6602         * m4/argp.m4 (gl_ARGP): Likewise.
6603         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
6604         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
6605         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
6606         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
6607         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
6608         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
6609         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
6610         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6611         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
6612         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
6613         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
6614         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
6615         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
6616         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6617         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
6618         * m4/hostent.m4 (gl_HOSTENT): Likewise.
6619         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
6620         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
6621         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
6622         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
6623         Likewise.
6624         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
6625         Likewise.
6626         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
6627         Likewise.
6628         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
6629         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
6630         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
6631         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6632         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
6633         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
6634         * m4/servent.m4 (gl_SERVENT): Likewise.
6635         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6636         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
6637         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
6638         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
6639         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
6640         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6641         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6642         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6643         * modules/tsearch-tests (configure.ac): Likewise.
6644
6645 2010-08-26  Bruno Haible  <bruno@clisp.org>
6646
6647         Modernize AC_TRY_COMPILE invocations.
6648         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
6649         AC_TRY_COMPILE.
6650         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
6651         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
6652         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
6653         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6654         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
6655         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6656         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
6657         * m4/lock.m4 (gl_LOCK): Likewise.
6658         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
6659         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
6660         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
6661         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
6662         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
6663         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
6664         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
6665         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
6666         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
6667         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
6668         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
6669         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
6670         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
6671         extraneous semicolon.
6672
6673 2010-08-26  Jim Meyering  <meyering@redhat.com>
6674
6675         stat-time: relax license LGPL
6676         * modules/stat-time (License): Change from GPL to LGPL,
6677         with consent from all contributors, for use in libguile.
6678         Requested by Ludovic Courtès.
6679
6680 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
6681
6682         poll: return immediately on POLLHUP.
6683         * lib/poll.c (poll): Always set timeout before wait_timeout is
6684         computed.
6685
6686 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6687
6688         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
6689         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
6690         rmdir ("dir/.//"), unlinkat.
6691
6692 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6693
6694         stdbool: avoid spurious failure with modern xlc
6695         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
6696
6697 2010-08-24  Bruno Haible  <bruno@clisp.org>
6698
6699         getloadavg: simplify code
6700         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
6701         gl_have_func. Update comments.
6702
6703 2010-08-24  Eric Blake  <eblake@redhat.com>
6704
6705         getloadavg: don't define SVR4 on cygwin
6706         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
6707         only define SVR4 when -lkvm is required.
6708         Reported by Yaakov Selkowitz.
6709
6710 2010-08-24  Bruno Haible  <bruno@clisp.org>
6711
6712         priv-set: fix comment
6713         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
6714
6715 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6716
6717         priv-set: fix comments
6718         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
6719         to match code, as suggested by David Bartley in:
6720         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
6721
6722 2010-08-23  Eric Blake  <eblake@redhat.com>
6723
6724         stdbool: avoid rejecting clang
6725         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
6726         * tests/test-stdbool.c: Enable more tests if using the system
6727         <stdbool.h> instead of the gnulib replacement.
6728         (main): Move xlc bug test to a runtime test for all compilers.
6729         Reported by Anders Kaseorg.
6730
6731         argz: fix shell quoting issue
6732         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
6733         Reported by Charles Wilson.
6734
6735 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
6736             Erik Faye-Lund <kusmabite@gmail.com>
6737
6738         poll, select: handle ERROR_BROKEN_PIPE.
6739         * lib/poll.c (win32_compute_revents): Return POLLHUP when
6740         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
6741         * lib/select.c (win32_compute_revents): Do not mark a pipe
6742         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
6743
6744 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
6745
6746         fts: allow compilation with C++
6747         * lib/fts_.h: Specify extern "C" linkage with C++.
6748
6749 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6750
6751         Fix gnulib-tool sed script de-commentation for AIX sed.
6752         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
6753         sed.
6754
6755 2010-08-17  Eric Blake  <eblake@redhat.com>
6756
6757         test-stddef: test for (some) offsetof bugs
6758         * tests/test-stddef.c: Enhance test to ensure correct type of
6759         offsetof.
6760         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
6761         that we are not fixing at this time.
6762
6763 2010-08-15  Bruno Haible  <bruno@clisp.org>
6764
6765         stpncpy: Allow stpncpy to be defined as a macro.
6766         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
6767         if it's already correctly declared.
6768         * lib/string.in.h (stpncpy): Undefine before redefining.
6769         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
6770
6771 2010-08-14  Bruno Haible  <bruno@clisp.org>
6772
6773         Rename module 'memxfrm' to 'amemxfrm'.
6774         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
6775         (amemxfrm): Renamed from memxfrm.
6776         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
6777         (amemxfrm): Renamed from memxfrm.
6778         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
6779         * NEWS: Mention the change.
6780         * MODULES.html.sh (String handling <string.h>): Update.
6781         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
6782         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
6783         * lib/unicase/u16-casexfrm.c: Likewise.
6784         * lib/unicase/u32-casexfrm.c: Likewise.
6785         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
6786         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
6787         * lib/uninorm/u16-normxfrm.c: Likewise.
6788         * lib/uninorm/u32-normxfrm.c: Likewise.
6789         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
6790         memxfrm.
6791         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
6792         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
6793         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
6794         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
6795         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
6796         Suggested by Paul Eggert.
6797
6798 2010-08-14  Bruno Haible  <bruno@clisp.org>
6799
6800         Tests for module 'astrxfrm'.
6801         * modules/astrxfrm-tests: New file.
6802         * tests/test-astrxfrm.c: New file.
6803
6804         New module 'astrxfrm'.
6805         * lib/astrxfrm.h: New file.
6806         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
6807         * modules/astrxfrm: New file.
6808
6809 2010-08-14  Reuben Thomas <rrt@sc3d.org>
6810
6811         regex: Tweak doc.
6812         * doc/regex.texi (Overview): Don't mention regex.c.
6813         (GNU Regular Expression Compiling): Likewise.
6814         (Match-end-of-line Operator): Mention 'not_eol'.
6815
6816 2010-08-14  Brian Gough  <bjg@gnu.org>
6817             Bruno Haible  <bruno@clisp.org>
6818
6819         git-merge-changelog: add doc relating to use with bzr and hg.
6820         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
6821
6822 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
6823
6824         pthread: fix pthread.h creation for srcdir != builddir
6825         * modules/pthread (Makefile.am): Fix the rule to work also in a
6826         non-srcdir build.
6827
6828 2010-08-13  Karl Berry  <karl@gnu.org>
6829
6830         * doc/regex.texi (Predefined Syntaxes): @smallexample.
6831         * doc/posix-*/*: force line break before @url of POSIX
6832         specifications.
6833         Suggested by Werner Lemberg.
6834
6835 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6836
6837         strtod: fix const diagnostic
6838         * lib/strtod.c (strtod): Don't assign const char * to char *,
6839         as this elicits a warning from GCC when warnings are enabled.
6840
6841 2010-08-10  Pádraig Brady <P@draigbrady.com>
6842         and Eric Blake  <eblake@redhat.com>
6843
6844         copy-acl: ignore ENOTSUP on HP-UX
6845         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
6846         so that it is available for HP-UX.
6847         * lib/copy-acl.c (qcopy_acl): Use it.
6848         Reported by Patrick M. Callahan.
6849
6850 2010-08-10  Eric Blake  <eblake@redhat.com>
6851
6852         open, chown: relax license
6853         * modules/open (License): Change to LGPLv2+, with consent by all
6854         authors, for use in augeas.
6855         * modules/chown (License): Likewise.
6856         * modules/lchown (Likewise): Likewise.
6857         Requested by Adam Stokes.
6858
6859 2010-08-09  Karl Berry  <karl@gnu.org>
6860
6861         * build-aux/ar-lib: new file, import from Automake.
6862         * config/srclist.txt: autocheck for updates.
6863
6864 2010-08-09  Eric Blake  <eblake@redhat.com>
6865
6866         readlinkat: adjust client modules
6867         * modules/areadlinkat (Depends-on): Use readlinkat, not
6868         symlinkat.
6869         * modules/areadlinkat-with-size (Depends-on): Likewise.
6870
6871         mknod: be more vocal about danger of running tests as root
6872         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
6873         root, since that is just asking for problems.
6874         Suggested by Bruno Haible, based on a report by Rainer Tammer.
6875
6876         readlinkat: split into its own module
6877         * modules/symlinkat: Split readlinkat...
6878         * modules/readlinkat: ...into separate module.
6879         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
6880         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
6881         * lib/symlinkat.c (readlinkat): Move...
6882         * lib/readlinkat.c: ...into new file.
6883         * modules/symlinkat-tests: Split readlinkat test...
6884         * modules/readlinkat-tests: ...into separate module.
6885         * tests/test-symlinkat.c: Split...
6886         * tests/test-readlinkat.c: ...into new file.
6887         * NEWS: Document the split.
6888         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
6889         * lib/unistd.in.h (readlinkat): Likewise.
6890         Suggested by Bruno Haible.
6891
6892 2010-08-08  Bruno Haible  <bruno@clisp.org>
6893
6894         memxfrm: Speed up.
6895         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
6896         that usually only one call to strxfrm is necessary for each string
6897         part.
6898         Reported by Paul Eggert <eggert@cs.ucla.edu>.
6899
6900 2010-08-07  Karl Berry  <karl@gnu.org>
6901
6902         * doc/posix-headers/limits.texi,
6903         * doc/posix-functions/malloc.texi,
6904         * doc/posix-functions/strsignal.texi: missing @item.
6905         * doc/ld-version-script.texi: spurious leading i.
6906         * doc/regex.texi (Interval Operators): no commas inside @var.
6907
6908 2010-08-01  Bruno Haible  <bruno@clisp.org>
6909
6910         Integrate the regex documentation.
6911         * doc/gnulib.texi: Define 'cn' index.
6912         (Regular expressions): New a chapter that includes regex.texi and
6913         regexprops-generic.texi.
6914         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
6915         syntax.
6916
6917         Whitespace cleanup.
6918         * doc/regex.texi: Remove trailing spaces.
6919
6920         Add regex documentation.
6921         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
6922         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
6923         Written by Kathy A. Hargreaves and Karl Berry.
6924
6925 2010-08-01  Bruno Haible  <bruno@clisp.org>
6926
6927         link: Update documentation.
6928         * doc/posix-functions/link.texi: Update regarding Solaris.
6929
6930 2010-07-31  Bruno Haible  <bruno@clisp.org>
6931
6932         Update modules list.
6933         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
6934         (String handling <string.h>): Add memcmp2, memxfrm.
6935         (Container data structures): Add xlist, xsublist, xoset.
6936         (Core language properties): Add alignof, unused-parameter.
6937         (Process control, Numeric conversion functions <stdlib.h>): Renamed
6938         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
6939         (Unibyte characters <ctype.h>): New section.
6940         (String handling <string.h>): New section.
6941         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
6942         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
6943         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
6944         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
6945         tan, tanh, tanl, y0, y1, yn.
6946         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
6947         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
6948         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
6949         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
6950         unlockpt, vdprintf, vdprintf-posix.
6951         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
6952         (File system functions): Add concat-filename, sys_file, sys_ioctl,
6953         xconcat-filename.
6954         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
6955         getdtablesize, pipe2, pipe2-safer.
6956         (Security): New section.
6957         (Networking functions): Add accept4.
6958         (Signal handling): Add sigpipe.
6959         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
6960         mbmemcasecoll.
6961         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
6962         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
6963         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
6964         pipe-filter-ii.
6965         (Misc): Add argp-version-etc, login_tty, parse-duration.
6966
6967 2010-07-31  Bruno Haible  <bruno@clisp.org>
6968
6969         Improve doc in MODULES.html.
6970         * modules/linkat (Description): Add the word "function".
6971         * modules/mkfifo (Description): Likewise.
6972         * modules/mknod (Description): Likewise.
6973         * modules/remove (Description): Likewise.
6974         * modules/renameat (Description): Likewise.
6975         * modules/stat (Description): Likewise.
6976         * modules/symlink (Description): Likewise.
6977         * modules/unlink (Description): Likewise.
6978
6979 2010-07-31  Bruno Haible  <bruno@clisp.org>
6980
6981         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
6982         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
6983         option --enable/disable-c++ instead of --enable/disable-cxx.
6984         * NEWS: Mention the change.
6985
6986 2010-07-31  Bruno Haible  <bruno@clisp.org>
6987
6988         readlink, areadlink: Relax test a bit.
6989         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
6990         alternative to ENOTDIR.
6991         * tests/test-areadlink.h (test_areadlink): Likewise.
6992         Reported by Rainer Tammer.
6993
6994 2010-07-31  Bruno Haible  <bruno@clisp.org>
6995
6996         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
6997         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
6998         character, perform the search using U_STRCHR.
6999         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
7000         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
7001         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
7002         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
7003         Suggested by Paolo Bonzini.
7004
7005 2010-07-31  Bruno Haible  <bruno@clisp.org>
7006
7007         unistr/u*-strstr: Fix dependencies.
7008         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
7009         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
7010         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
7011
7012 2010-07-31  Bruno Haible  <bruno@clisp.org>
7013
7014         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
7015         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
7016         the beginning of the loop.
7017         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
7018         cases in 'switch' statement.
7019
7020         unistr/u8-strchr: Fix several bugs.
7021         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
7022         the string. When not found, return NULL, not a pointer near the end.
7023
7024         More tests for unistr/u8-strchr.
7025         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
7026         that the function does not read past the first occurrence of the byte
7027         being searched.
7028         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
7029         * tests/unistr/test-u16-strchr.c (main): New function.
7030         * tests/unistr/test-u32-strchr.c (main): New function.
7031
7032 2010-07-31  Bruno Haible  <bruno@clisp.org>
7033
7034         posix-modules: Ignore backup files of documentation files.
7035         * posix-modules: grep only through files named *.texi.
7036
7037 2010-07-31  Bruno Haible  <bruno@clisp.org>
7038
7039         symlinkat: Fix documentation.
7040         * doc/posix-functions/readlinkat.texi: Fix module name.
7041
7042 2010-07-31  Bruno Haible  <bruno@clisp.org>
7043
7044         fchownat: Replace also when chown has the trailing slash bug.
7045         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
7046         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
7047         introduced on 2010-04-10.
7048         Reported by Rainer Tammer.
7049
7050 2010-07-31  Bruno Haible  <bruno@clisp.org>
7051
7052         linkat: Work around AIX 7.1 bug.
7053         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
7054         whether linkat handles trailing slash correctly. If not, replace linkat
7055         and define LINKAT_TRAILING_SLASH_BUG.
7056         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
7057         check whether (fd1,file1) points to a directory if file1 or file2 ends
7058         in a slash. Code taken from lib/link.c.
7059         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
7060         Reported by Rainer Tammer.
7061
7062 2010-07-31  Bruno Haible  <bruno@clisp.org>
7063
7064         Correctly determine whether pow is available in libc on AIX 7 with xlc.
7065         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
7066         This disables an xlc optimization that was causing wrong test results.
7067         Reported by Rainer Tammer.
7068
7069 2010-07-31  Bruno Haible  <bruno@clisp.org>
7070
7071         iconv: Work around AIX 6.1..7.1 bug.
7072         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
7073         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
7074         cross-compiling, guess no on all versions of AIX.
7075         Reported by Rainer Tammer.
7076
7077 2010-07-31  Bruno Haible  <bruno@clisp.org>
7078
7079         readlink: Relax test a bit.
7080         * tests/test-readlink.h (test_readlink): Allow different errno value
7081         when readlink is called with a file name that ends in / and refers to
7082         a file.
7083         Suggested by Eric Blake.
7084         Reported by Rainer Tammer.
7085
7086 2010-07-31  Bruno Haible  <bruno@clisp.org>
7087
7088         copysign: Does not require -lm on glibc systems.
7089         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
7090         gl_COMMON_DOUBLE_MATHFUNC.
7091         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
7092
7093 2010-07-31  Bruno Haible  <bruno@clisp.org>
7094
7095         duplocale: Work around AIX 7.1 bug.
7096         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
7097         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
7098         * lib/duplocale.c (rpl_duplocale): Update comment.
7099         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
7100         Reported by Rainer Tammer.
7101
7102 2010-07-30  Bruno Haible  <bruno@clisp.org>
7103
7104         dirfd: Avoid link error on AIX 7.1.
7105         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
7106         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
7107         exist, set REPLACE_DIRFD.
7108         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
7109         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
7110         * doc/posix-functions/dirfd.texi: Update.
7111         Reported by Rainer Tammer.
7112
7113 2010-07-30  Eric Blake  <eblake@redhat.com>
7114
7115         strtod: next round of AIX fixes
7116         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
7117         exponent.
7118         * tests/test-strtod.c (main): Enhance tests.
7119         * doc/posix-functions/strtod.texi (strtod): Document next bug.
7120         Reported by Rainer Tammer.
7121
7122         futimens: fix configure check
7123         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
7124         Reported by Bruno Haible.
7125
7126 2010-07-30  Bruno Haible  <bruno@clisp.org>
7127
7128         getline: Update regarding AIX.
7129         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
7130         Reported by Rainer Tammer.
7131
7132 2010-07-30  Bruno Haible  <bruno@clisp.org>
7133
7134         wcwidth: Drop replacement on AIX 7.
7135         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
7136         AIX 7.
7137         Reported by Rainer Tammer.
7138
7139 2010-07-30  Bruno Haible  <bruno@clisp.org>
7140
7141         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
7142         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
7143         a 'char *'.
7144         Reported by Rainer Tammer.
7145
7146 2010-07-30  Bruno Haible  <bruno@clisp.org>
7147
7148         unlink: Update regarding AIX.
7149         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
7150         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
7151         Reported by Rainer Tammer.
7152
7153 2010-07-30  Bruno Haible  <bruno@clisp.org>
7154
7155         symlink: Update regarding AIX.
7156         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
7157         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
7158         Reported by Rainer Tammer.
7159
7160 2010-07-30  Bruno Haible  <bruno@clisp.org>
7161
7162         strndup: Update regarding AIX.
7163         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
7164         AIX 7.
7165         Reported by Rainer Tammer.
7166
7167 2010-07-30  Bruno Haible  <bruno@clisp.org>
7168
7169         stat: Update regarding AIX.
7170         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
7171         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
7172         Reported by Rainer Tammer.
7173
7174 2010-07-30  Bruno Haible  <bruno@clisp.org>
7175
7176         truncl: Fix autoconf test.
7177         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
7178         whether truncl works.
7179         Reported by Rainer Tammer.
7180
7181 2010-07-30  Bruno Haible  <bruno@clisp.org>
7182
7183         round: Update regarding AIX.
7184         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
7185         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
7186         Reported by Rainer Tammer.
7187
7188 2010-07-30  Bruno Haible  <bruno@clisp.org>
7189
7190         rename: Update regarding AIX.
7191         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
7192         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
7193         Reported by Rainer Tammer.
7194
7195 2010-07-30  Bruno Haible  <bruno@clisp.org>
7196
7197         printf.m4: Update regarding AIX.
7198         * m4/printf.m4: Update comments regarding AIX.
7199         Reported by Rainer Tammer.
7200
7201 2010-07-30  Bruno Haible  <bruno@clisp.org>
7202
7203         iconv: Update regarding AIX.
7204         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
7205         AIX 7.
7206         Reported by Rainer Tammer.
7207
7208 2010-07-30  Bruno Haible  <bruno@clisp.org>
7209
7210         getopt: Update regarding AIX.
7211         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
7212         no on AIX.
7213         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
7214         Reported by Rainer Tammer.
7215
7216 2010-07-30  Bruno Haible  <bruno@clisp.org>
7217
7218         ldexpl; Update regarding AIX.
7219         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
7220         on AIX 7.
7221         Reported by Rainer Tammer.
7222
7223 2010-07-30  Bruno Haible  <bruno@clisp.org>
7224
7225         frexpl: Update regarding AIX.
7226         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
7227         on AIX 7.
7228         Reported by Rainer Tammer.
7229
7230 2010-07-30  Bruno Haible  <bruno@clisp.org>
7231
7232         open, fopen: Update regarding AIX.
7233         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
7234         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
7235         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
7236         * doc/posix-functions/fopen.texi: Likewise.
7237         Reported by Rainer Tammer.
7238
7239 2010-07-30  Bruno Haible  <bruno@clisp.org>
7240
7241         chown: Update doc regarding AIX.
7242         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
7243         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
7244         Reported by Rainer Tammer.
7245
7246 2010-07-30  Eric Blake  <eblake@redhat.com>
7247
7248         strtod: fix bug in replacement function on AIX
7249         * lib/strtod.c (strtod): Special case broken "0x" parse in
7250         underlying strtod.
7251         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
7252         * doc/posix-functions/strtod.texi (strtod): Likewise.
7253         Reported by Rainer Tammer.
7254
7255 2010-07-30  Bruno Haible  <bruno@clisp.org>
7256
7257         mbrlen: Fix cross-compilation guess for AIX.
7258         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
7259         guess. Leftover from 2008-12-22.
7260
7261 2010-07-30  Bruno Haible  <bruno@clisp.org>
7262
7263         mbrtowc: Fix cross-compilation guess for AIX.
7264         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
7265         guess. Leftover from 2008-12-21.
7266
7267 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
7268
7269         init.sh: work around trap limitation of some shells
7270         * tests/init.sh (setup_): Move exit trap outside of shell function.
7271
7272 2010-07-29  Eric Blake  <eblake@redhat.com>
7273
7274         strtod: aid debugging
7275         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
7276         understanding why strtod is rejected.
7277
7278 2010-07-28  Bruno Haible  <bruno@clisp.org>
7279
7280         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
7281         * lib/unistr/u8-chr.c: Include <string.h>.
7282         * tests/unistr/test-u8-chr.c: Likewise.
7283         * tests/unistr/test-u16-chr.c: Likewise.
7284         * tests/unistr/test-u32-chr.c: Likewise.
7285         * tests/unistr/test-u8-strchr.c: Likewise.
7286         * tests/unistr/test-u16-strchr.c: Likewise.
7287         * tests/unistr/test-u32-strchr.c: Likewise.
7288         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
7289         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
7290         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
7291         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
7292
7293 2010-07-28  Bruno Haible  <bruno@clisp.org>
7294
7295         Use spaces for indentation, not tabs.
7296         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
7297
7298 2010-07-27  Bruno Haible  <bruno@clisp.org>
7299
7300         mbspcasecmp: Fix function specification.
7301         * lib/string.in.h (mbspcasecmp): Fix specification comment.
7302         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
7303         Reported by Eric Blake <eblake@redhat.com>.
7304
7305 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
7306
7307         timespec: use cast and not conditional, as truncation isn't possible
7308         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
7309         instead of a conditional.  Comment about the situation in more detail.
7310         This undoes most of the 2009-10-29 patch.
7311
7312 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
7313
7314         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
7315         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
7316         * lib/unistr/u8-strchr.c: Likewise.
7317         * modules/unistr/u8-chr: Depend on memchr.
7318
7319         unistr/u*-strchr: add tests
7320         * modules/unistr/u8-strchr-tests: New file.
7321         * modules/unistr/u16-strchr-tests: New file.
7322         * modules/unistr/u32-strchr-tests: New file.
7323         * tests/unistr/test-strchr.h: New file.
7324         * tests/unistr/test-u8-strchr.c: New file.
7325         * tests/unistr/test-u16-strchr.c: New file.
7326         * tests/unistr/test-u32-strchr.c: New file.
7327
7328         unistr/u*-chr: test multibyte sequences more
7329         * tests/unistr/test-chr.h: Do complete testing of the characters in the
7330         test vector.
7331         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
7332         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
7333         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
7334
7335         unistr/u*-chr: test multibyte sequences
7336         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
7337
7338         unistr/u*-chr: prepare for multibyte tests
7339         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
7340         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
7341         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
7342         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
7343         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
7344         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
7345
7346 2010-07-18  Bruno Haible  <bruno@clisp.org>
7347
7348         unistr/u8-strchr: Optimize non-ASCII argument case.
7349         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
7350         because the first byte often matches anyway.
7351         Reported by Pádraig Brady <P@draigbrady.com>.
7352
7353 2010-07-15  Karl Berry  <karl@gnu.org>
7354
7355         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
7356
7357 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
7358
7359         getcwd: on Solaris, work better if ancestors are inaccessible
7360         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
7361         buffer and size, try again with a large buffer.  This works better
7362         on Solaris, since its getcwd succeeds even if the path to the root
7363         is inaccessible, and this is helpful in common cases such as .zfs
7364         hidden directories.  Problem reported by J Chapman Flack in
7365         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
7366         Use system getcwd if it's declared, not merely if it's partly
7367         working; use the partly-working test only to avoid needless effort
7368         if the system getcwd fails.
7369         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
7370         comment that was already obsolete and is now even more obsolete.
7371         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
7372         now might call strdup.
7373
7374 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
7375
7376         pthread: Add enough so that coreutils/src/sort.c compiles.
7377         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
7378         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
7379         gnulib. Include <sched.h> and <time.h>, as per POSIX.
7380         Include <sys/types.h>, in case it defines pthread_t.
7381         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
7382         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
7383         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
7384         (pthread_rwlockattr_t, pthread_spinlock_t):
7385         New typedefs, if HAVE_PTHREAD_T is not defined.
7386         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
7387         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
7388         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
7389         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
7390         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
7391         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
7392         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
7393         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
7394         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
7395         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
7396         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
7397         New macros.
7398         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
7399         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
7400         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
7401         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
7402         (pthread_spin_unlock): New dummy functions.
7403         (pthread_create): Return EAGAIN; don't set errno.
7404         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
7405         require AC_C_INLINE.
7406         * modules/pthread (Depends-on): Add sched, time.
7407         (pthread.h): Use AM_V_GEN.
7408
7409 2010-07-13  Bruno Haible  <bruno@clisp.org>
7410
7411         striconveh: Don't malloc memory if the result buffer is sufficient.
7412         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
7413         buffer if its size is sufficient.
7414         Reported by Ludovic Courtès <ludo@gnu.org>.
7415
7416 2010-07-13  Bruno Haible  <bruno@clisp.org>
7417
7418         strtod: Add safety check.
7419         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
7420
7421 2010-07-12  Bruno Haible  <bruno@clisp.org>
7422
7423         Unify tests that set gl_cv_func_ldexpl_no_libm.
7424         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
7425         gl_FUNC_LDEXPL.
7426         (gl_FUNC_LDEXPL): Invoke it.
7427         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7428
7429 2010-07-12  Bruno Haible  <bruno@clisp.org>
7430
7431         Unify tests that set gl_cv_func_ldexp_no_libm.
7432         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
7433         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
7434         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
7435         (configure.ac): Simply invoke gl_FUNC_LDEXP.
7436         * modules/strtod (Files): Add m4/ldexp.m4.
7437
7438 2010-07-12  Bruno Haible  <bruno@clisp.org>
7439
7440         Unify tests that set gl_cv_func_frexpl_no_libm.
7441         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
7442         gl_FUNC_FREXPL_NO_LIBM.
7443         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
7444         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7445
7446 2010-07-12  Bruno Haible  <bruno@clisp.org>
7447
7448         Unify tests that set gl_cv_func_frexp_no_libm.
7449         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
7450         gl_FUNC_FREXP_NO_LIBM.
7451         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
7452         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
7453
7454 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
7455
7456         memcoll: clarify sizes versus lengths, document better, and tweak perf
7457         * lib/memcoll.c (strcoll_loop, memcoll0):
7458         Improve quality of descriptive comments.  Name variables
7459         consistently as to whether they are lengths (which do not include
7460         terminating null) versus sizes (which do).
7461         * lib/xmemcoll.c (xmemcoll0): Likewise.
7462         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
7463         returned when s1size == 0; this is easier to compile and saves
7464         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
7465
7466 2010-07-12  Bruno Haible  <bruno@clisp.org>
7467
7468         Tests for module '_Exit'.
7469         * modules/_Exit-tests: New file.
7470         * tests/test-_Exit.sh: New file.
7471         * tests/test-_Exit.c: New file.
7472
7473         New module '_Exit'.
7474         * lib/stdlib.in.h (__attribute__): New macro.
7475         (_Exit): New declaration.
7476         * lib/_Exit.c: New file.
7477         * m4/_Exit.m4: New file.
7478         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
7479         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
7480         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
7481         * modules/_Exit: New file.
7482         * tests/test-stdlib-c++.cc (_Exit): Check signature.
7483         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
7484
7485 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
7486
7487         strtod: make it more-accurate typically, and don't require libm
7488         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
7489         Include limits.h.  Don't include string.h.
7490         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
7491         (locale_isspace): New function, so that no casts are needed to
7492         check whether *s is a space.
7493         (ldexp): Provide an unused dummy if not available.
7494         (scale_radix_exp, parse_number, underlying_strtod): New functions.
7495         (strtod): Use them.  This implementation prefers to use the
7496         underlying strtod if available, falling back on our own code
7497         only to fix known bugs.  This is more likely to produce an
7498         accurate result.  Also, it avoids the use of libm functions.
7499         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
7500         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
7501         was absent, but it caused a test failure with coreutils.
7502         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
7503         with libm.
7504         * modules/strtod (Makefile.am, Link): libm is no longer needed.
7505         * modules/strtod-tests (Makefile.am): Likewise.
7506
7507 2010-07-11  Pádraig Brady  <P@draigBrady.com>
7508             Bruno Haible  <bruno@clisp.org>
7509
7510         unistr/u8-strchr: Optimize ASCII argument case.
7511         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
7512
7513 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
7514
7515         (x)memcoll: minor tweaks
7516         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
7517         is after the type that it qualifies.
7518         (memcoll0): Likewise.
7519         * lib/memcoll.h (memcoll0): Likewise.
7520         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
7521         * lib/xmemcoll.h (xmemcoll0): Likewise.
7522         * lib/memcoll.c (memcoll0): Correct the comment.  This function
7523         differs from memcoll in that the NUL byte is part of the argument.
7524         Omit the abort-checks, as performance is a real issue here.  Plus,
7525         the checks were wrong anyway (an off-by-one error).  Omit local
7526         variable 'diff', as it's a bit clearer that way.
7527         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
7528         no longer needed.
7529
7530 2010-07-08  Chen Guo <chenguo4@yahoo.com>
7531
7532         (x)memcoll: speedup when input is known to be NUL delimited
7533         * lib/memcoll.c: Include stdlib.
7534         (memcoll0) New function.
7535         (strcoll_loop) New function, refactored for use in both memcoll
7536         and memcoll0.
7537         * lib/memcoll.h: Add prototype for memcoll0.
7538         * lib/xmemcoll.c: (xmemcoll0) New function.
7539         (collate_error) New function, refactored for use in both xmemcoll
7540         and xmemcoll0.
7541         * lib/xmemcoll.h: Add prototype for xmemcoll0.
7542         * m4/memcoll.m4: add inline invocation.
7543
7544 2010-07-06  Pádraig Brady  <P@draigBrady.com>
7545
7546         * build-aux/bootstrap: Remove any local translations
7547         from the translation project synchronization directory,
7548         so that local only translations are not distributed.
7549
7550 2010-07-04  Bruno Haible  <bruno@clisp.org>
7551
7552         fsusage: Clarify which code applies to which platforms.
7553         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
7554         platform.
7555         * lib/fsusage.c (get_fs_usage): Likewise.
7556
7557 2010-07-04  Bruno Haible  <bruno@clisp.org>
7558
7559         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
7560         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
7561         Reported by Martin Lambers <marlam@marlam.de>.
7562
7563 2010-07-04  Jim Meyering  <meyering@redhat.com>
7564
7565         hash: once again explicitly disallow insertion of NULL
7566         * lib/hash.c (hash_insert0): Reinstate just-removed test:
7567         inserting a NULL pointer cannot work with these functions.
7568         Add a comment with details.
7569         This reverts part of the 2010-07-01 commit, 5bef1a35
7570         "hash: extend module to deal with non-pointer keys".
7571
7572 2010-07-01  Bruno Haible  <bruno@clisp.org>
7573
7574         stdbool: Update doc.
7575         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
7576         Info from Christian Weisgerber <naddy@mips.inka.de>.
7577
7578 2010-07-01  Jim Meyering  <meyering@redhat.com>
7579
7580         hash: extend module to deal with non-pointer keys
7581         * lib/hash.c (hash_insert0): New interface, much like hash_insert
7582         but that allows insertion of non-pointer entries.
7583         Do not disallow an ENTRY value of NULL.
7584         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
7585         * lib/hash.h (hash_insert0): Declare.
7586
7587 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7588
7589         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
7590         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
7591         not present (i.e. with autoconf 2.59 and when using gettextize, not
7592         gnulib), require AC_GNU_SOURCE instead.
7593
7594 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
7595
7596         idpriv-drop: Fix tests.
7597         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
7598         not to the test-idpriv-droptemp program.
7599
7600 2010-06-29  Bruno Haible  <bruno@clisp.org>
7601
7602         string: Fix syntax error with g++ 2.96.
7603         * lib/string.in.h (__pure__): Remove definition.
7604         (_GL_ATTRIBUTE_PURE): New macro.
7605         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
7606         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
7607         Reported by Christian Weisgerber <naddy@mips.inka.de>.
7608
7609 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
7610
7611         unitypes: Fix bug introduced on 2010-05-18.
7612         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
7613
7614 2010-06-22  Eric Blake  <eblake@redhat.com>
7615
7616         memmem: slight optimization
7617         * lib/str-two-way.h (critical_factorization): Update comments.
7618         Reduce work during factorization phase.
7619         Reported by Carlos Bueno <carlos@bueno.org>.
7620
7621 2010-06-21  Bruno Haible  <bruno@clisp.org>
7622
7623         Fix HAVE_CALLOC_POSIX misnomer.
7624         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
7625         !HAVE_CALLOC_POSIX.
7626         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
7627         HAVE_CALLOC_POSIX.
7628         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
7629         instead of HAVE_CALLOC_POSIX.
7630         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
7631         HAVE_CALLOC_POSIX.
7632
7633         Use modern idiom for calloc() replacement.
7634         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
7635         AC_FUNC_CALLOC.
7636         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
7637         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
7638         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
7639         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
7640         (gl_REPLACE_CALLOC): New macro.
7641
7642 2010-06-21  Bruno Haible  <bruno@clisp.org>
7643
7644         Fix HAVE_REALLOC_POSIX misnomer.
7645         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
7646         !HAVE_REALLOC_POSIX.
7647         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
7648         HAVE_REALLOC_POSIX.
7649         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
7650         instead of HAVE_REALLOC_POSIX.
7651         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
7652         HAVE_REALLOC_POSIX.
7653
7654         Use modern idiom for realloc() replacement.
7655         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
7656         AC_FUNC_REALLOC.
7657         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
7658         Autoconf's AC_FUNC_REALLOC.
7659         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
7660         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
7661         (gl_REPLACE_REALLOC): New macro.
7662         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
7663
7664 2010-06-21  Bruno Haible  <bruno@clisp.org>
7665
7666         Fix HAVE_MALLOC_POSIX misnomer.
7667         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
7668         !HAVE_MALLOC_POSIX.
7669         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
7670         HAVE_MALLOC_POSIX.
7671         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
7672         instead of HAVE_MALLOC_POSIX.
7673         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
7674         HAVE_MALLOC_POSIX.
7675
7676         Use modern idiom for malloc() replacement.
7677         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
7678         AC_FUNC_MALLOC.
7679         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
7680         Autoconf's AC_FUNC_MALLOC.
7681         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
7682         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
7683         (gl_REPLACE_MALLOC): New macro.
7684         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
7685
7686 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
7687
7688         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
7689         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
7690         This macro takes 3 arguments, not 4.
7691
7692 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
7693
7694         ipv6: fix detection under mingw
7695         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
7696         in6_addr.
7697
7698 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
7699
7700         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
7701         that strtod() works when cross-compiling to a glibc version known
7702         to work.
7703
7704 2010-06-15  Bruno Haible  <bruno@clisp.org>
7705
7706         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
7707
7708 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
7709
7710         select: Correct timeout.
7711         * lib/select.c (rpl_select): Compute wait_timeout correctly.
7712
7713 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7714
7715         git-version-gen: init shell var to avoid env var influence
7716         * build-aux/git-version-gen (v): Init shell var to empty.
7717
7718 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
7719
7720         priv-set: Don't assume that priv.h exists merely because getppriv does.
7721         See Jan Andersen's bug report about AIX 5L in
7722         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
7723         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
7724         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
7725         * lib/priv-set.h: Likewise.
7726         * tests/test-priv-set.c: Likewise.
7727
7728 2010-06-13  Bruno Haible  <bruno@clisp.org>
7729
7730         relocatable: Make it easier to test whether to install wrappers.
7731         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
7732         RELOCATABLE_VIA_WRAPPER.
7733
7734 2010-06-13  Bruno Haible  <bruno@clisp.org>
7735
7736         gnulib-tool: Display specified modules and dependencies differently.
7737         * gnulib-tool (func_show_module_list): New function.
7738         (func_import, func_create_testdir): Invoke it.
7739         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
7740
7741 2010-06-13  Bruno Haible  <bruno@clisp.org>
7742
7743         gnulib-tool: Align code of func_import and func_create_testdir.
7744         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
7745         specified_modules.
7746
7747 2010-06-12  Jim Meyering  <meyering@redhat.com>
7748
7749         test-inttostr: avoid spurious failure on Solaris 9
7750         * tests/test-inttostr.c (main): Skip the test when snprintf fails
7751         to accept "%ju".  Reported by Bruno Haible.
7752
7753 2010-06-11  Jim Meyering  <meyering@redhat.com>
7754
7755         test-sys_socket: mark variables as used more readably
7756         * tests/test-sys_socket.c (main): Mark otherwise unused variables
7757         as "used" explicitly via (void) statement casts.  This is more
7758         readable than using them in an artificial return expression.
7759         Suggestion from Bruno Haible.
7760
7761 2010-06-11  Bruno Haible  <bruno@clisp.org>
7762
7763         Avoid some more warnings from "gcc -Wwrite-strings".
7764         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
7765         to 'const char *'.
7766         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
7767         * tests/test-c-strcasestr.c (main): Likewise.
7768         * tests/test-mbscasestr1.c (main): Likewise.
7769         * tests/test-mbscasestr2.c (main): Likewise.
7770         * tests/test-memmem.c (main): Likewise.
7771         * tests/test-strstr.c (main): Likewise.
7772         * tests/test-strcasestr.c (main): Likewise.
7773
7774 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7775
7776         init.sh: change framework_failure_ to fail with status 99, not 1
7777         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
7778         automake's parallel-tests rule that this is an unexpected failure,
7779         even if the test is listed in XFAIL_TESTS.
7780
7781 2010-06-11  Jim Meyering  <meyering@redhat.com>
7782
7783         test-inttostr: avoid warnings about 4-6KB literal strings
7784         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
7785         Include "macros.h", for its definition of ASSERT.
7786         (CK): s/assert/ASSERT/
7787         * modules/inttostr-tests (Files): Add macros.h.
7788
7789         init.sh: don't use $ME_ or skip_ before they are defined
7790         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
7791         their first uses.  Also hoist their companions: warn_, fail_,
7792         framework_failure_, $stderr_fileno.  Prompted by a patch from
7793         Stefano Lattarini.
7794
7795         test-sys_socket: avoid set-but-not-used warnings from gcc
7796         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
7797         avoid warning about set-but-not-used variables.
7798
7799         test-xvasprintf: avoid 'const' discard warnings
7800         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
7801         "const" when assigning from literal strings.
7802         (test_xasprintf): Add "void" in function argument list to placate
7803         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
7804
7805         tests: avoid compilation warnings in argmatch and exclude tests...
7806         in packages that define ARGMATCH_DIE_DECL, like coreutils.
7807         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
7808         Since it always exits, declare with the "noreturn" attribute.
7809         * tests/test-argmatch.c: Likewise.
7810
7811         tests: avoid 'const' discard warnings in mbsstr tests
7812         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
7813         * tests/test-mbsstr2.c (main): Likewise.
7814
7815         test-verify: avoid warning from gcc's -Wmissing-declarations
7816         * tests/test-verify.c (function): Declare to be static.
7817
7818         test-inttostr.c: include <string.h> for use of strcmp
7819         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
7820
7821         test-linkat: avoid failed assertion on "other" architectures
7822         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
7823         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
7824         sparc: https://bugs.launchpad.net/bugs/591968
7825
7826 2010-06-11  Jim Meyering  <meyering@redhat.com>
7827
7828         printf.m4: avoid autoconf's "Expanded Before Required" warning
7829         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
7830         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
7831         autoconf warning.
7832
7833 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
7834
7835         Replacement header templates are now named with ".in", not "_".
7836         * doc/gnulib-intro.texi: Correct.
7837
7838 2010-06-10  Jim Meyering  <meyering@redhat.com>
7839
7840         inttostr-tests: depend on snprintf, not snprintf-posix
7841         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
7842         snprintf-posix, to avoid this aclocal failure:
7843           missing file gnulib-tests/vasnprintf.c
7844           configure.ac:45: error: expected source file, required through \
7845           AC_LIBSOURCES, not found
7846
7847 2010-06-10  Jim Meyering  <meyering@redhat.com>
7848
7849         inttostr: add a new function, inttostr, and tests
7850         The namesake function was not available.  The existence of the
7851         template file, inttostr.c makes its addition nontrivial.
7852         * lib/anytostr.c: Rename from inttostr.c.
7853         (anytostr): Rename from inttostr.
7854         * lib/inttostr.c: New file.
7855         * modules/inttostr (Files): Add anytostr.c.
7856         (Makefile.am): Set lib_SOURCES instead of ...
7857         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
7858         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
7859         * lib/offtostr.c: Likewise.
7860         * lib/uinttostr.c: Likewise.
7861         * lib/umaxtostr.c: Likewise.
7862         * modules/inttostr-tests: New file.
7863         * tests/test-inttostr.c: New file.  Test these functions.
7864
7865 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
7866             Bruno Haible  <bruno@clisp.org>
7867
7868         Add "Extending Gnulib" chapter to manual.
7869         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
7870         chapter.
7871         (Extending Gnulib): New chapter.
7872         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
7873         chapter.
7874
7875 2010-06-09  Bruno Haible  <bruno@clisp.org>
7876
7877         Avoid relocwrapper link errors due to gnulib replacement functions.
7878         * lib/areadlink.c: Use the system's malloc, realloc functions.
7879         (areadlink): Set errno to ENOMEM explicitly.
7880         * modules/areadlink (Depends-on): Remove malloc-posix.
7881         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7882
7883 2010-06-09  Bruno Haible  <bruno@clisp.org>
7884
7885         Avoid relocwrapper link errors due to gnulib replacement functions.
7886         * lib/canonicalize-lgpl.c: Use the system's malloc function.
7887         * lib/malloca.c: Likewise.
7888         * lib/relocatable.c: Likewise.
7889         * lib/progreloc.c: Use the system's malloc, sprintf functions.
7890         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
7891         * lib/setenv.c: Use the system's malloc, realloc functions.
7892         * lib/strerror.c: Use the system's sprintf function.
7893         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7894
7895 2010-06-04  Bruno Haible  <bruno@clisp.org>
7896
7897         Prefer documented low-level autoconf macro names.
7898         * m4/lib-link.m4: Use m4_translit instead of translit.
7899         * m4/environ.m4: Likewise.
7900         * m4/mathfunc.m4: Likewise.
7901         * m4/onceonly.m4: Likewise.
7902         * m4/stdint.m4: Likewise.
7903         Suggested by Eric Blake.
7904
7905 2010-06-04  Martin Lambers  <marlam@marlam.de>
7906             Bruno Haible  <bruno@clisp.org>
7907
7908         havelib: Allow library names with '+' characters.
7909         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
7910         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
7911
7912 2010-06-09  Bruno Haible  <bruno@clisp.org>
7913
7914         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
7915         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
7916         realloc failed.
7917
7918 2010-06-08  Peter Simons  <simons@cryp.to>
7919
7920         maint.mk: make the news-check rule more configurable
7921         * top/maint.mk (news-check-lines-spec) New variable.
7922         (news-check): Use "sed -n 1,10p" in place of "head".
7923
7924 2010-06-07  Jim Meyering  <meyering@redhat.com>
7925
7926         do-release-commit-and-tag: fix typo in --help
7927         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
7928
7929         regex: avoid new dead-code warning with gcc-4.6.0
7930         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
7931         if-block containing a while-loop.  It's been unused for at least
7932         5 years.
7933
7934 2010-06-05  Bruno Haible  <bruno@clisp.org>
7935
7936         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
7937         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
7938
7939 2010-06-04  Bruno Haible  <bruno@clisp.org>
7940
7941         Update to GNU gettext 0.18.1.
7942         * modules/gettext (configure.ac): Require gettext infrastructure from
7943         version 0.18.1.
7944
7945 2010-06-03  Bruno Haible  <bruno@clisp.org>
7946
7947         Don't use AC_LIBOBJ with file names in subdirectories.
7948         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
7949         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
7950         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
7951         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
7952         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
7953         gl_LIBUNISTRING_LIBSOURCE.
7954         (Makefile.am): Augment lib_SOURCES here, conditionally.
7955         * NEWS: Drop requirement for Automake option 'subdir-objects'.
7956
7957 2010-06-03  Bruno Haible  <bruno@clisp.org>
7958
7959         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
7960         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
7961         expansion does not end with a newline.
7962         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
7963         unnecessary newline.
7964
7965 2010-06-03  Bruno Haible  <bruno@clisp.org>
7966
7967         Reduce dependencies.
7968         * tests/test-quotearg.h: New file, extracted from
7969         tests/test-quotearg.c.
7970         * tests/test-quotearg-simple.c: New file, extracted from
7971         tests/test-quotearg.c.
7972         * tests/test-quotearg.c: Don't include <ctype.h>.
7973         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
7974         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
7975         use_quote_double_quotes, use_quotearg_colon): Moved to
7976         tests/test-quotearg.h.
7977         (results_g, flag_results, custom_quotes, custom_results): Moved
7978         to tests/test-quotearg-simple.c.
7979         (main): Moved the part that does not depend on gettext to
7980         tests/test-quotearg-simple.c. Return 77 if the test cannot be
7981         performed.
7982         * modules/quotearg-simple: New file.
7983         * modules/quotearg-simple-tests: New file.
7984         * modules/quotearg (Depends-on): Add quotearg-simple.
7985         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
7986         (Files): Add tests/test-quotearg.h.
7987         Reported by Paolo Bonzini.
7988
7989 2010-06-03  Bruno Haible  <bruno@clisp.org>
7990
7991         Reduce dependencies.
7992         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
7993
7994 2010-06-03  Bruno Haible  <bruno@clisp.org>
7995
7996         time: Undefine more broken macros.
7997         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
7998         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
7999         Reported by Eric Blake.
8000
8001 2010-06-03  Bruno Haible  <bruno@clisp.org>
8002
8003         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
8004         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
8005         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
8006         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
8007         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
8008         Reported by Ludovic Courtès <ludo@gnu.org>.
8009
8010 2010-06-02  Eric Blake  <eblake@redhat.com>
8011
8012         time: work with mingw + pthreads-win32 library
8013         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
8014         if timespec is defined only in pthread.h.
8015         * modules/time (Makefile.am): Substitute it.
8016         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
8017         <pthread.h>, when needed.
8018         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
8019         from the library.
8020
8021 2010-05-31  Bruno Haible  <bruno@clisp.org>
8022
8023         Avoid expanding two macros in the wrong order.
8024         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
8025         gl_LIBUNISTRING if it is defined.
8026         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
8027         autoconf >= 2.64.
8028         Reported by Ludovic Courtès <ludo@gnu.org>.
8029
8030 2010-05-27  Jim Meyering  <meyering@redhat.com>
8031
8032         maint.mk: also prohibit "#undef" of always-defined symbols
8033         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
8034         Allow more than one space before the symbol name.
8035         (sc_prohibit_always-defined_macros): Use grep's -E, now that
8036         the regexp uses alternation.
8037
8038 2010-05-26  Eric Blake  <eblake@redhat.com>
8039
8040         maint.mk: avoid echo -e
8041         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
8042         Convert all uses of echo -* to printf.
8043         Reported by Matthias Bolte.
8044
8045 2010-05-25  Bruno Haible  <bruno@clisp.org>
8046
8047         Update to GNU gettext 0.18, part 2.
8048         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
8049         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
8050
8051 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8052
8053         Add missing include in test-pwrite.c.
8054         * tests/test-pwrite.c: Include string.h, for strcmp.
8055
8056 2010-05-24  Bruno Haible  <bruno@clisp.org>
8057
8058         * NEWS: Mention requirement for Automake option 'subdir-objects'.
8059
8060 2010-05-24  Bruno Haible  <bruno@clisp.org>
8061
8062         Don't use conversion with transliteration in u{8,16,32}_strcoll.
8063         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
8064         iconveh_error argument.
8065         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
8066         U_STRCONV_TO_LOCALE.
8067         * lib/unistr/u16-strcoll.c: Likewise.
8068         * lib/unistr/u32-strcoll.c: Likewise.
8069         * modules/unistr/u8-strcoll (Depends-on): Add
8070         uniconv/u8-strconv-to-enc, localcharset. Remove
8071         uniconv/u8-strconv-to-locale.
8072         (configure.ac): Bump version number.
8073         * modules/unistr/u16-strcoll (Depends-on): Add
8074         uniconv/u16-strconv-to-enc, localcharset. Remove
8075         uniconv/u16-strconv-to-locale.
8076         (configure.ac): Bump version number.
8077         * modules/unistr/u32-strcoll (Depends-on): Add
8078         uniconv/u32-strconv-to-enc, localcharset. Remove
8079         uniconv/u32-strconv-to-locale.
8080         (configure.ac): Bump version number.
8081
8082 2010-05-24  Bruno Haible  <bruno@clisp.org>
8083
8084         Avoid a test failure on NetBSD 5.0.
8085         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
8086         an iconv() bug.
8087
8088 2010-05-24  Bruno Haible  <bruno@clisp.org>
8089
8090         Adjust #include directive style.
8091         * modules/regex (Includes): Recommend to write <regex.h>.
8092
8093 2010-05-24  Bruno Haible  <bruno@clisp.org>
8094
8095         regex: Don't require alloca.
8096         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
8097         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
8098         only inside if (0).
8099
8100 2010-05-23  Jim Meyering  <meyering@redhat.com>
8101
8102         test-renameat.c: include <sys/stat.h>
8103         * tests/test-renameat.c: Include <sys/stat.h>; required for
8104         definition of S_IS* macros.
8105
8106 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
8107
8108         Update maintainer documentation for 'relocatable-prog' module.
8109         * doc/relocatable-maint.texi: Update.
8110         Comments by Bruno Haible.
8111
8112 2010-05-23  Bruno Haible  <bruno@clisp.org>
8113
8114         git-merge-changelog: Enable --split-merged-entry by default.
8115         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
8116         (usage): Don't mention this option any more.
8117         Reported by Ralf Wildenhues.
8118
8119 2010-05-23  Jim Meyering  <meyering@redhat.com>
8120
8121         test-pwrite: do not leave behind a test file named "out"
8122         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
8123         The trivial-looking use of init.sh is really necessary.
8124         It ensures that the temporary file, "out", is created in
8125         a temporary directory, and removed upon termination.
8126         * tests/test-pwrite.sh: Re-add file.
8127         * modules/pwrite-tests: Reference it.
8128
8129 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8130
8131         Fix output redirection buglet in init.sh.
8132         * tests/init.sh: Fix redirection of stderr.
8133
8134 2010-05-20  Simon Josefsson  <simon@josefsson.org>
8135
8136         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
8137
8138 2010-05-17  Simon Josefsson  <simon@josefsson.org>
8139
8140         * modules/valgrind-tests: New file.
8141         * m4/valgrind-tests.m4: New file.
8142         * doc/valgrind-tests.texi: New file.
8143         * doc/gnulib.texi (Running self-tests under valgrind): New
8144         section.
8145
8146 2010-05-19  Bruno Haible  <bruno@clisp.org>
8147
8148         Clean up dead code in recent commit.
8149         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
8150         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
8151         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
8152         Suggested by Paolo Bonzini.
8153
8154 2010-05-19  Bruno Haible  <bruno@clisp.org>
8155
8156         Avoid valgrind error reports from libunistring.
8157         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
8158         * modules/libunistring (Files): Add it.
8159         * modules/libunistring-optional (Files): Likewise.
8160
8161 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
8162             Bruno Haible  <bruno@clisp.org>
8163
8164         New module 'libunistring-optional'.
8165         * modules/libunistring-optional: New file.
8166         * m4/libunistring-base.m4: New file.
8167         * m4/libunistring-optional.m4: New file.
8168         * lib/unicase.in.h: Renamed from lib/unicase.h.
8169         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
8170         * lib/unictype.in.h: Renamed from lib/unictype.h.
8171         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
8172         * lib/uniname.in.h: Renamed from lib/uniname.h.
8173         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
8174         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
8175         * lib/unistr.in.h: Renamed from lib/unistr.h.
8176         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
8177         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
8178         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
8179         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
8180         gl_LIBUNISTRING. If the library was found, determine the installed
8181         version and set LIBUNISTRING_VERSION.
8182         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
8183         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
8184         handle a configuration option --with-included-libunistring.
8185         * modules/libunistring (Files): Add m4/absolute-header.m4.
8186         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
8187         Add m4/libunistring-base.m4.
8188         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8189         (Makefile.am): Build unicase.h from unicase.in.h.
8190         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
8191         Add m4/libunistring-base.m4.
8192         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8193         (Makefile.am): Build uniconv.h from uniconv.in.h.
8194         * modules/unictype/base (Files): Use unictype.in.h instead of
8195         unictype.h. Add m4/libunistring-base.m4.
8196         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8197         (Makefile.am): Build unictype.h from unictype.in.h.
8198         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
8199         Add m4/libunistring-base.m4.
8200         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8201         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
8202         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
8203         Add m4/libunistring-base.m4.
8204         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8205         (Makefile.am): Build uniname.h from uniname.in.h.
8206         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
8207         Add m4/libunistring-base.m4.
8208         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8209         (Makefile.am): Build uninorm.h from uninorm.in.h.
8210         * modules/unistdio/base (Files): Use unistdio.in.h instead of
8211         unistdio.h. Add m4/libunistring-base.m4.
8212         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8213         (Makefile.am): Build unistdio.h from unistdio.in.h.
8214         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
8215         Add m4/libunistring-base.m4.
8216         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8217         (Makefile.am): Build unistr.h from unistr.in.h.
8218         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
8219         Add m4/libunistring-base.m4.
8220         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8221         (Makefile.am): Build unitypes.h from unitypes.in.h.
8222         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
8223         Add m4/libunistring-base.m4.
8224         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8225         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
8226         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
8227         uniwidth.h. Add m4/libunistring-base.m4.
8228         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
8229         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
8230         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
8231         instead of augmenting lib_SOURCES.
8232         * modules/unicase/empty-suffix-context: Likewise.
8233         * modules/unicase/locale-language: Likewise.
8234         * modules/unicase/tolower: Likewise.
8235         * modules/unicase/totitle: Likewise.
8236         * modules/unicase/toupper: Likewise.
8237         * modules/unicase/u8-casecmp: Likewise.
8238         * modules/unicase/u8-casecoll: Likewise.
8239         * modules/unicase/u8-casefold: Likewise.
8240         * modules/unicase/u8-casexfrm: Likewise.
8241         * modules/unicase/u8-ct-casefold: Likewise.
8242         * modules/unicase/u8-ct-tolower: Likewise.
8243         * modules/unicase/u8-ct-totitle: Likewise.
8244         * modules/unicase/u8-ct-toupper: Likewise.
8245         * modules/unicase/u8-is-cased: Likewise.
8246         * modules/unicase/u8-is-casefolded: Likewise.
8247         * modules/unicase/u8-is-lowercase: Likewise.
8248         * modules/unicase/u8-is-titlecase: Likewise.
8249         * modules/unicase/u8-is-uppercase: Likewise.
8250         * modules/unicase/u8-prefix-context: Likewise.
8251         * modules/unicase/u8-suffix-context: Likewise.
8252         * modules/unicase/u8-tolower: Likewise.
8253         * modules/unicase/u8-totitle: Likewise.
8254         * modules/unicase/u8-toupper: Likewise.
8255         * modules/unicase/u16-casecmp: Likewise.
8256         * modules/unicase/u16-casecoll: Likewise.
8257         * modules/unicase/u16-casefold: Likewise.
8258         * modules/unicase/u16-casexfrm: Likewise.
8259         * modules/unicase/u16-ct-casefold: Likewise.
8260         * modules/unicase/u16-ct-tolower: Likewise.
8261         * modules/unicase/u16-ct-totitle: Likewise.
8262         * modules/unicase/u16-ct-toupper: Likewise.
8263         * modules/unicase/u16-is-cased: Likewise.
8264         * modules/unicase/u16-is-casefolded: Likewise.
8265         * modules/unicase/u16-is-lowercase: Likewise.
8266         * modules/unicase/u16-is-titlecase: Likewise.
8267         * modules/unicase/u16-is-uppercase: Likewise.
8268         * modules/unicase/u16-prefix-context: Likewise.
8269         * modules/unicase/u16-suffix-context: Likewise.
8270         * modules/unicase/u16-tolower: Likewise.
8271         * modules/unicase/u16-totitle: Likewise.
8272         * modules/unicase/u16-toupper: Likewise.
8273         * modules/unicase/u32-casecmp: Likewise.
8274         * modules/unicase/u32-casecoll: Likewise.
8275         * modules/unicase/u32-casefold: Likewise.
8276         * modules/unicase/u32-casexfrm: Likewise.
8277         * modules/unicase/u32-ct-casefold: Likewise.
8278         * modules/unicase/u32-ct-tolower: Likewise.
8279         * modules/unicase/u32-ct-totitle: Likewise.
8280         * modules/unicase/u32-ct-toupper: Likewise.
8281         * modules/unicase/u32-is-cased: Likewise.
8282         * modules/unicase/u32-is-casefolded: Likewise.
8283         * modules/unicase/u32-is-lowercase: Likewise.
8284         * modules/unicase/u32-is-titlecase: Likewise.
8285         * modules/unicase/u32-is-uppercase: Likewise.
8286         * modules/unicase/u32-prefix-context: Likewise.
8287         * modules/unicase/u32-suffix-context: Likewise.
8288         * modules/unicase/u32-tolower: Likewise.
8289         * modules/unicase/u32-totitle: Likewise.
8290         * modules/unicase/u32-toupper: Likewise.
8291         * modules/unicase/ulc-casecmp: Likewise.
8292         * modules/unicase/ulc-casecoll: Likewise.
8293         * modules/unicase/ulc-casexfrm: Likewise.
8294         * modules/uniconv/u8-conv-from-enc: Likewise.
8295         * modules/uniconv/u8-conv-to-enc: Likewise.
8296         * modules/uniconv/u8-strconv-from-enc: Likewise.
8297         * modules/uniconv/u8-strconv-from-locale: Likewise.
8298         * modules/uniconv/u8-strconv-to-enc: Likewise.
8299         * modules/uniconv/u8-strconv-to-locale: Likewise.
8300         * modules/uniconv/u16-conv-from-enc: Likewise.
8301         * modules/uniconv/u16-conv-to-enc: Likewise.
8302         * modules/uniconv/u16-strconv-from-enc: Likewise.
8303         * modules/uniconv/u16-strconv-from-locale: Likewise.
8304         * modules/uniconv/u16-strconv-to-enc: Likewise.
8305         * modules/uniconv/u16-strconv-to-locale: Likewise.
8306         * modules/uniconv/u32-conv-from-enc: Likewise.
8307         * modules/uniconv/u32-conv-to-enc: Likewise.
8308         * modules/uniconv/u32-strconv-from-enc: Likewise.
8309         * modules/uniconv/u32-strconv-from-locale: Likewise.
8310         * modules/uniconv/u32-strconv-to-enc: Likewise.
8311         * modules/uniconv/u32-strconv-to-locale: Likewise.
8312         * modules/unictype/bidicategory-byname: Likewise.
8313         * modules/unictype/bidicategory-name: Likewise.
8314         * modules/unictype/bidicategory-of: Likewise.
8315         * modules/unictype/bidicategory-test: Likewise.
8316         * modules/unictype/block-list: Likewise.
8317         * modules/unictype/block-test: Likewise.
8318         * modules/unictype/category-C: Likewise.
8319         * modules/unictype/category-Cc: Likewise.
8320         * modules/unictype/category-Cf: Likewise.
8321         * modules/unictype/category-Cn: Likewise.
8322         * modules/unictype/category-Co: Likewise.
8323         * modules/unictype/category-Cs: Likewise.
8324         * modules/unictype/category-L: Likewise.
8325         * modules/unictype/category-Ll: Likewise.
8326         * modules/unictype/category-Lm: Likewise.
8327         * modules/unictype/category-Lo: Likewise.
8328         * modules/unictype/category-Lt: Likewise.
8329         * modules/unictype/category-Lu: Likewise.
8330         * modules/unictype/category-M: Likewise.
8331         * modules/unictype/category-Mc: Likewise.
8332         * modules/unictype/category-Me: Likewise.
8333         * modules/unictype/category-Mn: Likewise.
8334         * modules/unictype/category-N: Likewise.
8335         * modules/unictype/category-Nd: Likewise.
8336         * modules/unictype/category-Nl: Likewise.
8337         * modules/unictype/category-No: Likewise.
8338         * modules/unictype/category-P: Likewise.
8339         * modules/unictype/category-Pc: Likewise.
8340         * modules/unictype/category-Pd: Likewise.
8341         * modules/unictype/category-Pe: Likewise.
8342         * modules/unictype/category-Pf: Likewise.
8343         * modules/unictype/category-Pi: Likewise.
8344         * modules/unictype/category-Po: Likewise.
8345         * modules/unictype/category-Ps: Likewise.
8346         * modules/unictype/category-S: Likewise.
8347         * modules/unictype/category-Sc: Likewise.
8348         * modules/unictype/category-Sk: Likewise.
8349         * modules/unictype/category-Sm: Likewise.
8350         * modules/unictype/category-So: Likewise.
8351         * modules/unictype/category-Z: Likewise.
8352         * modules/unictype/category-Zl: Likewise.
8353         * modules/unictype/category-Zp: Likewise.
8354         * modules/unictype/category-Zs: Likewise.
8355         * modules/unictype/category-and: Likewise.
8356         * modules/unictype/category-and-not: Likewise.
8357         * modules/unictype/category-byname: Likewise.
8358         * modules/unictype/category-name: Likewise.
8359         * modules/unictype/category-none: Likewise.
8360         * modules/unictype/category-of: Likewise.
8361         * modules/unictype/category-or: Likewise.
8362         * modules/unictype/category-test: Likewise.
8363         * modules/unictype/combining-class: Likewise.
8364         * modules/unictype/ctype-alnum: Likewise.
8365         * modules/unictype/ctype-alpha: Likewise.
8366         * modules/unictype/ctype-blank: Likewise.
8367         * modules/unictype/ctype-cntrl: Likewise.
8368         * modules/unictype/ctype-digit: Likewise.
8369         * modules/unictype/ctype-graph: Likewise.
8370         * modules/unictype/ctype-lower: Likewise.
8371         * modules/unictype/ctype-print: Likewise.
8372         * modules/unictype/ctype-punct: Likewise.
8373         * modules/unictype/ctype-space: Likewise.
8374         * modules/unictype/ctype-upper: Likewise.
8375         * modules/unictype/ctype-xdigit: Likewise.
8376         * modules/unictype/decimal-digit: Likewise.
8377         * modules/unictype/digit: Likewise.
8378         * modules/unictype/mirror: Likewise.
8379         * modules/unictype/numeric: Likewise.
8380         * modules/unictype/property-alphabetic: Likewise.
8381         * modules/unictype/property-ascii-hex-digit: Likewise.
8382         * modules/unictype/property-bidi-arabic-digit: Likewise.
8383         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
8384         * modules/unictype/property-bidi-block-separator: Likewise.
8385         * modules/unictype/property-bidi-boundary-neutral: Likewise.
8386         * modules/unictype/property-bidi-common-separator: Likewise.
8387         * modules/unictype/property-bidi-control: Likewise.
8388         * modules/unictype/property-bidi-embedding-or-override: Likewise.
8389         * modules/unictype/property-bidi-eur-num-separator: Likewise.
8390         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
8391         * modules/unictype/property-bidi-european-digit: Likewise.
8392         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
8393         * modules/unictype/property-bidi-left-to-right: Likewise.
8394         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
8395         * modules/unictype/property-bidi-other-neutral: Likewise.
8396         * modules/unictype/property-bidi-pdf: Likewise.
8397         * modules/unictype/property-bidi-segment-separator: Likewise.
8398         * modules/unictype/property-bidi-whitespace: Likewise.
8399         * modules/unictype/property-byname: Likewise.
8400         * modules/unictype/property-combining: Likewise.
8401         * modules/unictype/property-composite: Likewise.
8402         * modules/unictype/property-currency-symbol: Likewise.
8403         * modules/unictype/property-dash: Likewise.
8404         * modules/unictype/property-decimal-digit: Likewise.
8405         * modules/unictype/property-default-ignorable-code-point: Likewise.
8406         * modules/unictype/property-deprecated: Likewise.
8407         * modules/unictype/property-diacritic: Likewise.
8408         * modules/unictype/property-extender: Likewise.
8409         * modules/unictype/property-format-control: Likewise.
8410         * modules/unictype/property-grapheme-base: Likewise.
8411         * modules/unictype/property-grapheme-extend: Likewise.
8412         * modules/unictype/property-grapheme-link: Likewise.
8413         * modules/unictype/property-hex-digit: Likewise.
8414         * modules/unictype/property-hyphen: Likewise.
8415         * modules/unictype/property-id-continue: Likewise.
8416         * modules/unictype/property-id-start: Likewise.
8417         * modules/unictype/property-ideographic: Likewise.
8418         * modules/unictype/property-ids-binary-operator: Likewise.
8419         * modules/unictype/property-ids-trinary-operator: Likewise.
8420         * modules/unictype/property-ignorable-control: Likewise.
8421         * modules/unictype/property-iso-control: Likewise.
8422         * modules/unictype/property-join-control: Likewise.
8423         * modules/unictype/property-left-of-pair: Likewise.
8424         * modules/unictype/property-line-separator: Likewise.
8425         * modules/unictype/property-logical-order-exception: Likewise.
8426         * modules/unictype/property-lowercase: Likewise.
8427         * modules/unictype/property-math: Likewise.
8428         * modules/unictype/property-non-break: Likewise.
8429         * modules/unictype/property-not-a-character: Likewise.
8430         * modules/unictype/property-numeric: Likewise.
8431         * modules/unictype/property-other-alphabetic: Likewise.
8432         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
8433         * modules/unictype/property-other-grapheme-extend: Likewise.
8434         * modules/unictype/property-other-id-continue: Likewise.
8435         * modules/unictype/property-other-id-start: Likewise.
8436         * modules/unictype/property-other-lowercase: Likewise.
8437         * modules/unictype/property-other-math: Likewise.
8438         * modules/unictype/property-other-uppercase: Likewise.
8439         * modules/unictype/property-paired-punctuation: Likewise.
8440         * modules/unictype/property-paragraph-separator: Likewise.
8441         * modules/unictype/property-pattern-syntax: Likewise.
8442         * modules/unictype/property-pattern-white-space: Likewise.
8443         * modules/unictype/property-private-use: Likewise.
8444         * modules/unictype/property-punctuation: Likewise.
8445         * modules/unictype/property-quotation-mark: Likewise.
8446         * modules/unictype/property-radical: Likewise.
8447         * modules/unictype/property-sentence-terminal: Likewise.
8448         * modules/unictype/property-soft-dotted: Likewise.
8449         * modules/unictype/property-space: Likewise.
8450         * modules/unictype/property-terminal-punctuation: Likewise.
8451         * modules/unictype/property-test: Likewise.
8452         * modules/unictype/property-titlecase: Likewise.
8453         * modules/unictype/property-unassigned-code-value: Likewise.
8454         * modules/unictype/property-unified-ideograph: Likewise.
8455         * modules/unictype/property-uppercase: Likewise.
8456         * modules/unictype/property-variation-selector: Likewise.
8457         * modules/unictype/property-white-space: Likewise.
8458         * modules/unictype/property-xid-continue: Likewise.
8459         * modules/unictype/property-xid-start: Likewise.
8460         * modules/unictype/property-zero-width: Likewise.
8461         * modules/unictype/scripts: Likewise.
8462         * modules/unictype/syntax-c-ident: Likewise.
8463         * modules/unictype/syntax-c-whitespace: Likewise.
8464         * modules/unictype/syntax-java-ident: Likewise.
8465         * modules/unictype/syntax-java-whitespace: Likewise.
8466         * modules/unilbrk/u8-possible-linebreaks: Likewise.
8467         * modules/unilbrk/u8-width-linebreaks: Likewise.
8468         * modules/unilbrk/u16-possible-linebreaks: Likewise.
8469         * modules/unilbrk/u16-width-linebreaks: Likewise.
8470         * modules/unilbrk/u32-possible-linebreaks: Likewise.
8471         * modules/unilbrk/u32-width-linebreaks: Likewise.
8472         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
8473         * modules/unilbrk/ulc-width-linebreaks: Likewise.
8474         * modules/uniname/uniname: Likewise.
8475         * modules/uninorm/canonical-decomposition: Likewise.
8476         * modules/uninorm/composition: Likewise.
8477         * modules/uninorm/decomposing-form: Likewise.
8478         * modules/uninorm/decomposition: Likewise.
8479         * modules/uninorm/filter: Likewise.
8480         * modules/uninorm/nfc: Likewise.
8481         * modules/uninorm/nfd: Likewise.
8482         * modules/uninorm/nfkc: Likewise.
8483         * modules/uninorm/nfkd: Likewise.
8484         * modules/uninorm/u8-normalize: Likewise.
8485         * modules/uninorm/u8-normcmp: Likewise.
8486         * modules/uninorm/u8-normcoll: Likewise.
8487         * modules/uninorm/u8-normxfrm: Likewise.
8488         * modules/uninorm/u16-normalize: Likewise.
8489         * modules/uninorm/u16-normcmp: Likewise.
8490         * modules/uninorm/u16-normcoll: Likewise.
8491         * modules/uninorm/u16-normxfrm: Likewise.
8492         * modules/uninorm/u32-normalize: Likewise.
8493         * modules/uninorm/u32-normcmp: Likewise.
8494         * modules/uninorm/u32-normcoll: Likewise.
8495         * modules/uninorm/u32-normxfrm: Likewise.
8496         * modules/unistdio/u8-asnprintf: Likewise.
8497         * modules/unistdio/u8-asprintf: Likewise.
8498         * modules/unistdio/u8-snprintf: Likewise.
8499         * modules/unistdio/u8-sprintf: Likewise.
8500         * modules/unistdio/u8-u8-asnprintf: Likewise.
8501         * modules/unistdio/u8-u8-asprintf: Likewise.
8502         * modules/unistdio/u8-u8-snprintf: Likewise.
8503         * modules/unistdio/u8-u8-sprintf: Likewise.
8504         * modules/unistdio/u8-u8-vasnprintf: Likewise.
8505         * modules/unistdio/u8-u8-vasprintf: Likewise.
8506         * modules/unistdio/u8-u8-vsnprintf: Likewise.
8507         * modules/unistdio/u8-u8-vsprintf: Likewise.
8508         * modules/unistdio/u8-vasnprintf: Likewise.
8509         * modules/unistdio/u8-vasprintf: Likewise.
8510         * modules/unistdio/u8-vsnprintf: Likewise.
8511         * modules/unistdio/u8-vsprintf: Likewise.
8512         * modules/unistdio/u16-asnprintf: Likewise.
8513         * modules/unistdio/u16-asprintf: Likewise.
8514         * modules/unistdio/u16-snprintf: Likewise.
8515         * modules/unistdio/u16-sprintf: Likewise.
8516         * modules/unistdio/u16-u16-asnprintf: Likewise.
8517         * modules/unistdio/u16-u16-asprintf: Likewise.
8518         * modules/unistdio/u16-u16-snprintf: Likewise.
8519         * modules/unistdio/u16-u16-sprintf: Likewise.
8520         * modules/unistdio/u16-u16-vasnprintf: Likewise.
8521         * modules/unistdio/u16-u16-vasprintf: Likewise.
8522         * modules/unistdio/u16-u16-vsnprintf: Likewise.
8523         * modules/unistdio/u16-u16-vsprintf: Likewise.
8524         * modules/unistdio/u16-vasnprintf: Likewise.
8525         * modules/unistdio/u16-vasprintf: Likewise.
8526         * modules/unistdio/u16-vsnprintf: Likewise.
8527         * modules/unistdio/u16-vsprintf: Likewise.
8528         * modules/unistdio/u32-asnprintf: Likewise.
8529         * modules/unistdio/u32-asprintf: Likewise.
8530         * modules/unistdio/u32-snprintf: Likewise.
8531         * modules/unistdio/u32-sprintf: Likewise.
8532         * modules/unistdio/u32-u32-asnprintf: Likewise.
8533         * modules/unistdio/u32-u32-asprintf: Likewise.
8534         * modules/unistdio/u32-u32-snprintf: Likewise.
8535         * modules/unistdio/u32-u32-sprintf: Likewise.
8536         * modules/unistdio/u32-u32-vasnprintf: Likewise.
8537         * modules/unistdio/u32-u32-vasprintf: Likewise.
8538         * modules/unistdio/u32-u32-vsnprintf: Likewise.
8539         * modules/unistdio/u32-u32-vsprintf: Likewise.
8540         * modules/unistdio/u32-vasnprintf: Likewise.
8541         * modules/unistdio/u32-vasprintf: Likewise.
8542         * modules/unistdio/u32-vsnprintf: Likewise.
8543         * modules/unistdio/u32-vsprintf: Likewise.
8544         * modules/unistdio/ulc-asnprintf: Likewise.
8545         * modules/unistdio/ulc-asprintf: Likewise.
8546         * modules/unistdio/ulc-fprintf: Likewise.
8547         * modules/unistdio/ulc-snprintf: Likewise.
8548         * modules/unistdio/ulc-sprintf: Likewise.
8549         * modules/unistdio/ulc-vasnprintf: Likewise.
8550         * modules/unistdio/ulc-vasprintf: Likewise.
8551         * modules/unistdio/ulc-vfprintf: Likewise.
8552         * modules/unistdio/ulc-vsnprintf: Likewise.
8553         * modules/unistdio/ulc-vsprintf: Likewise.
8554         * modules/unistr/u8-check: Likewise.
8555         * modules/unistr/u8-chr: Likewise.
8556         * modules/unistr/u8-cmp: Likewise.
8557         * modules/unistr/u8-cmp2: Likewise.
8558         * modules/unistr/u8-cpy: Likewise.
8559         * modules/unistr/u8-cpy-alloc: Likewise.
8560         * modules/unistr/u8-endswith: Likewise.
8561         * modules/unistr/u8-mblen: Likewise.
8562         * modules/unistr/u8-mbsnlen: Likewise.
8563         * modules/unistr/u8-mbtouc: Likewise.
8564         * modules/unistr/u8-mbtouc-unsafe: Likewise.
8565         * modules/unistr/u8-mbtoucr: Likewise.
8566         * modules/unistr/u8-move: Likewise.
8567         * modules/unistr/u8-next: Likewise.
8568         * modules/unistr/u8-prev: Likewise.
8569         * modules/unistr/u8-set: Likewise.
8570         * modules/unistr/u8-startswith: Likewise.
8571         * modules/unistr/u8-stpcpy: Likewise.
8572         * modules/unistr/u8-stpncpy: Likewise.
8573         * modules/unistr/u8-strcat: Likewise.
8574         * modules/unistr/u8-strchr: Likewise.
8575         * modules/unistr/u8-strcmp: Likewise.
8576         * modules/unistr/u8-strcoll: Likewise.
8577         * modules/unistr/u8-strcpy: Likewise.
8578         * modules/unistr/u8-strcspn: Likewise.
8579         * modules/unistr/u8-strdup: Likewise.
8580         * modules/unistr/u8-strlen: Likewise.
8581         * modules/unistr/u8-strmblen: Likewise.
8582         * modules/unistr/u8-strmbtouc: Likewise.
8583         * modules/unistr/u8-strncat: Likewise.
8584         * modules/unistr/u8-strncmp: Likewise.
8585         * modules/unistr/u8-strncpy: Likewise.
8586         * modules/unistr/u8-strnlen: Likewise.
8587         * modules/unistr/u8-strpbrk: Likewise.
8588         * modules/unistr/u8-strrchr: Likewise.
8589         * modules/unistr/u8-strspn: Likewise.
8590         * modules/unistr/u8-strstr: Likewise.
8591         * modules/unistr/u8-strtok: Likewise.
8592         * modules/unistr/u8-to-u16: Likewise.
8593         * modules/unistr/u8-to-u32: Likewise.
8594         * modules/unistr/u8-uctomb: Likewise.
8595         * modules/unistr/u16-check: Likewise.
8596         * modules/unistr/u16-chr: Likewise.
8597         * modules/unistr/u16-cmp: Likewise.
8598         * modules/unistr/u16-cmp2: Likewise.
8599         * modules/unistr/u16-cpy: Likewise.
8600         * modules/unistr/u16-cpy-alloc: Likewise.
8601         * modules/unistr/u16-endswith: Likewise.
8602         * modules/unistr/u16-mblen: Likewise.
8603         * modules/unistr/u16-mbsnlen: Likewise.
8604         * modules/unistr/u16-mbtouc: Likewise.
8605         * modules/unistr/u16-mbtouc-unsafe: Likewise.
8606         * modules/unistr/u16-mbtoucr: Likewise.
8607         * modules/unistr/u16-move: Likewise.
8608         * modules/unistr/u16-next: Likewise.
8609         * modules/unistr/u16-prev: Likewise.
8610         * modules/unistr/u16-set: Likewise.
8611         * modules/unistr/u16-startswith: Likewise.
8612         * modules/unistr/u16-stpcpy: Likewise.
8613         * modules/unistr/u16-stpncpy: Likewise.
8614         * modules/unistr/u16-strcat: Likewise.
8615         * modules/unistr/u16-strchr: Likewise.
8616         * modules/unistr/u16-strcmp: Likewise.
8617         * modules/unistr/u16-strcoll: Likewise.
8618         * modules/unistr/u16-strcpy: Likewise.
8619         * modules/unistr/u16-strcspn: Likewise.
8620         * modules/unistr/u16-strdup: Likewise.
8621         * modules/unistr/u16-strlen: Likewise.
8622         * modules/unistr/u16-strmblen: Likewise.
8623         * modules/unistr/u16-strmbtouc: Likewise.
8624         * modules/unistr/u16-strncat: Likewise.
8625         * modules/unistr/u16-strncmp: Likewise.
8626         * modules/unistr/u16-strncpy: Likewise.
8627         * modules/unistr/u16-strnlen: Likewise.
8628         * modules/unistr/u16-strpbrk: Likewise.
8629         * modules/unistr/u16-strrchr: Likewise.
8630         * modules/unistr/u16-strspn: Likewise.
8631         * modules/unistr/u16-strstr: Likewise.
8632         * modules/unistr/u16-strtok: Likewise.
8633         * modules/unistr/u16-to-u32: Likewise.
8634         * modules/unistr/u16-to-u8: Likewise.
8635         * modules/unistr/u16-uctomb: Likewise.
8636         * modules/unistr/u32-check: Likewise.
8637         * modules/unistr/u32-chr: Likewise.
8638         * modules/unistr/u32-cmp: Likewise.
8639         * modules/unistr/u32-cmp2: Likewise.
8640         * modules/unistr/u32-cpy: Likewise.
8641         * modules/unistr/u32-cpy-alloc: Likewise.
8642         * modules/unistr/u32-endswith: Likewise.
8643         * modules/unistr/u32-mblen: Likewise.
8644         * modules/unistr/u32-mbsnlen: Likewise.
8645         * modules/unistr/u32-mbtouc: Likewise.
8646         * modules/unistr/u32-mbtouc-unsafe: Likewise.
8647         * modules/unistr/u32-mbtoucr: Likewise.
8648         * modules/unistr/u32-move: Likewise.
8649         * modules/unistr/u32-next: Likewise.
8650         * modules/unistr/u32-prev: Likewise.
8651         * modules/unistr/u32-set: Likewise.
8652         * modules/unistr/u32-startswith: Likewise.
8653         * modules/unistr/u32-stpcpy: Likewise.
8654         * modules/unistr/u32-stpncpy: Likewise.
8655         * modules/unistr/u32-strcat: Likewise.
8656         * modules/unistr/u32-strchr: Likewise.
8657         * modules/unistr/u32-strcmp: Likewise.
8658         * modules/unistr/u32-strcoll: Likewise.
8659         * modules/unistr/u32-strcpy: Likewise.
8660         * modules/unistr/u32-strcspn: Likewise.
8661         * modules/unistr/u32-strdup: Likewise.
8662         * modules/unistr/u32-strlen: Likewise.
8663         * modules/unistr/u32-strmblen: Likewise.
8664         * modules/unistr/u32-strmbtouc: Likewise.
8665         * modules/unistr/u32-strncat: Likewise.
8666         * modules/unistr/u32-strncmp: Likewise.
8667         * modules/unistr/u32-strncpy: Likewise.
8668         * modules/unistr/u32-strnlen: Likewise.
8669         * modules/unistr/u32-strpbrk: Likewise.
8670         * modules/unistr/u32-strrchr: Likewise.
8671         * modules/unistr/u32-strspn: Likewise.
8672         * modules/unistr/u32-strstr: Likewise.
8673         * modules/unistr/u32-strtok: Likewise.
8674         * modules/unistr/u32-to-u16: Likewise.
8675         * modules/unistr/u32-to-u8: Likewise.
8676         * modules/unistr/u32-uctomb: Likewise.
8677         * modules/uniwbrk/u8-wordbreaks: Likewise.
8678         * modules/uniwbrk/u16-wordbreaks: Likewise.
8679         * modules/uniwbrk/u32-wordbreaks: Likewise.
8680         * modules/uniwbrk/ulc-wordbreaks: Likewise.
8681         * modules/uniwbrk/wordbreak-property: Likewise.
8682         * modules/uniwidth/u8-strwidth: Likewise.
8683         * modules/uniwidth/u8-width: Likewise.
8684         * modules/uniwidth/u16-strwidth: Likewise.
8685         * modules/uniwidth/u16-width: Likewise.
8686         * modules/uniwidth/u32-strwidth: Likewise.
8687         * modules/uniwidth/u32-width: Likewise.
8688         * modules/uniwidth/width: Likewise.
8689         * modules/unicase/cased-tests (Makefile.am): Link all test programs
8690         with $(LIBUNISTRING).
8691         * modules/unicase/ignorable-tests: Likewise.
8692         * modules/unicase/locale-language-tests: Likewise.
8693         * modules/unicase/tolower-tests: Likewise.
8694         * modules/unicase/totitle-tests: Likewise.
8695         * modules/unicase/toupper-tests: Likewise.
8696         * modules/unicase/u8-casecmp-tests: Likewise.
8697         * modules/unicase/u8-casecoll-tests: Likewise.
8698         * modules/unicase/u8-casefold-tests: Likewise.
8699         * modules/unicase/u8-is-cased-tests: Likewise.
8700         * modules/unicase/u8-is-casefolded-tests: Likewise.
8701         * modules/unicase/u8-is-lowercase-tests: Likewise.
8702         * modules/unicase/u8-is-titlecase-tests: Likewise.
8703         * modules/unicase/u8-is-uppercase-tests: Likewise.
8704         * modules/unicase/u8-tolower-tests: Likewise.
8705         * modules/unicase/u8-totitle-tests: Likewise.
8706         * modules/unicase/u8-toupper-tests: Likewise.
8707         * modules/unicase/u16-casecmp-tests: Likewise.
8708         * modules/unicase/u16-casecoll-tests: Likewise.
8709         * modules/unicase/u16-casefold-tests: Likewise.
8710         * modules/unicase/u16-is-cased-tests: Likewise.
8711         * modules/unicase/u16-is-casefolded-tests: Likewise.
8712         * modules/unicase/u16-is-lowercase-tests: Likewise.
8713         * modules/unicase/u16-is-titlecase-tests: Likewise.
8714         * modules/unicase/u16-is-uppercase-tests: Likewise.
8715         * modules/unicase/u16-tolower-tests: Likewise.
8716         * modules/unicase/u16-totitle-tests: Likewise.
8717         * modules/unicase/u16-toupper-tests: Likewise.
8718         * modules/unicase/u32-casecmp-tests: Likewise.
8719         * modules/unicase/u32-casecoll-tests: Likewise.
8720         * modules/unicase/u32-casefold-tests: Likewise.
8721         * modules/unicase/u32-is-cased-tests: Likewise.
8722         * modules/unicase/u32-is-casefolded-tests: Likewise.
8723         * modules/unicase/u32-is-lowercase-tests: Likewise.
8724         * modules/unicase/u32-is-titlecase-tests: Likewise.
8725         * modules/unicase/u32-is-uppercase-tests: Likewise.
8726         * modules/unicase/u32-tolower-tests: Likewise.
8727         * modules/unicase/u32-totitle-tests: Likewise.
8728         * modules/unicase/u32-toupper-tests: Likewise.
8729         * modules/unicase/ulc-casecmp-tests: Likewise.
8730         * modules/unicase/ulc-casecoll-tests: Likewise.
8731         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
8732         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
8733         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
8734         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
8735         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
8736         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
8737         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
8738         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
8739         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
8740         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
8741         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
8742         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
8743         * modules/unictype/bidicategory-byname-tests: Likewise.
8744         * modules/unictype/bidicategory-name-tests: Likewise.
8745         * modules/unictype/bidicategory-of-tests: Likewise.
8746         * modules/unictype/bidicategory-test-tests: Likewise.
8747         * modules/unictype/block-list-tests: Likewise.
8748         * modules/unictype/block-of-tests: Likewise.
8749         * modules/unictype/block-test-tests: Likewise.
8750         * modules/unictype/category-C-tests: Likewise.
8751         * modules/unictype/category-Cc-tests: Likewise.
8752         * modules/unictype/category-Cf-tests: Likewise.
8753         * modules/unictype/category-Cn-tests: Likewise.
8754         * modules/unictype/category-Co-tests: Likewise.
8755         * modules/unictype/category-Cs-tests: Likewise.
8756         * modules/unictype/category-L-tests: Likewise.
8757         * modules/unictype/category-Ll-tests: Likewise.
8758         * modules/unictype/category-Lm-tests: Likewise.
8759         * modules/unictype/category-Lo-tests: Likewise.
8760         * modules/unictype/category-Lt-tests: Likewise.
8761         * modules/unictype/category-Lu-tests: Likewise.
8762         * modules/unictype/category-M-tests: Likewise.
8763         * modules/unictype/category-Mc-tests: Likewise.
8764         * modules/unictype/category-Me-tests: Likewise.
8765         * modules/unictype/category-Mn-tests: Likewise.
8766         * modules/unictype/category-N-tests: Likewise.
8767         * modules/unictype/category-Nd-tests: Likewise.
8768         * modules/unictype/category-Nl-tests: Likewise.
8769         * modules/unictype/category-No-tests: Likewise.
8770         * modules/unictype/category-P-tests: Likewise.
8771         * modules/unictype/category-Pc-tests: Likewise.
8772         * modules/unictype/category-Pd-tests: Likewise.
8773         * modules/unictype/category-Pe-tests: Likewise.
8774         * modules/unictype/category-Pf-tests: Likewise.
8775         * modules/unictype/category-Pi-tests: Likewise.
8776         * modules/unictype/category-Po-tests: Likewise.
8777         * modules/unictype/category-Ps-tests: Likewise.
8778         * modules/unictype/category-S-tests: Likewise.
8779         * modules/unictype/category-Sc-tests: Likewise.
8780         * modules/unictype/category-Sk-tests: Likewise.
8781         * modules/unictype/category-Sm-tests: Likewise.
8782         * modules/unictype/category-So-tests: Likewise.
8783         * modules/unictype/category-Z-tests: Likewise.
8784         * modules/unictype/category-Zl-tests: Likewise.
8785         * modules/unictype/category-Zp-tests: Likewise.
8786         * modules/unictype/category-Zs-tests: Likewise.
8787         * modules/unictype/category-and-not-tests: Likewise.
8788         * modules/unictype/category-and-tests: Likewise.
8789         * modules/unictype/category-byname-tests: Likewise.
8790         * modules/unictype/category-name-tests: Likewise.
8791         * modules/unictype/category-none-tests: Likewise.
8792         * modules/unictype/category-of-tests: Likewise.
8793         * modules/unictype/category-or-tests: Likewise.
8794         * modules/unictype/category-test-withtable-tests: Likewise.
8795         * modules/unictype/combining-class-tests: Likewise.
8796         * modules/unictype/ctype-alnum-tests: Likewise.
8797         * modules/unictype/ctype-alpha-tests: Likewise.
8798         * modules/unictype/ctype-blank-tests: Likewise.
8799         * modules/unictype/ctype-cntrl-tests: Likewise.
8800         * modules/unictype/ctype-digit-tests: Likewise.
8801         * modules/unictype/ctype-graph-tests: Likewise.
8802         * modules/unictype/ctype-lower-tests: Likewise.
8803         * modules/unictype/ctype-print-tests: Likewise.
8804         * modules/unictype/ctype-punct-tests: Likewise.
8805         * modules/unictype/ctype-space-tests: Likewise.
8806         * modules/unictype/ctype-upper-tests: Likewise.
8807         * modules/unictype/ctype-xdigit-tests: Likewise.
8808         * modules/unictype/decimal-digit-tests: Likewise.
8809         * modules/unictype/digit-tests: Likewise.
8810         * modules/unictype/mirror-tests: Likewise.
8811         * modules/unictype/numeric-tests: Likewise.
8812         * modules/unictype/property-alphabetic-tests: Likewise.
8813         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
8814         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
8815         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
8816         * modules/unictype/property-bidi-block-separator-tests: Likewise.
8817         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
8818         * modules/unictype/property-bidi-common-separator-tests: Likewise.
8819         * modules/unictype/property-bidi-control-tests: Likewise.
8820         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
8821         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
8822         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
8823         * modules/unictype/property-bidi-european-digit-tests: Likewise.
8824         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
8825         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
8826         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
8827         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
8828         * modules/unictype/property-bidi-pdf-tests: Likewise.
8829         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
8830         * modules/unictype/property-bidi-whitespace-tests: Likewise.
8831         * modules/unictype/property-byname-tests: Likewise.
8832         * modules/unictype/property-combining-tests: Likewise.
8833         * modules/unictype/property-composite-tests: Likewise.
8834         * modules/unictype/property-currency-symbol-tests: Likewise.
8835         * modules/unictype/property-dash-tests: Likewise.
8836         * modules/unictype/property-decimal-digit-tests: Likewise.
8837         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
8838         * modules/unictype/property-deprecated-tests: Likewise.
8839         * modules/unictype/property-diacritic-tests: Likewise.
8840         * modules/unictype/property-extender-tests: Likewise.
8841         * modules/unictype/property-format-control-tests: Likewise.
8842         * modules/unictype/property-grapheme-base-tests: Likewise.
8843         * modules/unictype/property-grapheme-extend-tests: Likewise.
8844         * modules/unictype/property-grapheme-link-tests: Likewise.
8845         * modules/unictype/property-hex-digit-tests: Likewise.
8846         * modules/unictype/property-hyphen-tests: Likewise.
8847         * modules/unictype/property-id-continue-tests: Likewise.
8848         * modules/unictype/property-id-start-tests: Likewise.
8849         * modules/unictype/property-ideographic-tests: Likewise.
8850         * modules/unictype/property-ids-binary-operator-tests: Likewise.
8851         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
8852         * modules/unictype/property-ignorable-control-tests: Likewise.
8853         * modules/unictype/property-iso-control-tests: Likewise.
8854         * modules/unictype/property-join-control-tests: Likewise.
8855         * modules/unictype/property-left-of-pair-tests: Likewise.
8856         * modules/unictype/property-line-separator-tests: Likewise.
8857         * modules/unictype/property-logical-order-exception-tests: Likewise.
8858         * modules/unictype/property-lowercase-tests: Likewise.
8859         * modules/unictype/property-math-tests: Likewise.
8860         * modules/unictype/property-non-break-tests: Likewise.
8861         * modules/unictype/property-not-a-character-tests: Likewise.
8862         * modules/unictype/property-numeric-tests: Likewise.
8863         * modules/unictype/property-other-alphabetic-tests: Likewise.
8864         * modules/unictype/property-other-default-ignorable-code-point-tests:
8865         Likewise.
8866         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
8867         * modules/unictype/property-other-id-continue-tests: Likewise.
8868         * modules/unictype/property-other-id-start-tests: Likewise.
8869         * modules/unictype/property-other-lowercase-tests: Likewise.
8870         * modules/unictype/property-other-math-tests: Likewise.
8871         * modules/unictype/property-other-uppercase-tests: Likewise.
8872         * modules/unictype/property-paired-punctuation-tests: Likewise.
8873         * modules/unictype/property-paragraph-separator-tests: Likewise.
8874         * modules/unictype/property-pattern-syntax-tests: Likewise.
8875         * modules/unictype/property-pattern-white-space-tests: Likewise.
8876         * modules/unictype/property-private-use-tests: Likewise.
8877         * modules/unictype/property-punctuation-tests: Likewise.
8878         * modules/unictype/property-quotation-mark-tests: Likewise.
8879         * modules/unictype/property-radical-tests: Likewise.
8880         * modules/unictype/property-sentence-terminal-tests: Likewise.
8881         * modules/unictype/property-soft-dotted-tests: Likewise.
8882         * modules/unictype/property-space-tests: Likewise.
8883         * modules/unictype/property-terminal-punctuation-tests: Likewise.
8884         * modules/unictype/property-test-tests: Likewise.
8885         * modules/unictype/property-titlecase-tests: Likewise.
8886         * modules/unictype/property-unassigned-code-value-tests: Likewise.
8887         * modules/unictype/property-unified-ideograph-tests: Likewise.
8888         * modules/unictype/property-uppercase-tests: Likewise.
8889         * modules/unictype/property-variation-selector-tests: Likewise.
8890         * modules/unictype/property-white-space-tests: Likewise.
8891         * modules/unictype/property-xid-continue-tests: Likewise.
8892         * modules/unictype/property-xid-start-tests: Likewise.
8893         * modules/unictype/property-zero-width-tests: Likewise.
8894         * modules/unictype/scripts-tests: Likewise.
8895         * modules/unictype/syntax-c-ident-tests: Likewise.
8896         * modules/unictype/syntax-c-whitespace-tests: Likewise.
8897         * modules/unictype/syntax-java-ident-tests: Likewise.
8898         * modules/unictype/syntax-java-whitespace-tests: Likewise.
8899         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
8900         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
8901         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
8902         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
8903         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
8904         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
8905         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
8906         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
8907         * modules/uniname/uniname-tests: Likewise.
8908         * modules/uninorm/canonical-decomposition-tests: Likewise.
8909         * modules/uninorm/compat-decomposition-tests: Likewise.
8910         * modules/uninorm/composition-tests: Likewise.
8911         * modules/uninorm/decomposing-form-tests: Likewise.
8912         * modules/uninorm/decomposition-tests: Likewise.
8913         * modules/uninorm/filter-tests: Likewise.
8914         * modules/uninorm/nfc-tests: Likewise.
8915         * modules/uninorm/nfd-tests: Likewise.
8916         * modules/uninorm/nfkc-tests: Likewise.
8917         * modules/uninorm/nfkd-tests: Likewise.
8918         * modules/uninorm/u8-normcmp-tests: Likewise.
8919         * modules/uninorm/u8-normcoll-tests: Likewise.
8920         * modules/uninorm/u16-normcmp-tests: Likewise.
8921         * modules/uninorm/u16-normcoll-tests: Likewise.
8922         * modules/uninorm/u32-normcmp-tests: Likewise.
8923         * modules/uninorm/u32-normcoll-tests: Likewise.
8924         * modules/unistdio/u8-asnprintf-tests: Likewise.
8925         * modules/unistdio/u8-vasnprintf-tests: Likewise.
8926         * modules/unistdio/u8-vasprintf-tests: Likewise.
8927         * modules/unistdio/u8-vsnprintf-tests: Likewise.
8928         * modules/unistdio/u8-vsprintf-tests: Likewise.
8929         * modules/unistdio/u16-asnprintf-tests: Likewise.
8930         * modules/unistdio/u16-vasnprintf-tests: Likewise.
8931         * modules/unistdio/u16-vasprintf-tests: Likewise.
8932         * modules/unistdio/u16-vsnprintf-tests: Likewise.
8933         * modules/unistdio/u16-vsprintf-tests: Likewise.
8934         * modules/unistdio/u32-asnprintf-tests: Likewise.
8935         * modules/unistdio/u32-vasnprintf-tests: Likewise.
8936         * modules/unistdio/u32-vasprintf-tests: Likewise.
8937         * modules/unistdio/u32-vsnprintf-tests: Likewise.
8938         * modules/unistdio/u32-vsprintf-tests: Likewise.
8939         * modules/unistdio/ulc-asnprintf-tests: Likewise.
8940         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
8941         * modules/unistdio/ulc-vasprintf-tests: Likewise.
8942         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
8943         * modules/unistdio/ulc-vsprintf-tests: Likewise.
8944         * modules/unistr/u8-check-tests: Likewise.
8945         * modules/unistr/u8-chr-tests: Likewise.
8946         * modules/unistr/u8-cmp-tests: Likewise.
8947         * modules/unistr/u8-cmp2-tests: Likewise.
8948         * modules/unistr/u8-cpy-alloc-tests: Likewise.
8949         * modules/unistr/u8-cpy-tests: Likewise.
8950         * modules/unistr/u8-mblen-tests: Likewise.
8951         * modules/unistr/u8-mbsnlen-tests: Likewise.
8952         * modules/unistr/u8-mbtouc-tests: Likewise.
8953         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
8954         * modules/unistr/u8-mbtoucr-tests: Likewise.
8955         * modules/unistr/u8-move-tests: Likewise.
8956         * modules/unistr/u8-next-tests: Likewise.
8957         * modules/unistr/u8-prev-tests: Likewise.
8958         * modules/unistr/u8-set-tests: Likewise.
8959         * modules/unistr/u8-stpcpy-tests: Likewise.
8960         * modules/unistr/u8-stpncpy-tests: Likewise.
8961         * modules/unistr/u8-strcat-tests: Likewise.
8962         * modules/unistr/u8-strcmp-tests: Likewise.
8963         * modules/unistr/u8-strcoll-tests: Likewise.
8964         * modules/unistr/u8-strcpy-tests: Likewise.
8965         * modules/unistr/u8-strdup-tests: Likewise.
8966         * modules/unistr/u8-strlen-tests: Likewise.
8967         * modules/unistr/u8-strmblen-tests: Likewise.
8968         * modules/unistr/u8-strmbtouc-tests: Likewise.
8969         * modules/unistr/u8-strncat-tests: Likewise.
8970         * modules/unistr/u8-strncmp-tests: Likewise.
8971         * modules/unistr/u8-strncpy-tests: Likewise.
8972         * modules/unistr/u8-strnlen-tests: Likewise.
8973         * modules/unistr/u8-to-u16-tests: Likewise.
8974         * modules/unistr/u8-to-u32-tests: Likewise.
8975         * modules/unistr/u8-uctomb-tests: Likewise.
8976         * modules/unistr/u16-check-tests: Likewise.
8977         * modules/unistr/u16-chr-tests: Likewise.
8978         * modules/unistr/u16-cmp-tests: Likewise.
8979         * modules/unistr/u16-cmp2-tests: Likewise.
8980         * modules/unistr/u16-cpy-alloc-tests: Likewise.
8981         * modules/unistr/u16-cpy-tests: Likewise.
8982         * modules/unistr/u16-mblen-tests: Likewise.
8983         * modules/unistr/u16-mbsnlen-tests: Likewise.
8984         * modules/unistr/u16-mbtouc-tests: Likewise.
8985         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
8986         * modules/unistr/u16-mbtoucr-tests: Likewise.
8987         * modules/unistr/u16-move-tests: Likewise.
8988         * modules/unistr/u16-next-tests: Likewise.
8989         * modules/unistr/u16-prev-tests: Likewise.
8990         * modules/unistr/u16-set-tests: Likewise.
8991         * modules/unistr/u16-stpcpy-tests: Likewise.
8992         * modules/unistr/u16-stpncpy-tests: Likewise.
8993         * modules/unistr/u16-strcat-tests: Likewise.
8994         * modules/unistr/u16-strcmp-tests: Likewise.
8995         * modules/unistr/u16-strcoll-tests: Likewise.
8996         * modules/unistr/u16-strcpy-tests: Likewise.
8997         * modules/unistr/u16-strdup-tests: Likewise.
8998         * modules/unistr/u16-strlen-tests: Likewise.
8999         * modules/unistr/u16-strmblen-tests: Likewise.
9000         * modules/unistr/u16-strmbtouc-tests: Likewise.
9001         * modules/unistr/u16-strncat-tests: Likewise.
9002         * modules/unistr/u16-strncmp-tests: Likewise.
9003         * modules/unistr/u16-strncpy-tests: Likewise.
9004         * modules/unistr/u16-strnlen-tests: Likewise.
9005         * modules/unistr/u16-to-u32-tests: Likewise.
9006         * modules/unistr/u16-to-u8-tests: Likewise.
9007         * modules/unistr/u16-uctomb-tests: Likewise.
9008         * modules/unistr/u32-check-tests: Likewise.
9009         * modules/unistr/u32-chr-tests: Likewise.
9010         * modules/unistr/u32-cmp-tests: Likewise.
9011         * modules/unistr/u32-cmp2-tests: Likewise.
9012         * modules/unistr/u32-cpy-alloc-tests: Likewise.
9013         * modules/unistr/u32-cpy-tests: Likewise.
9014         * modules/unistr/u32-mblen-tests: Likewise.
9015         * modules/unistr/u32-mbsnlen-tests: Likewise.
9016         * modules/unistr/u32-mbtouc-tests: Likewise.
9017         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
9018         * modules/unistr/u32-mbtoucr-tests: Likewise.
9019         * modules/unistr/u32-move-tests: Likewise.
9020         * modules/unistr/u32-next-tests: Likewise.
9021         * modules/unistr/u32-prev-tests: Likewise.
9022         * modules/unistr/u32-set-tests: Likewise.
9023         * modules/unistr/u32-stpcpy-tests: Likewise.
9024         * modules/unistr/u32-stpncpy-tests: Likewise.
9025         * modules/unistr/u32-strcat-tests: Likewise.
9026         * modules/unistr/u32-strcmp-tests: Likewise.
9027         * modules/unistr/u32-strcoll-tests: Likewise.
9028         * modules/unistr/u32-strcpy-tests: Likewise.
9029         * modules/unistr/u32-strdup-tests: Likewise.
9030         * modules/unistr/u32-strlen-tests: Likewise.
9031         * modules/unistr/u32-strmblen-tests: Likewise.
9032         * modules/unistr/u32-strmbtouc-tests: Likewise.
9033         * modules/unistr/u32-strncat-tests: Likewise.
9034         * modules/unistr/u32-strncmp-tests: Likewise.
9035         * modules/unistr/u32-strncpy-tests: Likewise.
9036         * modules/unistr/u32-strnlen-tests: Likewise.
9037         * modules/unistr/u32-to-u16-tests: Likewise.
9038         * modules/unistr/u32-to-u8-tests: Likewise.
9039         * modules/unistr/u32-uctomb-tests: Likewise.
9040         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
9041         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
9042         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
9043         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
9044         * modules/uniwidth/u8-strwidth-tests: Likewise.
9045         * modules/uniwidth/u8-width-tests: Likewise.
9046         * modules/uniwidth/u16-strwidth-tests: Likewise.
9047         * modules/uniwidth/u16-width-tests: Likewise.
9048         * modules/uniwidth/u32-strwidth-tests: Likewise.
9049         * modules/uniwidth/u32-width-tests: Likewise.
9050         * modules/uniwidth/width-tests: Likewise.
9051
9052 2010-05-18  Richard Jones  <rjones@redhat.com>
9053
9054         doc: users.txt: list hivex
9055         * users.txt: Add hivex.
9056
9057 2010-05-18  Richard Jones  <rjones@redhat.com>
9058
9059         doc: users.txt: list febootstrap
9060         * users.txt: Add febootstrap.
9061
9062 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
9063
9064         bootstrap: fix an error when gnulib is not used as a git submodule
9065         * build-aux/bootstrap (gnulib_path): If its length is zero then
9066         assign "gnulib" to it.
9067         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
9068
9069 2010-05-16  Bruno Haible  <bruno@clisp.org>
9070
9071         Avoid autoconf warnings about AM_ICONV.
9072         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
9073         2.64.
9074
9075 2010-05-16  Bruno Haible  <bruno@clisp.org>
9076
9077         absolute-header: Make the macro usable in more situations.
9078         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
9079         from gl_ABSOLUTE_HEADER.
9080         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
9081
9082 2010-05-16  James Youngman  <jay@gnu.org>
9083
9084         doc: update users.txt
9085         * users.txt: Add CSSC.
9086
9087 2010-05-16  Jim Meyering  <meyering@redhat.com>
9088
9089         init.sh: fix an error in the previous change; add more comments
9090         * tests/init.sh: Compare exit code in loop against 9, not 2.
9091         Patch by Bruno Haible.
9092         Make the two tests more similar by adding an empty "then" clause.
9093         Add comments.
9094
9095         init.sh: avoid unnecessary shell re-exec
9096         * tests/init.sh: Improve the re-exec-required check to first test the
9097         current shell.  If it passes the test, do not search for a shell that
9098         does pass, and do not re-exec.  This test is particularly contorted to
9099         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
9100         of $(...) evokes a syntax error and causes immediate shell exit with
9101         status 2.  Bruno Haible reported that the re-exec made it impossible
9102         to single-step through any init.sh-using script.
9103
9104 2010-05-16  Bruno Haible  <bruno@clisp.org>
9105
9106         Fix collision between gnulib's and libintl's printf replacements.
9107         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
9108         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
9109         (printf): When using GNU C, map the __printf__ function to rpl_printf
9110         via __asm__. When not using GNU C, define rpl_printf instead of
9111         __printf__.
9112         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
9113         commit.
9114         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
9115         commit.
9116         * m4/asm-underscore.m4: New file.
9117         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
9118         * modules/stdio (Files): Add m4/asm-underscore.m4.
9119         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
9120         Reported by Ben Pfaff.
9121
9122 2010-05-16  Bruno Haible  <bruno@clisp.org>
9123
9124         verify: Avoid skipping the test on openSUSE 11.0.
9125         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
9126
9127 2010-05-13  Bruno Haible  <bruno@clisp.org>
9128
9129         Avoid useless warnings from G++.
9130         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
9131         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
9132         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9133
9134 2010-05-11  Jim Meyering  <meyering@redhat.com>
9135
9136         maint.mk: tweak preceding change
9137         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
9138         regexps tighter by anchoring at EOL, and make the new group "shy"
9139         for slightly decreased overhead.
9140
9141 2010-05-11  Eric Blake  <eblake@redhat.com>
9142
9143         maint.mk: gnulib doesn't guarantee NSIG
9144         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
9145
9146 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
9147
9148         test-pwrite.c: Remove unused variable declaration.
9149         * tests/test-pwrite.c (main): Remove read_buf declaration.
9150
9151         Remove useless test-pwrite.sh file.
9152         * tests/test-pwrite.sh: Delete file.
9153         * modules/pwrite-tests: Remove references.
9154         Reported by Bruno Haible.
9155
9156 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
9157
9158         init.sh: fix a typo
9159         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
9160
9161 2010-05-10  Jim Meyering  <meyering@redhat.com>
9162
9163         maint.mk: avoid using a temporary file in the always-defined-macros check
9164         * top/maint.mk (.re-defmac): Remove rule.
9165         (gl_trap_): Remove definition.
9166         (sc_prohibit_always-defined_macros): Rewrite not to create and
9167         depend on a temporary file.  Instead, depend on GNU grep's ability
9168         to read a list of regular expressions from stdin when given "-f -".
9169
9170 2010-05-09  Bruno Haible  <bruno@clisp.org>
9171
9172         Update to GNU gettext 0.18, part 1.
9173         * m4/gettext.m4: Update to GNU gettext 0.18.
9174         * m4/intl.m4: Likewise.
9175         * m4/po.m4: Likewise.
9176         * modules/gettext (Files): Add m4/fcntl-o.m4.
9177         (configure.ac): Require gettext infrastructure from version 0.18.
9178
9179 2010-05-09  Jim Meyering  <meyering@redhat.com>
9180
9181         init.sh: enable MALLOC_PERTURB_
9182         * tests/init.sh: Enable glibc's malloc-perturbing option.
9183
9184         maint.mk: improve sc_cross_check_PATH_usage_in_tests
9185         With my recent change in init.sh from the two-line form:
9186             -#   : ${srcdir=.}
9187             -#   . "$srcdir/init.sh"; path_prepend_ .
9188             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
9189         I noticed that using the one-line form would cause this test
9190         to fail with a false-positive, or to stop working altogether,
9191         depending on whether help-version changed or all the tests did.
9192         * top/maint.mk (_hv_regex): Remove this definition.
9193         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
9194         (_hv_regex_strong): Use a stronger regex to check for conformance.
9195         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
9196         Give a separate diagnostic for lack of conforming use.
9197
9198         maint.mk: prohibit definition of symbols defined by gnulib
9199         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
9200         definition of symbols defined by gnulib.
9201
9202 2010-05-09  Bruno Haible  <bruno@clisp.org>
9203
9204         acl: Avoid test failure on Cygwin-hosted mingw.
9205         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
9206
9207 2010-05-09  Bruno Haible  <bruno@clisp.org>
9208
9209         error: Use system's fcntl function.
9210         * lib/error.c (fcntl): Undefine.
9211
9212 2010-05-09  Jim Meyering  <meyering@redhat.com>
9213
9214         verify: adjust formatting to be more consistent
9215         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
9216         argument-list '('s, and after one comma.
9217
9218 2010-05-09  Bruno Haible  <bruno@clisp.org>
9219
9220         error: More reliable output on mingw.
9221         * lib/error.c: Include <windows.h>.
9222         (is_open): New function.
9223         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
9224         defined.
9225
9226 2010-05-09  Bruno Haible  <bruno@clisp.org>
9227
9228         vasnprintf: Fix syntax errors in libintl build on mingw.
9229         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
9230         pad_ourselves and prec_ourselves after use.
9231
9232 2010-05-08  Bruno Haible  <bruno@clisp.org>
9233
9234         * lib/config.charset: Update comments for Cygwin 1.7.
9235         * lib/localcharset.c: Likewise.
9236
9237 2010-05-07  Jim Meyering  <meyering@redhat.com>
9238
9239         init.sh: improve comments
9240         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
9241         . "${srcdir=.}/init.sh"; path_prepend_ .
9242         Add a note about path_prepend_ and the alternative of using
9243         TESTS_ENVIRONMENT.
9244
9245 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
9246
9247         exclude: Unescape hashed patterns in wildcard mode.
9248         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
9249         to the hash list.
9250         * tests/test-exclude8.sh: New test case.
9251         * modules/exclude-tests: Add new test.
9252
9253 2010-05-05  Eric Blake  <eblake@redhat.com>
9254
9255         verify: automate tests
9256         * modules/verify-tests: New module.
9257         * tests/test-verify.sh: New file.
9258         * tests/test-verify.c: Guard each negative test with a unique id.
9259         Also avoid warning about unused left hand of comma expressions.
9260
9261 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
9262
9263         Further improvements to verify.h, suggested by Eric Blake.
9264         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
9265         the GL_* versions, to avoid collision with OpenGL.
9266         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
9267         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
9268         than testing merely whether it's defined.
9269
9270         Modify verify.h to pacify gcc -Wredundant_decls.
9271         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
9272         These use the prefix "GL_" since they're likely to be useful elsewhere.
9273         We may need to break them out into a different .h file.
9274         (__COUNTER__): Define to 0 if the compiler doesn't support it.
9275         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
9276         of verify_function__.
9277
9278 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
9279
9280         Tests for module pwrite.
9281         * modules/pwrite-tests: New file.
9282         * tests/test-pwrite.sh: New file.
9283         * tests/test-pwrite.c: New file.
9284
9285         New module pwrite.
9286         * lib/unistd.in.h (pwrite): New declaration.
9287         * lib/pwrite.c: New file, from glibc with modifications.
9288         * m4/pwrite.m4: New file.
9289         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
9290         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
9291         REPLACE_PWRITE.
9292         * modules/pwrite: New file.
9293         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
9294         REPLACE_PWRITE.
9295         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
9296         * doc/posix-functions/pwrite.texi: Mention the new module.
9297
9298 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
9299
9300         pread: Update documentation.
9301         * doc/posix-functions/pread.texi: Mention the 'pread' module.
9302
9303 2010-05-04  Eric Blake  <eblake@redhat.com>
9304
9305         docs: update cygwin progress
9306         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
9307         this bug.
9308         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
9309         Added in cygwin 1.7.2.
9310         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
9311         Likewise.
9312         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
9313         Likewise.
9314         * doc/glibc-functions/dup3.texi (dup3): Likewise.
9315         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
9316         * doc/glibc-functions/accept4.texi (accept4): Likewise.
9317         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
9318         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
9319         Mention nproc module.
9320         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
9321         bug in cygwin 1.7.5 addition.
9322         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
9323         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
9324         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
9325         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
9326         1.7.5.
9327         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
9328         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
9329         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
9330         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
9331         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
9332         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
9333         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
9334         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
9335         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
9336         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
9337         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
9338         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
9339         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
9340         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
9341         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
9342         Likewise.
9343         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
9344         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
9345         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
9346         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
9347         Likewise.
9348         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
9349         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
9350         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
9351         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
9352         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
9353         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
9354         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
9355         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
9356         Likewise.
9357         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
9358         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
9359         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
9360         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
9361         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
9362         Likewise.
9363         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
9364         Likewise.
9365         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
9366         Likewise.
9367         * doc/glibc-functions/xdrrec_endofrecord.texi
9368         (xdrrec_endofrecord): Likewise.
9369         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
9370         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
9371         Likewise.
9372         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
9373         Likewise.
9374
9375 2010-05-04  Jim Meyering  <meyering@redhat.com>
9376
9377         gendocs.sh: make its "-s FILE" option more useful
9378         * build-aux/gendocs.sh: When honoring the -s FILE option, update
9379         $PACKAGE to reflect the probably-different basename of "FILE".
9380
9381 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
9382
9383         bootstrap: don't ignore download_po_files failure
9384         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
9385         failure.
9386
9387 2010-05-03  Jim Meyering  <meyering@redhat.com>
9388
9389         maint.mk: allow to pass options to gendocs.sh
9390         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
9391         (gendocs_options_): New overridable variable.
9392
9393         gnu-web-doc-update: don't ignore configure or build failure
9394         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
9395
9396         announce-gen: backslash-escape '@'s in --help output
9397         * build-aux/announce-gen: Fix syntax errors.
9398
9399         maint.mk, announce-gen: allow project-specific announcement mail headers
9400         * top/maint.mk (translation_project_): Define default.
9401         (announcement_Cc_, announcement_mail_headers_): Likewise.
9402         (announcement): Invoke announce-gen with new --mail-headers option.
9403         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
9404
9405         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
9406         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
9407         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
9408         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
9409         line in the "err2" output file when running "make check" in verbose
9410         mode (i.e., with set -x enabled).
9411
9412 2010-05-03  Bruno Haible  <bruno@clisp.org>
9413
9414         wctob: Fix for weird platforms.
9415         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
9416         argument value.
9417
9418 2010-05-03  Jim Meyering  <meyering@redhat.com>
9419
9420         maint.mk: prohibit unwarranted use of <strings.h>
9421         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
9422         strings.h in a file that does not also use strcasecmp, strncasecmp,
9423         ffs or ffsll.
9424
9425         maint.mk: remove obsolete comments
9426         * top/maint.mk: Remove stale, commented-out rules.
9427
9428 2010-05-02  Bruno Haible  <bruno@clisp.org>
9429
9430         wcwidth: Declare also when it's aliased.
9431         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
9432         macro.
9433
9434 2010-05-02  Bruno Haible  <bruno@clisp.org>
9435
9436         Fix regression from 2010-04-25.
9437         * gnulib-tool (func_modules_transitive_closure): Check the status of
9438         all modules, not only of the tests that are of the form foo-tests where
9439         foo is a module.
9440
9441 2010-05-02  Bruno Haible  <bruno@clisp.org>
9442
9443         wctob: Work around nasty Cygwin 1.7.2 bug.
9444         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
9445         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
9446
9447 2010-05-01  Bruno Haible  <bruno@clisp.org>
9448
9449         fpurge: Sharper test.
9450         * tests/test-fpurge.c (main): Add one more ftell check.
9451         * modules/fpurge-tests (Depends-on): Add ftell.
9452         Suggested by Eric Blake.
9453
9454 2010-05-01  Bruno Haible  <bruno@clisp.org>
9455
9456         ftello: Another test.
9457         * tests/test-ftello3.c: New file.
9458         * modules/ftello-tests (Files): Add it.
9459         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
9460         MOSTLYCLEANFILES.
9461
9462         ftell: Another test.
9463         * tests/test-ftell3.c: New file.
9464         * modules/ftell-tests (Files): Add it.
9465         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
9466         MOSTLYCLEANFILES.
9467
9468 2010-05-01  Bruno Haible  <bruno@clisp.org>
9469
9470         ftell, ftello: Work around Solaris bug.
9471         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
9472         * lib/ftello.c: Include stdio-impl.h.
9473         (ftello): On Solaris, when _IOWRT is set, compute the result without
9474         looking at _IOREAD.
9475         * modules/ftello (Files): Add lib/stdio-impl.h.
9476         * doc/posix-functions/ftell.texi: Mention Solaris bug.
9477         * doc/posix-functions/ftello.texi: Likewise.
9478         Reported by Eric Blake.
9479
9480 2010-05-01  Bruno Haible  <bruno@clisp.org>
9481
9482         freading: Adapt to special meaning of _IOREAD flag on Solaris.
9483         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
9484         the _IOWRT flag is also set.
9485
9486 2010-05-01  Bruno Haible  <bruno@clisp.org>
9487
9488         Fix doc about a HP-UX stdio bug.
9489         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
9490         * doc/posix-functions/ftello.texi: Likewise.
9491
9492 2010-05-01  Bruno Haible  <bruno@clisp.org>
9493
9494         lseek test: Fix failure on Solaris.
9495         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
9496         output.
9497
9498 2010-04-30  Jim Meyering  <meyering@redhat.com>
9499
9500         bootstrap: don't ignore failure to generate po*/Makevars
9501         * build-aux/bootstrap (with_gettext): Don't ignore failure
9502         to create po/Makevars or runtime-po/Makevars.
9503
9504 2010-04-29  Eric Blake  <eblake@redhat.com>
9505
9506         headers: relax license to LGPLv2+
9507         * modules/fcntl-h (License): Relax license.
9508         * modules/getopt-posix (License): Likewise.
9509         * modules/locale (License): Likewise.
9510         * modules/math (License): Likewise.
9511         * modules/pty (License): Likewise.
9512         * modules/sched (License): Likewise.
9513         * modules/search (License): Likewise.
9514         * modules/spawn (License): Likewise.
9515         * modules/stdarg (License): Likewise.
9516         * modules/sysexits (License): Likewise.
9517
9518 2010-04-29  Jim Meyering  <meyering@redhat.com>
9519
9520         inttypes: relax license to LGPLv2+
9521         * modules/inttypes (License): Relax license.
9522
9523 2010-04-29  Simon Josefsson  <simon@josefsson.org>
9524
9525         * top/maint.mk (indent): Run twice to produce idempotent results.
9526
9527 2010-04-28  Bruno Haible  <bruno@clisp.org>
9528
9529         getdate: Generate getdate.c in the source directory.
9530         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
9531         MOSTLYCLEANFILES.
9532         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
9533
9534 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
9535
9536         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
9537         is not declared as a const *; avoid warnings in that case.
9538
9539 2010-04-28  Eric Blake  <eblake@redhat.com>
9540
9541         canonicalize-lgpl: avoid compiler warning
9542         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
9543         declaration' / 'extraneous semicolon' warning with some compilers.
9544         Reported by Andreas Gruenbacher.
9545
9546 2010-04-28  Jim Meyering  <meyering@redhat.com>
9547
9548         init.sh: ensure a more reliable exit status when exiting via trap
9549         * tests/init.sh (setup_): Don't rely on $? in signal handler.
9550         Inspired by patches from Dmitry V. Levin.
9551         Also trap on signal 3 (SIGQUIT).
9552
9553 2010-04-27  Bruno Haible  <bruno@clisp.org>
9554
9555         Update doc about utimes().
9556         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
9557         'utimens' module.
9558         Reported by Andreas Gruenbacher <agruen@suse.de>.
9559
9560 2010-04-27  Eric Blake  <eblake@redhat.com>
9561
9562         full-read, full-write: relax license
9563         * modules/full-read (License): Drop to LGPLv2+.
9564         * modules/full-write (License): Likewise.
9565         * modules/safe-read (License): Likewise.
9566         * modules/safe-write (License): Likewise.
9567
9568         pthread: mention library for linking
9569         * modules/pthread (Link): Mention $(LIB_PTHREAD).
9570
9571 2010-04-27  Jim Meyering  <meyering@redhat.com>
9572
9573         maint.mk: fix a bug introduced in last change
9574         * top/maint.mk (gl_assured_headers_): Now that all names are on
9575         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
9576         is not anchored to end of word, it should be adequate.
9577
9578         maint.mk: avoid side-effect in latest syntax-check
9579         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
9580         to run commands via $(shell...), and hence to incur cost only when
9581         the new rule is actually run.
9582
9583         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
9584         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
9585         and use that to create a regexp used to detect all #if HAVE_..._H uses.
9586         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
9587         (gl_assured_headers_, az_, AZ_): Define.
9588         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
9589
9590 2010-04-26  Jim Meyering  <jim@meyering.net>
9591             Bruno Haible  <bruno@clisp.org>
9592
9593         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
9594         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
9595         Prompted by an exchange with Gilles Espinasse.
9596
9597 2010-04-26  Jim Meyering  <meyering@redhat.com>
9598
9599         git-version-gen: aesthetic tweak
9600         * build-aux/git-version-gen: Use "$nl" rather than a literal,
9601         so that the command remains on a single line.
9602
9603 2010-04-26  Eric Blake  <eblake@redhat.com>
9604
9605         git-version-gen: allow use on EBCDIC hosts
9606         * build-aux/git-version-gen (dirty): Use literal rather than tying
9607         ourselves to ascii.
9608         Reported by Steve Goetze.
9609
9610 2010-04-25  Bruno Haible  <bruno@clisp.org>
9611
9612         netdb: Add support for GNULIB_POSIXCHECK.
9613         * lib/netdb.in.h: Include warn-on-use.h.
9614         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
9615         functions are used when GNULIB_POSIXCHECK is defined and the
9616         getaddrinfo module is not in use.
9617         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
9618         freeaddrinfo, gai_strerror, getnameinfo are declared.
9619         * modules/netdb (Depends-on): Add warn-on-use.
9620         (Makefile.am): Include warn-on-use.h in netdb.h.
9621
9622 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
9623
9624         build: avoid "make check" failure without .git/ directory
9625         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
9626         there is no .git/ directory.
9627
9628 2010-04-25  Bruno Haible  <bruno@clisp.org>
9629
9630         ptsname: Fix misuse of ttyname_r.
9631         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
9632         of errno.
9633
9634 2010-04-25  Bruno Haible  <bruno@clisp.org>
9635
9636         ttyname_r: Make it work on Solaris 10.
9637         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
9638         if the system function has the POSIX declaration. Test whether the
9639         function fails if the buffer is less than 128 bytes large.
9640         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
9641         system's ttyname_r function. Provide a reasonably large buffer.
9642         * modules/ttyname_r (Depends-on): Add extensions.
9643         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
9644
9645 2010-04-25  Bruno Haible  <bruno@clisp.org>
9646
9647         Use the 'extensions' module for some more functions on Solaris.
9648         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
9649         module.
9650         * doc/posix-functions/ctime_r.texi: Likewise.
9651         * doc/posix-functions/getgrgid_r.texi: Likewise.
9652         * doc/posix-functions/getgrnam_r.texi: Likewise.
9653         * doc/posix-functions/getpwnam_r.texi: Likewise.
9654         * doc/posix-functions/getpwuid_r.texi: Likewise.
9655         * doc/posix-functions/readdir_r.texi: Likewise.
9656         * doc/posix-functions/sigwait.texi: Likewise.
9657         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
9658         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
9659
9660 2010-04-25  Bruno Haible  <bruno@clisp.org>
9661
9662         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
9663         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
9664         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
9665         * lib/ttyname_r.c: Include <limits.h>.
9666         (ttyname_r): Define using the system's ttyname_r function, if it exists
9667         and not on Solaris.
9668         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
9669         set.
9670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
9671         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
9672         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
9673         Reported by Simon Josefsson.
9674
9675 2010-04-25  Bruno Haible  <bruno@clisp.org>
9676
9677         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
9678         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
9679         * doc/posix-functions/ctime_r.texi: Likewise.
9680         * doc/posix-functions/getgrgid_r.texi: Likewise.
9681         * doc/posix-functions/getgrnam_r.texi: Likewise.
9682         * doc/posix-functions/getlogin_r.texi: Likewise.
9683         * doc/posix-functions/getpwnam_r.texi: Likewise.
9684         * doc/posix-functions/getpwuid_r.texi: Likewise.
9685         * doc/posix-functions/readdir_r.texi: Likewise.
9686         * doc/posix-functions/sigwait.texi: Likewise.
9687         * doc/posix-functions/ttyname_r.texi: Likewise.
9688         Reported by Simon Josefsson.
9689
9690 2010-04-25  Bruno Haible  <bruno@clisp.org>
9691
9692         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
9693         * gnulib-tool (func_usage): Document that --with-*-tests options apply
9694         also to --create-testdir.
9695         (func_acceptable): Don't consider the status of *-tests modules here.
9696         (func_modules_transitive_closure): Consider it here, before including a
9697         test module.
9698         (func_import, func_create_testdir): Set inc_all_direct_tests,
9699         inc_all_indirect_tests.
9700         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
9701         --create-testdir and --create-megatestdir.
9702
9703 2010-04-25  Bruno Haible  <bruno@clisp.org>
9704
9705         gnulib-tool: Add --without-*-tests options.
9706         * gnulib-tool (func_usage): Document the --without-*-tests options.
9707         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
9708         excl_unportable_tests): New variables.
9709         Fail if they are specified with --import or --update.
9710         (func_acceptable): Respect the excl_*_tests variables.
9711         (func_import): Set the excl_*_tests variables to empty.
9712
9713 2010-04-25  Simon Josefsson  <simon@josefsson.org>
9714             Bruno Haible  <bruno@clisp.org>
9715
9716         Work around a MacOS X 10.4 bug with openpty.
9717         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
9718         * tests/test-openpty.c (main): Close the master side explicitly.
9719
9720 2010-04-25  Bruno Haible  <bruno@clisp.org>
9721
9722         strnlen: Fix a C++ test error on MacOS X and Solaris.
9723         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
9724         the function is not declared.
9725         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
9726         Simon Josefsson.
9727
9728 2010-04-24  Bruno Haible  <bruno@clisp.org>
9729
9730         Avoid a gcc warning.
9731         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
9732         of correct type for %08lx directive.
9733         Reported by Eric Blake.
9734
9735 2010-04-24  Bruno Haible  <bruno@clisp.org>
9736
9737         vasnprintf: Correct errno value in case of out-of-memory.
9738         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
9739         or sprintf. Use the errno value from SNPRINTF or sprintf.
9740         Reported by Ian Beckwith <ianb@erislabs.net>.
9741
9742 2010-04-24  Bruno Haible  <bruno@clisp.org>
9743
9744         ansi-c++-opt: Find correct compiler when cross-compiling.
9745         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
9746         AC_CHECK_PROGS.
9747         Reported by Simon Josefsson.
9748
9749 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
9750
9751         vc-list-files: Add support for subversion
9752         * build-aux/vc-list-files: Use "svn list" to generate the list of
9753         files controlled by subversion.
9754
9755 2010-04-23  Jim Meyering  <meyering@redhat.com>
9756
9757         vc-list-files tests: convert to use init.sh
9758         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
9759         path_prepend_.
9760         Use Exit, not exit.
9761         Use skip_ rather than open coding it.
9762         Remove trap set-up and compare definitions.
9763         * tests/test-vc-list-files-git.sh: Likewise.
9764         * modules/vc-list-files-tests (Files): Add tests/init.sh.
9765
9766 2010-04-22  Simon Josefsson  <simon@josefsson.org>
9767
9768         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
9769         backup files.
9770
9771 2010-04-21  Simon Josefsson  <simon@josefsson.org>
9772
9773         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
9774
9775 2010-04-20  Eric Blake  <eblake@redhat.com>
9776
9777         tests: be robust to ignored SIGPIPE
9778         * tests/test-select-in.sh: Consume all output.
9779         * tests/test-lseek.sh: Check correct exit status, while avoiding
9780         EPIPE.
9781
9782 2010-04-20  Simon Josefsson  <simon@josefsson.org>
9783             Bruno Haible  <bruno@clisp.org>
9784
9785         visibility: Don't use -fvisibility if it leads to a warning.
9786         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
9787         yes, don't pretend that visibility works if it leads to a warning.
9788         Reported by Mike Gran <spk121@yahoo.com>.
9789
9790 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
9791
9792         * build-aux/bootstrap: Use "git -h" for testing for supported options
9793         instead of "git --help".  The short-form option only shows a summary,
9794         and doesn't layout the full man page.  Grep for the full option name
9795         in the summary, too.
9796
9797 2010-04-19  Bruno Haible  <bruno@clisp.org>
9798
9799         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
9800         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
9801         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
9802         mention of RELOCATABLE_STRIP.
9803         Reported by Sylvain Beucler <beuc@beuc.net>.
9804
9805 2010-04-19  Bruno Haible  <bruno@clisp.org>
9806
9807         * lib/diffseq.h: Fix typo in comment.
9808         Reported by Eric Blake.
9809
9810 2010-04-19  Bruno Haible  <bruno@clisp.org>
9811
9812         ioctl: Move autoconf macro to a .m4 file.
9813         * m4/ioctl.m4: New file, extracted from modules/ioctl.
9814         * modules/ioctl (Files): Add it.
9815         (configure.ac): Simply invoke gl_FUNC_IOCTL.
9816         Reported by Ian Beckwith <ianb@erislabs.net>.
9817
9818 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
9819             Bruno Haible  <bruno@clisp.org>
9820
9821         diffseq: Accommodate use-case with abstract arrays.
9822         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
9823         is not defined.
9824         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
9825         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
9826
9827 2010-04-18  Bruno Haible  <bruno@clisp.org>
9828
9829         * doc/posix-headers/stdbool.texi: More precise wording.
9830
9831 2010-04-17  Jim Meyering  <meyering@redhat.com>
9832
9833         maint.mk: use gnu-style indentation in an embedded perl script
9834         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
9835         Rename variable: s/two/last_two_bytes/
9836
9837 2010-04-16  Eric Blake  <eblake@redhat.com>
9838
9839         test-stdbool: skip test that fails with Solaris CC
9840         * tests/test-stdbool.c (f): Skip test that causes compilation
9841         error under buggy C++ compiler.
9842         * lib/stdbool.in.h: Document the limitation.
9843         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
9844
9845         setenv: allow compilation with C++
9846         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
9847         register keyword.
9848
9849         stdint: allow test to pass with C++
9850         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
9851
9852         getopt: allow compilation with C++
9853         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
9854         struct.
9855         * lib/getopt.c (_getopt_internal_r): Use correct type.
9856         Reported by Dagobert Michelson, via Joel E. Denny.
9857
9858 2010-04-16  Bruno Haible  <bruno@clisp.org>
9859
9860         Override netdb.h always.
9861         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
9862         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
9863         Reported by Ludovic Courtès <ludo@gnu.org>.
9864
9865 2010-04-15  Bruno Haible  <bruno@clisp.org>
9866
9867         openpty: Fix mistake from 2010-03-21.
9868         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
9869         Reported by Simon Josefsson.
9870
9871 2010-04-15  Eric Blake  <eblake@redhat.com>
9872
9873         test-forkpty: fix expected signature
9874         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
9875         Reported by Simon Josefsson.
9876
9877 2010-04-15  Jim Meyering  <meyering@redhat.com>
9878
9879         maint.mk: texinfo_suffix_re_: correct the default regexp
9880         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
9881
9882         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
9883         make it configurable via texinfo_suffix_re_.
9884
9885 2010-04-14  Eric Blake  <eblake@redhat.com>
9886
9887         strtok_r: relax license to LGPLv2+
9888         * modules/strtok_r (License): Relax license.
9889         Reported by Matthias Bolte.
9890
9891 2010-04-14  Simon Josefsson  <simon@josefsson.org>
9892
9893         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
9894         version 1.4.4 by default instead of requiring the libgcrypt
9895         version used during build.  This makes it possible to use the
9896         application with older but still binary compatible libgcrypt
9897         versions.
9898
9899 2010-04-13  Eric Blake  <eblake@redhat.com>
9900
9901         getopt-gnu: match recent glibc fixes and posix ruling
9902         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
9903         '+' handling, when requesting extensions.
9904         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
9905         'W;' handling.
9906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
9907         * doc/posix-functions/getopt.texi (getopt): Document this.
9908         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
9909         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9910         Likewise.
9911
9912         getopt: merge bug fixes from glibc
9913         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
9914         diagnostics.  Honor '+:' correctly.  Reject ';'.
9915
9916         getopt-posix: detect MacOS bug
9917         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
9918         optind when missing a required argument.
9919         * doc/posix-functions/getopt.texi (getopt): Document the bug.
9920         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
9921         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
9922         Likewise.
9923
9924         getopt-posix: avoid spurious failure on Solaris
9925         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
9926         an indicator that setting optind=1 is sufficient for reset.
9927
9928         getopt-posix: avoid spurious failure on FreeBSD
9929         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
9930         in POSIX mode, since the m4 test uses it.
9931
9932         gnulib-tool: silence warning on BSD sh
9933         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
9934
9935 2010-04-13  Jim Meyering  <meyering@redhat.com>
9936
9937         doc: users.txt: GNU patch now uses gnulib
9938         * users.txt: Add patch.
9939
9940 2010-04-12  Jim Meyering  <meyering@redhat.com>
9941
9942         maint.mk: generate more concise timing data for syntax-check rules
9943         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
9944         " done" from each line that reports a syntax-check test duration.
9945
9946 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
9947
9948         git-version-gen: use "git update-index..." rather than "git status"
9949         * build-aux/git-version-gen: Use git update-index --refresh, not
9950         "git status".  With some versions of git, "git status" would fail
9951         to update the index and result in an unwarranted "-dirty" suffix.
9952
9953 2010-04-11  Jim Meyering  <meyering@redhat.com>
9954
9955         openat: correct formatting (no semantic change)
9956         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
9957         Suggested by Bruno Haible.
9958
9959 2010-04-11  Bruno Haible  <bruno@clisp.org>
9960
9961         Stricter declaration checking in testdirs.
9962         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9963         If for_tests is true, augment AM_CPPFLAGS to define
9964         GNULIB_STRICT_CHECKING.
9965         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
9966         GNULIB_STRICT_CHECKING is defined, verify that the function is
9967         declared.
9968
9969 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
9970             Bruno Haible  <bruno@clisp.org>
9971
9972         libunistring: Improve configure output.
9973         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
9974         Don't say "consider installing GNU libunistring" when checking again
9975         with libiconv.
9976
9977 2010-04-11  Bruno Haible  <bruno@clisp.org>
9978
9979         libunistring: Correct value of $LTLIBUNISTRING.
9980         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
9981         correct the value of $LTLIBUNISTRING.
9982
9983 2010-04-11  Bruno Haible  <bruno@clisp.org>
9984
9985         havelib: Add static libraries to LIBS in the right order.
9986         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
9987         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
9988
9989 2010-04-11  Bruno Haible  <bruno@clisp.org>
9990
9991         libunistring: Detect libunistring also when it depends on libiconv.
9992         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
9993         the second AC_LIB_HAVE_LINKFLAGS invocation.
9994
9995 2010-04-11  James Youngman  <jay@gnu.org>
9996
9997         close-stream: declare local scalars to be "const"
9998         * lib/close-stream.c (close_stream): Make boolean variables const
9999         to document the fact that we set but do not change them.
10000
10001 2010-04-11  Bruno Haible  <bruno@clisp.org>
10002
10003         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
10004
10005 2010-04-11  Jim Meyering  <meyering@redhat.com>
10006
10007         maint.mk: don't include dist-check.mk
10008         * top/maint.mk: Remove bogus include directive.
10009
10010         maint.mk: improve empty-line-at-EOF check
10011         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
10012         solution, rather than tail+Perl-based one.  The latter would read
10013         a few kilobytes from the end of each file, and did not handle empty
10014         files properly.
10015
10016         maint.mk: print the elapsed time for each syntax-check rule
10017         * top/maint.mk (sc_m_rules_): Save start time in a file.
10018         (sc_z_rules_): New rules: remove temp file and print elapsed time.
10019         (local-check): Interpose the .z rules
10020
10021 2010-04-11  Jim Meyering  <meyering@redhat.com>
10022
10023         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
10024         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
10025         empty file with one that ends in an empty line.
10026
10027 2010-04-10  Bruno Haible  <bruno@clisp.org>
10028
10029         mkdir: Make it work on mingw64.
10030         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
10031         * lib/mkdir.c: Update comment.
10032         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
10033
10034 2010-04-10  Bruno Haible  <bruno@clisp.org>
10035
10036         Don't override improved macro from newer autoconf.
10037         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
10038         autoconf >= 2.62.
10039         Reported by Joel E. Denny <jdenny@clemson.edu>.
10040
10041 2010-04-10  Jim Meyering  <meyering@redhat.com>
10042
10043         maint.mk: new syntax-check rule: prohibit empty lines at end of file
10044         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
10045
10046         maint.mk: correct a diagnostic
10047         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
10048         in diagnostic; now use $prohibit.
10049
10050 2010-04-10  Bruno Haible  <address@hidden>
10051
10052         fchownat: Fix a C++ test error on Solaris 8.
10053         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
10054         the function does not exist.
10055
10056 2010-04-10  Bruno Haible  <bruno@clisp.org>
10057
10058         vasnprintf: Add more tests.
10059         * tests/test-vasnprintf-posix.c: Include <errno.h>.
10060         (test_function): Test converting an invalid wide string.
10061
10062         vasnprintf: Correct handling of unconvertible wide string arguments.
10063         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
10064         VASNPRINTF.
10065         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
10066         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
10067         smaller than the expected maximum need for the directive. Set errno to
10068         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
10069         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
10070         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
10071         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
10072         * modules/vasnprintf (Files): Add m4/printf.m4.
10073         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10074
10075 2010-04-10  Bruno Haible  <bruno@clisp.org>
10076
10077         vasnprintf: Fix crash in %ls directive.
10078         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
10079         string is passed as argument to %ls, with no precision and no width.
10080         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10081
10082 2010-04-10  Bruno Haible  <bruno@clisp.org>
10083
10084         vasnprintf: Fix multiple test failures on mingw.
10085         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
10086         _snprintf, or snwprintf, not _snwprintf.
10087
10088 2010-04-10  Bruno Haible  <bruno@clisp.org>
10089
10090         write: Fix a C++ test error on mingw.
10091         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
10092
10093 2010-04-10  Bruno Haible  <bruno@clisp.org>
10094
10095         vasnprintf test: Reduce code duplication.
10096         * tests/test-vasnprintf.c (test_function): New function, extracted from
10097         test_vasnprintf.
10098         (test_vasnprintf, test_asnprintf): Invoke it.
10099
10100 2010-04-10  Bruno Haible  <bruno@clisp.org>
10101
10102         strnlen: Fix warning in C++ mode on MacOS X.
10103         * lib/string.in.h (strnlen): Use the modern idiom.
10104         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
10105         defining strnlen as a macro already in <config.h>.
10106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10107         REPLACE_STRNLEN.
10108         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
10109         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10110
10111 2010-04-08  James Youngman  <jay@gnu.org>
10112
10113         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
10114         the example.
10115
10116 2010-04-09  Jim Meyering  <meyering@redhat.com>
10117
10118         maint.mk: print better diagnostic when there is no $(_hv_file)
10119         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
10120         announce that when $(_hv_file) (aka help-version) does not exist.
10121
10122         init.sh: run tr in the "C" locale to avoid multibyte interpretation
10123         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
10124         not try to interpret its random input bytes.  Jarno Rajahalme reported
10125         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
10126         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
10127         (mktempd_): Likewise, just in case.
10128
10129         ftruncate: add two years to projected module removal date: 2012
10130         * m4/ftruncate.m4: Adjust comments.
10131
10132         ftruncate: mark module as obsolete; even MinGW provides it, now
10133         * modules/ftruncate (Status): Obsolete.
10134         (Notice): Say that.
10135         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
10136         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
10137
10138 2010-04-08  Bruno Haible  <bruno@clisp.org>
10139
10140         Fix side effects from tests-related modules.
10141         * modules/dprintf-posix (Comment): New section.
10142         * modules/fprintf-posix (Comment): Likewise.
10143         * modules/obstack-printf-posix (Comment): Likewise.
10144         * modules/printf-posix (Comment): Likewise.
10145         * modules/snprintf-posix (Comment): Likewise.
10146         * modules/sprintf-posix (Comment): Likewise.
10147         * modules/vasnprintf-posix (Comment): Likewise.
10148         * modules/vasprintf-posix (Comment): Likewise.
10149         * modules/vdprintf-posix (Comment): Likewise.
10150         * modules/vfprintf-posix (Comment): Likewise.
10151         * modules/vprintf-posix (Comment): Likewise.
10152         * modules/vsnprintf-posix (Comment): Likewise.
10153         * modules/vsprintf-posix (Comment): Likewise.
10154         * modules/xprintf-posix (Comment): Likewise.
10155         * modules/xvasprintf-posix (Comment): Likewise.
10156         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
10157         * modules/floorf-tests (Depends-on): Likewise.
10158         * modules/round-tests (Depends-on): Likewise.
10159         * modules/roundf-tests (Depends-on): Likewise.
10160         * modules/trunc-tests (Depends-on): Likewise.
10161         * modules/truncf-tests (Depends-on): Likewise.
10162         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
10163         'fprintf-posix' module is not present.
10164         * tests/test-floorf2.c (check): Likewise.
10165         * tests/test-trunc2.c (check): Likewise.
10166         * tests/test-truncf2.c (check): Likewise.
10167         * tests/test-round2.c (equal): Likewise.
10168         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10169
10170 2010-04-07  Karl Berry  <karl@gnu.org>
10171
10172         * config/srclist.txt,
10173         * config/srclistvars.sh,
10174         * config/srclist-update: doc fixes.
10175
10176 2010-04-07  Jim Meyering  <meyering@redhat.com>
10177
10178         maint.mk: add a PATH crosschecking syntax-check rule
10179         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
10180         Useful if you use a test like the one in help-version (coreutils,
10181         diffutils, grep, gzip) that ensures $(VERSION) matches what is
10182         printed by prog --version.
10183
10184 2010-04-06  Bruno Haible  <bruno@clisp.org>
10185
10186         Fix link error on mingw.
10187         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
10188         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
10189
10190 2010-04-06  Bruno Haible  <bruno@clisp.org>
10191
10192         Assume rmdir exists.
10193         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
10194
10195 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
10196
10197         doc: update users.txt
10198         * users.txt: Add gcal.
10199
10200 2010-04-06  Jim Meyering  <meyering@redhat.com>
10201
10202         init.sh: simply unset TMPDIR rather than risking env -i
10203         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
10204         although it probably works fine on all Unix-based systems, some
10205         systems (Cygwin?) cannot tolerate a totally cleared environment.
10206         Suggestion from Eric Blake.
10207
10208 2010-04-06  Jim Meyering  <meyering@redhat.com>
10209
10210         init.sh: portability fix: use env's POSIX-specified -i option not -u
10211         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
10212         than unportable env -u.  Solaris 5.11's env lacks support for -u.
10213
10214 2010-04-05  Bruno Haible  <bruno@clisp.org>
10215
10216         btowc: Work around Cygwin 1.7.2 bug.
10217         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
10218         does not map NUL to 0.
10219         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
10220
10221 2010-04-05  Bruno Haible  <bruno@clisp.org>
10222
10223         Make the multithread modules work on Cygwin 1.7.2.
10224         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
10225         imported symbols can be declared weak, so that it returns "no" on
10226         Cygwin 1.7.2.
10227
10228 2010-04-05  Bruno Haible  <bruno@clisp.org>
10229
10230         Use the module 'strncat'.
10231         * modules/unistr/u8-strncat (Depends-on): Add strncat.
10232
10233         Tests for module 'strncat'.
10234         * modules/strncat-tests: New file.
10235         * tests/test-strncat.c: New file.
10236
10237         New module 'strncat'.
10238         * lib/string.in.h (strncat): New declaration.
10239         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
10240         * m4/strncat.m4: New file, based on m4/memchr.m4.
10241         * modules/strncat: New file.
10242         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
10243         is declared.
10244         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
10245         REPLACE_STRNCAT.
10246         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
10247         REPLACE_STRNCAT.
10248         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
10249         module.
10250         * tests/test-string-c++.cc: Check signature of strncat.
10251
10252 2010-04-05  Jim Meyering  <meyering@redhat.com>
10253
10254         xstrtoumax-tests: convert to use init.sh
10255         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
10256         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10257         Use Exit, not exit.
10258         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10259
10260         xstrtoimax-tests: convert to use init.sh
10261         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
10262         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10263         Use Exit, not exit.
10264         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10265
10266 2010-04-05  Bruno Haible  <bruno@clisp.org>
10267
10268         sys_socket: Avoid #define replacements in C++ mode.
10269         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
10270         warning to the function if possible, rather than #defining the symbol
10271         to a dysfunctional alias.
10272
10273 2010-04-05  Bruno Haible  <bruno@clisp.org>
10274
10275         fseeko: Fix C++ test error on mingw.
10276         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
10277         gl_FUNC_FSEEKO.
10278         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
10279         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
10280         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
10281         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
10282
10283 2010-04-05  Bruno Haible  <bruno@clisp.org>
10284
10285         duplocale: Improve test output.
10286         * tests/test-duplocale.c (main): Print reason for skipped test.
10287
10288 2010-04-05  Bruno Haible  <bruno@clisp.org>
10289
10290         Assume rmdir exists.
10291         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
10292         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
10293
10294 2010-04-05  Bruno Haible  <bruno@clisp.org>
10295
10296         Fix link error on Solaris 8 with cc.
10297         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
10298
10299 2010-04-05  Bruno Haible  <bruno@clisp.org>
10300
10301         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
10302         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
10303
10304 2010-04-05  Bruno Haible  <bruno@clisp.org>
10305
10306         vasprintf: Update documentation.
10307         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
10308
10309 2010-04-05  Bruno Haible  <bruno@clisp.org>
10310
10311         ptsname: Improve test.
10312         * tests/test-ptsname.c (main): Also try the various master names of BSD
10313         systems.
10314
10315 2010-04-05  Bruno Haible  <bruno@clisp.org>
10316
10317         memchr: Avoid a possible C++ test error.
10318         * lib/string.in.h (memchr): Provide declaration if function is missing.
10319         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
10320         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
10321         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
10322         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
10323
10324 2010-04-05  Bruno Haible  <bruno@clisp.org>
10325
10326         strtok_r: Improve idiom.
10327         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
10328         AC_LIBOBJ is used.
10329
10330 2010-04-05  Bruno Haible  <bruno@clisp.org>
10331
10332         strdup: Improve idiom.
10333         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
10334         AC_LIBOBJ is used.
10335         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
10336         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
10337         when AC_LIBOBJ is used.
10338
10339 2010-04-05  Bruno Haible  <bruno@clisp.org>
10340
10341         mbsinit, mbrtowc, wcrtomb: Improve idioms.
10342         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
10343         don't set REPLACE_MBSINIT to 1.
10344         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
10345         don't set REPLACE_MBRTOWC to 1.
10346         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
10347         exist, don't set REPLACE_MBSRTOWCS to 1.
10348         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
10349         exist, don't set REPLACE_MBSNRTOWCS to 1.
10350         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
10351         don't set REPLACE_WCRTOMB to 1.
10352         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
10353         exist, don't set REPLACE_WCSRTOMBS to 1.
10354         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
10355         exist, don't set REPLACE_WCSNRTOMBS to 1.
10356
10357 2010-04-05  Bruno Haible  <bruno@clisp.org>
10358
10359         ldexpl: Improve idiom.
10360         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
10361         make sure to set HAVE_DECL_LDEXPL to 0.
10362
10363 2010-04-05  Jim Meyering  <meyering@redhat.com>
10364
10365         xstrtol-tests: convert to use init.sh
10366         * modules/xstrtol-tests (Files): Add tests/init.sh.
10367         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10368         Use Exit, not exit.
10369         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10370
10371         atexit-tests: convert to use init.sh
10372         * modules/atexit-tests (Files): Add tests/init.sh.
10373         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
10374         Use Exit, not exit.
10375         Remove uses of $EXEEXT and "./" to run a program in the current dir.
10376
10377         init.sh: fix typo
10378         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
10379
10380         init.sh: make it easier for a test script to write to the tty, ...
10381         when using automake's parallel-tests mode.
10382         * tests/init.sh (stderr_fileno_): Define overridable variable.
10383         (warn_): New function, to use it.
10384         (fail_, skip_, framework_failure_): Use warn_.
10385
10386 2010-04-04  Bruno Haible  <bruno@clisp.org>
10387
10388         btowc: Avoid warning.
10389         * lib/btowc.c: Include <stdlib.h>.
10390         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
10391
10392 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
10393             Bruno Haible  <bruno@clisp.org>
10394
10395         wchar: Port to NetBSD 1.5.
10396         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
10397         * lib/wctype.in.h (WEOF): Likewise.
10398
10399 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
10400             Bruno Haible  <bruno@clisp.org>
10401
10402         Port extended stdio to NetBSD 1.5.
10403         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
10404         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
10405         older.
10406
10407 2010-04-04  Bruno Haible  <bruno@clisp.org>
10408
10409         string: Remove unused substitution.
10410         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
10411         HAVE_DECL_STRERROR.
10412         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
10413
10414 2010-04-04  Bruno Haible  <bruno@clisp.org>
10415
10416         strtod: Avoid a possible C++ test error.
10417         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
10418         set REPLACE_STRTOD.
10419
10420 2010-04-04  Bruno Haible  <bruno@clisp.org>
10421
10422         strerror: Update documentation.
10423         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
10424
10425 2010-04-04  Bruno Haible  <bruno@clisp.org>
10426
10427         stdio: Fix some C++ test errors on Solaris 8 with GCC.
10428         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
10429         _GL_CXXALIAS_SYS_CAST.
10430
10431 2010-04-04  Bruno Haible  <bruno@clisp.org>
10432
10433         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
10434         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
10435         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
10436         REPLACE_FREXPL to 1.
10437         * doc/posix-functions/frexpl.texi: Update documentation.
10438
10439 2010-04-04  Bruno Haible  <bruno@clisp.org>
10440
10441         math: Fix some C++ test errors on Solaris 8 and Cygwin.
10442         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
10443
10444 2010-04-04  Bruno Haible  <bruno@clisp.org>
10445
10446         Implement nanosleep for native Windows.
10447         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
10448
10449 2010-04-04  Bruno Haible  <bruno@clisp.org>
10450
10451         math: Fix some C++ test errors on Solaris 8.
10452         * lib/math.in.h (truncf, trunc): Use simpler idiom.
10453
10454 2010-04-04  Bruno Haible  <bruno@clisp.org>
10455
10456         math: Fix some C++ test errors on Cygwin.
10457         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
10458         truncl): Provide declaration if the system does not have it.
10459         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
10460         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
10461         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
10462         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
10463         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
10464         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
10465         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
10466         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
10467         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
10468         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
10469         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
10470         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
10471         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
10472         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
10473         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
10474         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
10475         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
10476         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
10477         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
10478         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
10479         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
10480         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
10481
10482 2010-04-04  Bruno Haible  <bruno@clisp.org>
10483
10484         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
10485         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10486         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10487         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10488         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10489         * m4/isinf.m4 (gl_ISINF): Likewise.
10490         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10491
10492 2010-04-04  Bruno Haible  <bruno@clisp.org>
10493
10494         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
10495         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10496
10497 2010-04-04  Bruno Haible  <bruno@clisp.org>
10498
10499         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
10500         * modules/tmpfile (configure.ac): Update.
10501
10502         tmpfile: Fix C++ test error on mingw.
10503         * lib/stdio.in.h (tmpfile): New declaration.
10504         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
10505         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
10506         * modules/tmpfile (Depends-on): Add stdio.
10507         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
10508         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
10509         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
10510         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
10511         REPLACE_TMPFILE.
10512         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
10513
10514 2010-04-04  Bruno Haible  <bruno@clisp.org>
10515
10516         ioctl: Fix C++ test error on mingw.
10517         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
10518         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
10519         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
10520
10521 2010-04-03  Bruno Haible  <bruno@clisp.org>
10522
10523         wcwidth: Fix C++ test error on mingw.
10524         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
10525         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
10526         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
10527
10528 2010-04-03  Bruno Haible  <bruno@clisp.org>
10529
10530         nanosleep: Fix C++ test error on mingw.
10531         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
10532         * lib/time.in.h (nanosleep): Use modern idiom.
10533         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
10534         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
10535         REPLACE_NANOSLEEP to 1.
10536         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
10537         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
10538
10539 2010-04-03  Bruno Haible  <bruno@clisp.org>
10540
10541         strptime: Fix C++ test error on mingw.
10542         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
10543         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
10544         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
10545         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
10546         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
10547         not REPLACE_STRPTIME.
10548         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
10549         REPLACE_STRPTIME.
10550
10551 2010-04-03  Bruno Haible  <bruno@clisp.org>
10552
10553         timegm: Fix C++ test error on mingw.
10554         * lib/time.in.h (timegm): Use modern idiom.
10555         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
10556         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
10557         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
10558         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
10559
10560 2010-04-03  Bruno Haible  <bruno@clisp.org>
10561
10562         timegm: Assume declaration if function exists.
10563         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
10564         if it exists. Don't clobber ac_cv_func_timegm.
10565
10566 2010-04-03  Bruno Haible  <bruno@clisp.org>
10567
10568         time_r: Fix C++ test error on mingw.
10569         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
10570         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
10571         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
10572         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
10573         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
10574
10575 2010-04-03  Bruno Haible  <bruno@clisp.org>
10576
10577         time_r: Minor updates.
10578         * modules/time_r (Description): Mention the provided functions.
10579         * lib/time_r.c: Don't include <string.h>.
10580         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
10581         * doc/posix-functions/localtime_r.texi: Likewise.
10582
10583 2010-04-03  Bruno Haible  <bruno@clisp.org>
10584
10585         time: Fix regression introduced on 2010-03-08.
10586         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
10587         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
10588
10589 2010-04-03  Jim Meyering  <meyering@redhat.com>
10590
10591         maint.mk: don't silently disable project-specific syntax-check rules
10592         * top/maint.mk (_prohibit_regexp): Define, to help people realize
10593         that they need to convert their project-specific syntax-check rules
10594         to use the new _sc_search_regexp.
10595
10596 2010-04-03  Bruno Haible  <bruno@clisp.org>
10597
10598         fchdir: Fix regression introduced on 2010-03-08.
10599         * lib/unistd.in.h (fchdir): Fix declaration.
10600         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
10601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
10602         REPLACE_FCHDIR.
10603         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
10604         REPLACE_FCHDIR.
10605
10606 2010-04-03  Bruno Haible  <bruno@clisp.org>
10607
10608         getpagesize: Fix C++ test error on mingw.
10609         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
10610         system does not declare the function.
10611         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
10612         declared.
10613         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
10614         HAVE_DECL_GETPAGESIZE.
10615         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
10616
10617 2010-04-03  Bruno Haible  <bruno@clisp.org>
10618
10619         stdio: Make C++ tests work on mingw.
10620         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
10621         does not declare the function.
10622
10623 2010-04-03  Bruno Haible  <bruno@clisp.org>
10624
10625         ftello: Fix C++ test error on mingw.
10626         * lib/stdio.in.h (ftello): Use modern idiom.
10627         * lib/ftello.c (ftello): Renamed from rpl_ftello.
10628         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
10629         is missing and that it needs to be replaced.
10630         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
10631         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
10632         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
10633
10634 2010-04-03  Bruno Haible  <bruno@clisp.org>
10635
10636         fseeko: Fix C++ test error on mingw.
10637         * lib/stdio.in.h (fseeko): Use modern idiom.
10638         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
10639         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
10640         is missing and that it needs to be replaced.
10641         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
10642         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
10643         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
10644
10645 2010-04-03  Bruno Haible  <bruno@clisp.org>
10646
10647         mkstemp: Fix C++ test error on mingw.
10648         * lib/stdlib.in.h (mkstemp): Use modern idiom.
10649         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
10650         function is missing and that it needs to be replaced.
10651         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
10652         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
10653
10654 2010-04-03  Bruno Haible  <bruno@clisp.org>
10655
10656         stpncpy: Fix C++ test error on mingw.
10657         * lib/string.in.h (stpncpy): Use modern idiom.
10658         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
10659         function is missing and that it needs to be replaced.
10660         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
10661         REPLACE_STPNCPY.
10662         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
10663
10664 2010-04-03  Bruno Haible  <bruno@clisp.org>
10665
10666         sys_stat: Fix C++ test error on mingw.
10667         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
10668         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
10669
10670 2010-04-03  Bruno Haible  <bruno@clisp.org>
10671
10672         pty: Update doc.
10673         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
10674
10675 2010-04-03  Bruno Haible  <bruno@clisp.org>
10676
10677         unistd: Fix C++ test error on mingw.
10678         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
10679
10680 2010-04-03  Bruno Haible  <bruno@clisp.org>
10681
10682         Update doc regarding mingw.
10683         * doc/glibc-functions/openpty.texi: Update regarding mingw.
10684         * doc/glibc-functions/login_tty.texi: Likewise.
10685         * doc/glibc-functions/forkpty.texi: Likewise.
10686
10687 2010-04-03  Bruno Haible  <bruno@clisp.org>
10688
10689         stdlib: Avoid compilation failure of c-strtold on mingw.
10690         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
10691
10692 2010-04-03  Bruno Haible  <bruno@clisp.org>
10693
10694         locale: Make C++ tests work on Cygwin and mingw.
10695         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
10696         cannot provide the function.
10697         Reported by Simon Josefsson.
10698
10699 2010-04-03  Bruno Haible  <bruno@clisp.org>
10700
10701         localename: Port to MacOS X 10.6.
10702         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
10703         memory layout of the locales in MacOS X 10.6 as well.
10704         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
10705
10706 2010-04-02  Bruno Haible  <bruno@clisp.org>
10707
10708         gnulib-tool: Ensure that long-running tests are executed last.
10709         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
10710         running tests after the one for the other tests.
10711
10712 2010-04-02  Bruno Haible  <bruno@clisp.org>
10713
10714         gnulib-tool: Ensure the tests in the main directory are executed first.
10715         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
10716         start with the current directory.
10717
10718 2010-04-02  Bruno Haible  <bruno@clisp.org>
10719
10720         Tests for module 'havelib', moved here from GNU gettext.
10721         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
10722         modifications.
10723         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
10724         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
10725         with modifications.
10726         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
10727         modifications.
10728         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
10729         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
10730         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
10731         with modifications.
10732         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
10733         with modifications.
10734         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
10735         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
10736         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
10737         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
10738         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
10739         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
10740         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
10741         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
10742         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
10743         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
10744         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
10745         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
10746         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
10747         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
10748         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
10749         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
10750         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
10751         with modifications.
10752         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
10753         with modifications.
10754         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
10755         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
10756         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
10757         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
10758         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
10759         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
10760         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
10761         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
10762         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
10763         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
10764         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
10765         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
10766         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
10767         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
10768         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
10769         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
10770         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
10771         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
10772         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
10773         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
10774         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
10775         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
10776         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
10777         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
10778         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
10779         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
10780         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
10781         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
10782         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
10783         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
10784         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
10785         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
10786         * tests/havelib/rpathx/rpathx.c: New file, from
10787         gettext/autoconf-lib-link.
10788         * tests/havelib/rpathx/Makefile.am: New file, from
10789         gettext/autoconf-lib-link.
10790         * tests/havelib/rpathx/configure.ac: New file, from
10791         gettext/autoconf-lib-link with modifications.
10792         * tests/havelib/rpathy/rpathy.c: New file, from
10793         gettext/autoconf-lib-link.
10794         * tests/havelib/rpathy/Makefile.am: New file, from
10795         gettext/autoconf-lib-link.
10796         * tests/havelib/rpathy/configure.ac: New file, from
10797         gettext/autoconf-lib-link with modifications.
10798         * tests/havelib/rpathz/rpathz.c: New file, from
10799         gettext/autoconf-lib-link.
10800         * tests/havelib/rpathz/Makefile.am: New file, from
10801         gettext/autoconf-lib-link.
10802         * tests/havelib/rpathz/configure.ac: New file, from
10803         gettext/autoconf-lib-link with modifications.
10804         * tests/havelib/rpathlx/usex.c: New file, from
10805         gettext/autoconf-lib-link.
10806         * tests/havelib/rpathlx/Makefile.am: New file, from
10807         gettext/autoconf-lib-link.
10808         * tests/havelib/rpathlx/configure.ac: New file, from
10809         gettext/autoconf-lib-link with modifications.
10810         * tests/havelib/rpathly/usey.c: New file, from
10811         gettext/autoconf-lib-link.
10812         * tests/havelib/rpathly/Makefile.am: New file, from
10813         gettext/autoconf-lib-link.
10814         * tests/havelib/rpathly/configure.ac: New file, from
10815         gettext/autoconf-lib-link with modifications.
10816         * tests/havelib/rpathlz/usez.c: New file, from
10817         gettext/autoconf-lib-link.
10818         * tests/havelib/rpathlz/Makefile.am: New file, from
10819         gettext/autoconf-lib-link.
10820         * tests/havelib/rpathlz/configure.ac: New file, from
10821         gettext/autoconf-lib-link with modifications.
10822         * tests/havelib/rpathlyx/usey.c: New file, from
10823         gettext/autoconf-lib-link.
10824         * tests/havelib/rpathlyx/Makefile.am: New file, from
10825         gettext/autoconf-lib-link.
10826         * tests/havelib/rpathlyx/configure.ac: New file, from
10827         gettext/autoconf-lib-link with modifications.
10828         * tests/havelib/rpathlzyx/usez.c: New file, from
10829         gettext/autoconf-lib-link.
10830         * tests/havelib/rpathlzyx/Makefile.am: New file, from
10831         gettext/autoconf-lib-link.
10832         * tests/havelib/rpathlzyx/configure.ac: New file, from
10833         gettext/autoconf-lib-link with modifications.
10834         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
10835         with modifications.
10836
10837 2010-04-02  Bruno Haible  <bruno@clisp.org>
10838
10839         gnulib-tool: Create distributed built sources also for the tests.
10840         * gnulib-tool (func_create_testdir): Also generate distributed built
10841         sources in the tests directory.
10842
10843 2010-04-02  Bruno Haible  <bruno@clisp.org>
10844
10845         gnulib-tool: Obey user's environment variables.
10846         * gnulib-tool (func_create_testdir): When creating built sources,
10847         respect the environment variables for autoconf, automake, etc. given by
10848         the user.
10849
10850 2010-04-02  Bruno Haible  <bruno@clisp.org>
10851
10852         gnulib-tool: Provide the value of --m4-base to modules.
10853         * gnulib-tool (func_import, func_create_testdir): Emit a definition
10854         of gl_m4_base.
10855
10856 2010-04-02  Eric Blake  <eblake@redhat.com>
10857
10858         maint.mk: fix some fallout
10859         * NEWS: Document the incompatible change, and its effect on cfg.mk.
10860         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
10861
10862 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
10863
10864         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
10865         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
10866         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
10867         (sc_cast_of_x_alloc_return_value): Likewise.
10868         (sc_cast_of_alloca_return_value): Likewise.
10869         (sc_space_tab): Likewise.
10870         (sc_prohibit_atoi_atof): Likewise.
10871         (sc_prohibit_magic_number_exit): Likewise.
10872         (sc_error_exit_success): Likewise.
10873         (sc_file_system): Likewise.
10874         (sc_prohibit_have_config_h): Likewise.
10875         (sc_require_config_h): Likewise.
10876         (sc_prohibit_HAVE_MBRTOWC): Likewise.
10877         (sc_obsolete_symbols): Likewise.
10878         (sc_changelog): Likewise.
10879         (sc_program_name): Likewise.
10880         (sc_the_the): Likewise.
10881         (sc_trailing_blank): Likewise.
10882         (sc_two_space_separator_in_usage): Likewise.
10883         (sc_useless_cpp_parens): Likewise.
10884         (sc_GPL_version): Likewise.
10885         (sc_GFDL_version): Likewise.
10886         (sc_texinfo_acronym): Likewise.
10887         (sc_prohibit_cvs_keyword): Likewise.
10888         (sc_prohibit_stat_st_blocks): Likewise.
10889         (sc_prohibit_S_IS_definition): Likewise.
10890         (sc_redundant_const): Likewise.
10891         (sc_makefile_TAB_only_indentation): Likewise.
10892         (sc_m4_quote_check): Likewise.
10893         (sc_makefile_path_separator_check): Likewise.
10894         (sc_copyright_check): Likewise.
10895         (sc_Wundef_boolean): Likewise.
10896         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
10897
10898         maint.mk: match 0 or more whitespace-before-function-call '('
10899         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
10900         that have zero or two-and-more spaces between the function name
10901         and the open parenthesis.
10902         (sc_error_message_warn_fatal): Likewise.
10903         (sc_error_message_uppercase): Likewise.
10904         (sc_error_message_period): Likewise.
10905
10906 2010-03-31  Eric Blake  <eblake@redhat.com>
10907
10908         maint.mk: check for [ as well as test
10909         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
10910         Based on a libvirt report by Matthias Bolte.
10911
10912         gnumakefile: don't squelch _version output
10913         * top/GNUmakefile (_version): Create one-shot dependency rather
10914         than using $(shell) when version must be regenerated.
10915         (_autoreconf): Run verbosely, by default.
10916
10917         sys_time: avoid compiler warnings
10918         * lib/sys_time.in.h (includes): Ensure gcc pragma is
10919         unconditional, fixing regression from 2010-03-29.
10920         Reported by Simon Josefsson.
10921
10922 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
10923
10924         maint.mk: s/_header_without_use/_sc_header_without_use/
10925         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
10926         (sc_prohibit_assert_without_use): Use the new name.
10927         (sc_prohibit_close_stream_without_use): Likewise.
10928         (sc_prohibit_getopt_without_use): Likewise.
10929         (sc_prohibit_quotearg_without_use): Likewise.
10930         (sc_prohibit_quote_without_use): Likewise.
10931         (sc_prohibit_long_options_without_use): Likewise.
10932         (sc_prohibit_inttostr_without_use): Likewise.
10933         (sc_prohibit_ignore_value_without_use): Likewise.
10934         (sc_prohibit_error_without_use): Likewise.
10935         (sc_prohibit_xalloc_without_use): Likewise.
10936         (sc_prohibit_hash_without_use): Likewise.
10937         (sc_prohibit_hash_pjw_without_use): Likewise.
10938         (sc_prohibit_safe_read_without_use): Likewise.
10939         (sc_prohibit_argmatch_without_use): Likewise.
10940         (sc_prohibit_canonicalize_without_use): Likewise.
10941         (sc_prohibit_root_dev_ino_without_use): Likewise.
10942         (sc_prohibit_openat_without_use): Likewise.
10943         (sc_prohibit_c_ctype_without_use): Likewise.
10944         (sc_prohibit_signal_without_use): Likewise.
10945         (sc_prohibit_intprops_without_use): Likewise.
10946
10947 2010-03-30  Eric Blake  <eblake@redhat.com>
10948
10949         maint: improve module indicators
10950         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
10951         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
10952         columns, and avoid extra macro expansion.
10953
10954         fdopendir: work around FreeBSD bug
10955         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
10956         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
10957         * modules/dirent (Makefile.am): Substitute it.
10958         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
10959         declaration.
10960         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
10961         fix.
10962         Reported by Christian Weisgerber <naddy@mips.inka.de>.
10963
10964 2010-03-29  Bruno Haible  <bruno@clisp.org>
10965
10966         Emit #pragma system_header after the inclusion guard, not before.
10967         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
10968         guard that spans the entire file, not before. This enables an
10969         optimization in GCC's preprocessor.
10970         * lib/ctype.in.h: Likewise.
10971         * lib/dirent.in.h: Likewise.
10972         * lib/errno.in.h: Likewise.
10973         * lib/float.in.h: Likewise.
10974         * lib/getopt.in.h: Likewise.
10975         * lib/iconv.in.h: Likewise.
10976         * lib/langinfo.in.h: Likewise.
10977         * lib/locale.in.h: Likewise.
10978         * lib/math.in.h: Likewise.
10979         * lib/netdb.in.h: Likewise.
10980         * lib/netinet_in.in.h: Likewise.
10981         * lib/pty.in.h: Likewise.
10982         * lib/sched.in.h: Likewise.
10983         * lib/se-selinux.in.h: Likewise.
10984         * lib/search.in.h: Likewise.
10985         * lib/spawn.in.h: Likewise.
10986         * lib/stdarg.in.h: Likewise.
10987         * lib/stdint.in.h: Likewise.
10988         * lib/string.in.h: Likewise.
10989         * lib/strings.in.h: Likewise.
10990         * lib/sys_file.in.h: Likewise.
10991         * lib/sys_ioctl.in.h: Likewise.
10992         * lib/sys_time.in.h: Likewise.
10993         * lib/sys_times.in.h: Likewise.
10994         * lib/sys_utsname.in.h: Likewise.
10995         * lib/sys_wait.in.h: Likewise.
10996         * lib/sysexits.in.h: Likewise.
10997         * lib/wctype.in.h: Likewise.
10998
10999 2010-03-28  James Youngman  <jay@gnu.org>
11000
11001         save-cwd: don't leak a file descriptor when the caller execs.
11002         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
11003         saved file descriptor.
11004         * modules/save-cwd (Depends-on): Depend on cloexec.
11005
11006 2010-03-29  Bruno Haible  <bruno@clisp.org>
11007
11008         Remove vestiges of fts-lgpl module.
11009         * lib/fts_.h: Assume GNULIB_FTS is 1.
11010         * lib/fts.c: Likewise.
11011         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
11012
11013 2010-03-28  Bruno Haible  <bruno@clisp.org>
11014
11015         Fix definition of tests witness macro.
11016         * gnulib-tool (func_import): Fix definition of witness macro.
11017
11018 2010-03-28  Bruno Haible  <bruno@clisp.org>
11019
11020         Fix ioctl's protoype on glibc systems.
11021         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
11022         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
11023         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
11024         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
11025         signature. If not, arrange to replace the ioctl function.
11026         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
11027         REPLACE_IOCTL.
11028         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
11029         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
11030         Reported by Ludovic Courtès <ludo@gnu.org>.
11031
11032 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
11033
11034         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
11035         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
11036         made it so grep -r --include=GLOB* ... did not work.
11037
11038 2010-03-26  Jim Meyering  <meyering@redhat.com>
11039             Eric Blake  <eblake@redhat.com>
11040
11041         maint.mk: prohibit use of test's -o and -a operators
11042         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
11043
11044 2010-03-28  Bruno Haible  <bruno@clisp.org>
11045
11046         Remove unused GNULIB_XYZ macro definitions.
11047         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
11048         invocation.
11049
11050 2010-03-28  Bruno Haible  <bruno@clisp.org>
11051
11052         Mark privileged tests modules.
11053         * modules/idpriv-drop-tests (Status): New section.
11054         * modules/idpriv-droptemp-tests (Status): New section.
11055
11056 2010-03-28  Bruno Haible  <bruno@clisp.org>
11057
11058         Split C++ tests into separate tests modules.
11059         * modules/dirent-c++-tests: New file, extracted from
11060         modules/dirent-tests.
11061         * modules/dirent-tests: Depend on it.
11062         * modules/fcntl-h-c++-tests: New file, extracted from
11063         modules/fcntl-h-tests.
11064         * modules/fcntl-h-tests: Depend on it.
11065         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
11066         * modules/glob-tests: Depend on it.
11067         * modules/iconv-h-c++-tests: New file, extracted from
11068         modules/iconv-h-tests.
11069         * modules/iconv-h-tests: Depend on it.
11070         * modules/langinfo-c++-tests: New file, extracted from
11071         modules/langinfo-tests.
11072         * modules/langinfo-tests: Depend on it.
11073         * modules/locale-c++-tests: New file, extracted from
11074         modules/locale-tests.
11075         * modules/locale-tests: Depend on it.
11076         * modules/math-c++-tests: New file, extracted from modules/math-tests.
11077         * modules/math-tests: Depend on it.
11078         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
11079         * modules/pty-tests: Depend on it.
11080         * modules/search-c++-tests: New file, extracted from
11081         modules/search-tests.
11082         * modules/search-tests: Depend on it.
11083         * modules/signal-c++-tests: New file, extracted from
11084         modules/signal-tests.
11085         * modules/signal-tests: Depend on it.
11086         * modules/spawn-c++-tests: New file, extracted from
11087         modules/spawn-tests.
11088         * modules/spawn-tests: Depend on it.
11089         * modules/stdio-c++-tests: New file, extracted from
11090         modules/stdio-tests.
11091         * modules/stdio-tests: Depend on it.
11092         * modules/stdlib-c++-tests: New file, extracted from
11093         modules/stdlib-tests.
11094         * modules/stdlib-tests: Depend on it.
11095         * modules/string-c++-tests: New file, extracted from
11096         modules/string-tests.
11097         * modules/string-tests: Depend on it.
11098         * modules/sys_ioctl-c++-tests: New file, extracted from
11099         modules/sys_ioctl-tests.
11100         * modules/sys_ioctl-tests: Depend on it.
11101         * modules/sys_select-c++-tests: New file, extracted from
11102         modules/sys_select-tests.
11103         * modules/sys_select-tests: Depend on it.
11104         * modules/sys_socket-c++-tests: New file, extracted from
11105         modules/sys_socket-tests.
11106         * modules/sys_socket-tests: Depend on it.
11107         * modules/sys_stat-c++-tests: New file, extracted from
11108         modules/sys_stat-tests.
11109         * modules/sys_stat-tests: Depend on it.
11110         * modules/sys_time-c++-tests: New file, extracted from
11111         modules/sys_time-tests.
11112         * modules/sys_time-tests: Depend on it.
11113         * modules/time-c++-tests: New file, extracted from modules/time-tests.
11114         * modules/time-tests: Depend on it.
11115         * modules/unistd-c++-tests: New file, extracted from
11116         modules/unistd-tests.
11117         * modules/unistd-tests: Depend on it.
11118         * modules/wchar-c++-tests: New file, extracted from
11119         modules/wchar-tests.
11120         * modules/wchar-tests: Depend on it.
11121         * modules/wctype-c++-tests: New file, extracted from
11122         modules/wctype-tests.
11123         * modules/wctype-tests: Depend on it.
11124         Reported by Simon Josefsson.
11125
11126 2010-03-28  Bruno Haible  <bruno@clisp.org>
11127
11128         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
11129         * gnulib-tool (func_exists_module): New function, extracted from
11130         func_verify_module.
11131         (func_verify_module): Use it.
11132         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
11133         'foo' only if 'foo' exists.
11134         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
11135         module.
11136
11137 2010-03-28  Bruno Haible  <bruno@clisp.org>
11138
11139         gnulib-tool: Add support for special categories of tests.
11140         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
11141         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
11142         (func_usage): Document them.
11143         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
11144         inc_unportable_tests, inc_all_tests): New variables.
11145         (func_acceptable): Consider these variables.
11146         (func_modules_transitive_closure): Make it work when the 'Status' field
11147         consists of multiple words.
11148         (func_import): Store and restore the values of inc_cxx_tests,
11149         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
11150         inc_all_tests in gnulib-comp.m4.
11151         (func_create_testdir): Set inc_all_tests to true.
11152         * doc/gnulib.texi (Extra tests modules): New section.
11153         Suggested by Jim Meyering.
11154
11155 2010-03-28  Bruno Haible  <bruno@clisp.org>
11156
11157         ansi-c++-opt: Allow turning off the C++ build by default.
11158         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
11159         gl_CXX_CHOICE_DEFAULT_NO is defined.
11160         Requested by Eric Blake.
11161
11162 2010-03-28  Bruno Haible  <bruno@clisp.org>
11163
11164         unistd: Avoid #define replacements in C++ mode.
11165         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
11166         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
11167         setsockopt, shutdown, select): In C++, attach a warning to the function
11168         if possible, rather than #defining the symbol to a dysfunctional alias.
11169         Reported by John W. Eaton <jwe@gnu.org>.
11170
11171 2010-03-28  Bruno Haible  <bruno@clisp.org>
11172
11173         Fix link errors on mingw.
11174         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
11175         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
11176         $(LIBSOCKET).
11177         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
11178         $(LIBSOCKET).
11179
11180 2010-03-28  Bruno Haible  <bruno@clisp.org>
11181             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11182
11183         lib-ignore: Determine different options for different compilers.
11184         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
11185         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
11186         Add comments.
11187         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
11188         * NEWS: Mention the change.
11189
11190 2010-03-27  Bruno Haible  <bruno@clisp.org>
11191
11192         Remove unused GNULIB_XYZ macro definitions.
11193         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
11194         * modules/fseek (configure.ac): Likewise.
11195         * modules/ioctl (configure.ac): Likewise.
11196         * modules/open (configure.ac): Likewise.
11197         * modules/stdlib-safer (configure.ac): Likewise.
11198
11199 2010-03-27  Bruno Haible  <bruno@clisp.org>
11200
11201         Add a remark about certain modules.
11202         * modules/malloc (Comment): New section.
11203         * modules/realloc (Comment): Likewise.
11204         * modules/sigpipe (Comment): Likewise.
11205
11206 2010-03-27  Bruno Haible  <bruno@clisp.org>
11207
11208         Resolve conflict between the two kinds of module indicators.
11209         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
11210         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
11211         * modules/canonicalize (configure.ac): Invoke
11212         gl_MODULE_INDICATOR_FOR_TESTS.
11213         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
11214         GNULIB_XYZ.
11215         * tests/test-dirent-c++.cc: Likewise.
11216         * tests/test-dirent-safer.c: Likewise.
11217         * tests/test-dup2.c: Likewise.
11218         * tests/test-fchdir.c: Likewise.
11219         * tests/test-fcntl-h-c++.cc: Likewise.
11220         * tests/test-getopt.c: Likewise.
11221         * tests/test-getopt.h: Likewise.
11222         * tests/test-langinfo-c++.cc: Likewise.
11223         * tests/test-locale-c++.cc: Likewise.
11224         * tests/test-math-c++.cc: Likewise.
11225         * tests/test-pty-c++.cc: Likewise.
11226         * tests/test-search-c++.cc: Likewise.
11227         * tests/test-signal-c++.cc: Likewise.
11228         * tests/test-spawn-c++.cc: Likewise.
11229         * tests/test-stdio-c++.cc: Likewise.
11230         * tests/test-stdlib-c++.cc: Likewise.
11231         * tests/test-string-c++.cc: Likewise.
11232         * tests/test-sys_ioctl-c++.cc: Likewise.
11233         * tests/test-sys_select-c++.cc: Likewise.
11234         * tests/test-sys_socket-c++.cc: Likewise.
11235         * tests/test-sys_stat-c++.cc: Likewise.
11236         * tests/test-sys_time-c++.cc: Likewise.
11237         * tests/test-time-c++.cc: Likewise.
11238         * tests/test-unistd-c++.cc: Likewise.
11239         * tests/test-wchar-c++.cc: Likewise.
11240         * tests/uninorm/test-u8-nfc.c: Likewise.
11241         * tests/uninorm/test-u8-nfd.c: Likewise.
11242         * tests/uninorm/test-u8-nfkc.c: Likewise.
11243         * tests/uninorm/test-u8-nfkd.c: Likewise.
11244         * tests/uninorm/test-u16-nfc.c: Likewise.
11245         * tests/uninorm/test-u16-nfd.c: Likewise.
11246         * tests/uninorm/test-u16-nfkc.c: Likewise.
11247         * tests/uninorm/test-u16-nfkd.c: Likewise.
11248         * tests/uninorm/test-u32-nfc.c: Likewise.
11249         * tests/uninorm/test-u32-nfc-big.c: Likewise.
11250         * tests/uninorm/test-u32-nfd.c: Likewise.
11251         * tests/uninorm/test-u32-nfd-big.c: Likewise.
11252         * tests/uninorm/test-u32-nfkc.c: Likewise.
11253         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
11254         * tests/uninorm/test-u32-nfkd.c: Likewise.
11255         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
11256         * tests/uninorm/test-u32-normalize-big.c: Likewise.
11257
11258 2010-03-27  Bruno Haible  <bruno@clisp.org>
11259
11260         Distinguish two kinds of module indicators.
11261         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
11262         gl_MODULE_INDICATOR.
11263         (gl_MODULE_INDICATOR): New macro.
11264         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
11265         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
11266         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
11267         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
11268         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
11269         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
11270         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
11271         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
11272         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
11273         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
11274         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
11275         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
11276         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
11277         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
11278         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
11279         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
11280         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
11281         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
11282         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
11283         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
11284         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
11285         * modules/cloexec (configure.ac): Likewise.
11286         * modules/getopt-gnu (configure.ac): Likewise.
11287         * modules/uninorm/u8-normalize (configure.ac): Likewise.
11288         * modules/uninorm/u16-normalize (configure.ac): Likewise.
11289         * modules/uninorm/u32-normalize (configure.ac): Likewise.
11290         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
11291
11292 2010-03-27  Bruno Haible  <bruno@clisp.org>
11293
11294         New module description field 'Comment'.
11295         * gnulib-tool: New option --extract-comment.
11296         (func_usage): Document it.
11297         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
11298         (func_get_comment): New function.
11299         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
11300
11301 2010-03-27  Bruno Haible  <bruno@clisp.org>
11302
11303         Addendum to 2010-02-07 commit.
11304         * gnulib-tool (func_usage): Document --extract-applicability option.
11305
11306 2010-03-27  Bruno Haible  <bruno@clisp.org>
11307
11308         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
11309         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
11310         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
11311         rather than link errors.
11312
11313 2010-03-27  Bruno Haible  <bruno@clisp.org>
11314
11315         Avoid side effects from tests-related modules on the compilation of lib.
11316         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
11317         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
11318         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
11319         parameter. Emit into AM_CPPFLAGS a definition of the designated C
11320         macro.
11321         (func_import): Define a witness macro. Assign it a value that depends
11322         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
11323         tests-related modules.
11324         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
11325         Reported by Jim Meyering.
11326
11327 2010-03-27  Bruno Haible  <bruno@clisp.org>
11328
11329         Factorize common .m4 code.
11330         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
11331         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
11332         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
11333         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
11334         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
11335         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
11336         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
11337         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
11338         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
11339         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
11340         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
11341         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
11342         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
11343         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
11344         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
11345         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
11346         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
11347         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
11348         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
11349         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
11350         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
11351         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
11352         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
11353         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
11354         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
11355         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
11356         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
11357         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
11358         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
11359         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
11360         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
11361         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
11362
11363 2010-03-27  Bruno Haible  <bruno@clisp.org>
11364
11365         Fix a compilation error on Cygwin with g++ >= 4.3.
11366         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
11367         if it is undefined or if we alias it to chmod.
11368         (lstat): Don't warn about the use of this function if it is undefined
11369         or if we alias it to stat.
11370         Reported by Simon Josefsson.
11371
11372 2010-03-27  Bruno Haible  <bruno@clisp.org>
11373
11374         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
11375         * modules/getlogin (configure.ac): Update.
11376
11377         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
11378         * modules/getlogin_r (configure.ac): Update.
11379
11380         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
11381         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
11382         * modules/inet_ntop (configure.ac): Update.
11383
11384         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
11385         * modules/inet_pton (configure.ac): Update.
11386
11387         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
11388         * modules/mbslen (configure.ac): Update.
11389
11390         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
11391         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
11392         * modules/forkpty (configure.ac): Update.
11393         * modules/openpty (configure.ac): Update.
11394
11395 2010-03-26  Simon Josefsson  <simon@josefsson.org>
11396
11397         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
11398         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
11399
11400 2010-03-25  Eric Blake  <eblake@redhat.com>
11401
11402         maint: use pragma consistently across replacement headers
11403         * lib/ctype.in.h (system_header): Hoist for consistent placement.
11404         * lib/dirent.in.h (system_header): Likewise.
11405         * lib/errno.in.h (system_header): Likewise.
11406         * lib/float.in.h (system_header): Likewise.
11407         * lib/getopt.in.h (system_header): Likewise.
11408         * lib/iconv.in.h (system_header): Likewise.
11409         * lib/inttypes.in.h (system_header): Likewise.
11410         * lib/langinfo.in.h (system_header): Likewise.
11411         * lib/locale.in.h (system_header): Likewise.
11412         * lib/math.in.h (system_header): Likewise.
11413         * lib/netdb.in.h (system_header): Likewise.
11414         * lib/netinet_in.in.h (system_header): Likewise.
11415         * lib/pty.in.h (system_header): Likewise.
11416         * lib/sched.in.h (system_header): Likewise.
11417         * lib/se-selinux.in.h (system_header): Likewise.
11418         * lib/search.in.h (system_header): Likewise.
11419         * lib/spawn.in.h (system_header): Likewise.
11420         * lib/stdarg.in.h (system_header): Likewise.
11421         * lib/stdint.in.h (system_header): Likewise.
11422         * lib/string.in.h (system_header): Likewise.
11423         * lib/strings.in.h (system_header): Likewise.
11424         * lib/sys_file.in.h (system_header): Likewise.
11425         * lib/sys_ioctl.in.h (system_header): Likewise.
11426         * lib/sys_socket.in.h (system_header): Likewise.
11427         * lib/sys_times.in.h (system_header): Likewise.
11428         * lib/sys_utsname.in.h (system_header): Likewise.
11429         * lib/sys_wait.in.h (system_header): Likewise.
11430         * lib/sysexits.in.h (system_header): Likewise.
11431         * lib/unistd.in.h (system_header): Likewise.
11432         * lib/wctype.in.h (system_header): Likewise.
11433
11434         arpa/inet: fix mingw compilation warning
11435         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
11436         Reported by Matthew Bolte.
11437
11438 2010-03-25  Bruno Haible  <bruno@clisp.org>
11439
11440         Avoid collision between gnulib wrapper and libintl wrapper.
11441         * lib/printf.c (printf): Don't define if a printf wrapper is already
11442         defined in intl/printf.c.
11443         Reported by Michel Boaventura <michel@michelboaventura.com>.
11444
11445 2010-03-25  Bruno Haible  <bruno@clisp.org>
11446
11447         Use ANSI C.
11448         * lib/readutmp.h (getutent): Provide ANSI C prototype.
11449
11450 2010-03-25  Bruno Haible  <bruno@clisp.org>
11451
11452         Minor formatting changes.
11453         * lib/acosl.c: Insert space before function argument list.
11454         * lib/argz.c: Likewise.
11455         * lib/asinl.c: Likewise.
11456         * lib/expl.c: Likewise.
11457         * lib/gen-uni-tables.c: Likewise.
11458         * lib/gettext.h: Likewise.
11459         * lib/glthread/lock.h: Likewise.
11460         * lib/tanl.c: Likewise.
11461         * lib/uniname/uniname.c: Likewise.
11462         * tests/test-idpriv-drop.c: Likewise.
11463         * tests/test-idpriv-droptemp.c: Likewise.
11464         * tests/test-lock.c: Likewise.
11465         * tests/test-tls.c: Likewise.
11466         * lib/argp-help.c: Insert space before function-like macro argument
11467         list.
11468         * lib/memcmp.c: Likewise.
11469         * tests/test-base64.c: Likewise.
11470         * lib/localename.c: Insert space before sizeof's argument list.
11471         * lib/safe-alloc.h: Likewise.
11472         * lib/file-set.h: Insert space before macro argument list.
11473         * tests/test-argp.c: Likewise.
11474         * lib/argp-namefrob.h: Insert space before function parameter list.
11475         * lib/getaddrinfo.c: Likewise.
11476         * lib/netdb.in.h: Likewise.
11477         * lib/parse-duration.h: Likewise.
11478         * lib/parse-duration.c: Likewise.
11479         * lib/poll.c: Likewise.
11480         * lib/select.c: Likewise.
11481         * lib/trim.h: Likewise.
11482         * tests/test-usleep.c: Likewise.
11483         * lib/ldexpl.c: Insert space before function parameter list and before
11484         function argument list.
11485         * lib/logl.c: Likewise.
11486         * lib/sqrtl.c: Likewise.
11487         * lib/trim.c: Likewise.
11488         * lib/cosl.c: Use GNU style indentation. Insert space before function
11489         argument list.
11490         * lib/sinl.c: Likewise.
11491         * lib/tsearch.c: Insert space after 'for'.
11492         Reported by Jim Meyering.
11493
11494 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
11495
11496         * maint.mk (sc_Wundef_boolean): Check for the presence of the
11497         config header before grepping, as it's not present before
11498         autoreconf/configure are run.  Reported by Simon Josefsson.
11499
11500 2010-03-23  Bruno Haible  <bruno@clisp.org>
11501
11502         pt_chown: Make it work with automake < 1.11.
11503         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
11504         Reported by Simon Josefsson.
11505
11506 2010-03-23  Bruno Haible  <bruno@clisp.org>
11507
11508         pt_chown: Don't depend on GPLed modules.
11509         * lib/pt_chown.c: Don't include idpriv.h.
11510         (main): Don't drop privileges.
11511         * modules/pt_chown (Depends-on): Remove idpriv-drop.
11512         Reported by Simon Josefsson.
11513
11514 2010-03-24  Simon Josefsson  <simon@josefsson.org>
11515
11516         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
11517         suggestions from karl@freefriends.org (Karl Berry).
11518
11519 2010-03-22  Eric Blake  <eblake@redhat.com>
11520
11521         gethostname: further tweaks
11522         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
11523         are overriding gethostname.
11524         Suggested by Bruno Haible.
11525
11526 2010-03-21  Bruno Haible  <bruno@clisp.org>
11527
11528         Fix comments.
11529         * lib/forkpty.c (rpl_forkpty): Fix comment.
11530         * lib/openpty.c (rpl_openpty): Likewise.
11531         Reported by Eric Blake.
11532
11533 2010-03-22  Eric Blake  <eblake@redhat.com>
11534
11535         gethostname: fix build on mingw
11536         * lib/unistd.in.h (includes): Work around fact that mingw
11537         <winsock2.h> re-includes <unistd.h>, by avoiding any
11538         redeclarations if we are being included by <winsock2.h>.
11539         Reported by Matthias Bolte.
11540
11541 2010-03-21  Bruno Haible  <bruno@clisp.org>
11542
11543         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
11544         * lib/forkpty.c (forkpty): New replacement function, from glibc with
11545         modifications.
11546         * lib/pty.in.h (forkpty): Update declaration. Add comments.
11547         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
11548         provide the replacement.
11549         * modules/forkpty (Depends-on): Add openpty, login_tty.
11550         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
11551         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
11552         * doc/glibc-functions/forkpty.texi: More supported platforms.
11553         * config/srclist.txt: Add forkpty.c (commented).
11554
11555 2010-03-21  Bruno Haible  <bruno@clisp.org>
11556
11557         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
11558         (Makefile.am): Verify that PTY_LIB is defined.
11559
11560         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
11561
11562 2010-03-21  Bruno Haible  <bruno@clisp.org>
11563
11564         Tests for module 'login_tty'.
11565         * modules/login_tty-tests: New file.
11566         * tests/test-login_tty.c: New file.
11567
11568         New module 'login_tty'.
11569         * lib/login_tty.c: New file.
11570         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
11571         * modules/login_tty: New file.
11572         * doc/glibc-functions/login_tty.texi: Mention the new module.
11573
11574 2010-03-21  Bruno Haible  <bruno@clisp.org>
11575
11576         login_tty: Documentation.
11577         * doc/glibc-functions/login_tty.texi: New file.
11578         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
11579
11580 2010-03-21  Bruno Haible  <bruno@clisp.org>
11581
11582         pty: Consistent macro naming.
11583         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
11584         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
11585         * modules/pty (configure.ac): Update.
11586
11587 2010-03-21  Bruno Haible  <bruno@clisp.org>
11588
11589         Tests for openpty: Make stricter.
11590         * tests/test-openpty.c (main): Add test of canonical processing and
11591         erase.
11592         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
11593
11594         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
11595         * lib/openpty.c (openpty): New replacement function.
11596         * lib/pty.in.h: Include <termios.h>.
11597         (openpty): Update declaration. Add comments.
11598         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
11599         is not declared, arrange to provide the replacement. Check for _getpty
11600         and posix_openpt.
11601         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
11602         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
11603         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
11604         * modules/pty-tests (test_pty_c___LDADD): New variable.
11605         * doc/glibc-functions/openpty.texi: More supported platforms.
11606
11607 2010-03-21  Bruno Haible  <bruno@clisp.org>
11608
11609         setenv: Tweaks.
11610         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
11611         the test program.
11612         * doc/posix-functions/setenv.texi: Update platforms list.
11613
11614 2010-03-21  Bruno Haible  <bruno@clisp.org>
11615
11616         New module 'unlockpt'.
11617         * lib/unlockpt.c: New file, from glibc with modifications.
11618         * m4/unlockpt.m4: New file.
11619         * modules/unlockpt: New file.
11620         * lib/stdlib.in.h (unlockpt): New declaration.
11621         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
11622         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
11623         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
11624         HAVE_UNLOCKPT.
11625         * doc/posix-functions/unlockpt.texi: Mention the new module.
11626         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
11627         * config/srclist.txt: Add unlockpt.c (commented).
11628
11629 2010-03-21  Jim Meyering  <meyering@redhat.com>
11630
11631         maint.mk: prohibit inclusion of "intprops.h" without use
11632         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
11633
11634 2010-03-21  Bruno Haible  <bruno@clisp.org>
11635
11636         New module 'grantpt'.
11637         * lib/grantpt.c: New file, from glibc with modifications.
11638         * m4/grantpt.m4: New file.
11639         * modules/grantpt: New file.
11640         * lib/stdlib.in.h (grantpt): New declaration.
11641         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
11642         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
11643         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
11644         HAVE_GRANTPT.
11645         * doc/posix-functions/grantpt.texi: Mention the new module.
11646         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
11647         * config/srclist.txt: Add grantpt.c (commented).
11648
11649 2010-03-21  Bruno Haible  <bruno@clisp.org>
11650
11651         New module 'pt_chown'.
11652         * lib/pt_chown.c: New file, from glibc with modifications.
11653         * lib/pty-private.h: New file, from glibc with modifications.
11654         * modules/pt_chown: New file.
11655         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
11656
11657 2010-03-21  Bruno Haible  <bruno@clisp.org>
11658
11659         Tests for module 'ptsname'.
11660         * modules/ptsname-tests: New file.
11661         * tests/test-ptsname.c: New file.
11662
11663         New module 'ptsname'.
11664         * lib/ptsname.c: New file, from glibc with modifications.
11665         * m4/ptsname.m4: New file.
11666         * modules/ptsname: New file.
11667         * lib/stdlib.in.h (ptsname): New declaration.
11668         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
11669         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
11670         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
11671         HAVE_PTSNAME.
11672         * doc/posix-functions/ptsname.texi: Mention the new module.
11673         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
11674         * config/srclist.txt: Add ptsname.c (commented).
11675
11676 2010-03-21  Bruno Haible  <bruno@clisp.org>
11677
11678         Tests for module 'ttyname_r'.
11679         * modules/ttyname_r-tests: New file.
11680         * tests/test-ttyname_r.c: New file.
11681
11682         New module 'ttyname_r'.
11683         * lib/ttyname_r.c: New file.
11684         * m4/ttyname_r.m4: New file.
11685         * modules/ttyname_r: New file.
11686         * lib/unistd.in.h (ttyname_r): New declaration.
11687         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
11688         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
11689         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
11690         HAVE_TTYNAME_R.
11691         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
11692         * doc/posix-functions/ttyname_r.texi: Mention the new module.
11693
11694 2010-03-20  Bruno Haible  <bruno@clisp.org>
11695
11696         signal: Undefine macro definitions in C++ mode.
11697         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
11698         sigfillset): Undefine macro definitions from the system header in C++
11699         mode.
11700         Reported by John W. Eaton <jwe@gnu.org>.
11701
11702 2010-03-20  Bruno Haible  <bruno@clisp.org>
11703
11704         Ensure no #include statements inside extern "C" { ... }.
11705         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
11706         contain #include statements.
11707         * lib/time.in.h: Likewise.
11708
11709 2010-03-20  Bruno Haible  <bruno@clisp.org>
11710
11711         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
11712         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
11713         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
11714         Reported by John W. Eaton <jwe@gnu.org>.
11715
11716 2010-03-20  Bruno Haible  <bruno@clisp.org>
11717
11718         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
11719         Reported by Jim Meyering.
11720
11721 2010-03-20  Bruno Haible  <bruno@clisp.org>
11722
11723         pipe: Set errno upon failure.
11724         * lib/pipe.h: Specify that when -1 is returned, errno is set.
11725         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
11726         errno value in error message.
11727
11728 2010-03-20  Bruno Haible  <bruno@clisp.org>
11729             Jim Meyering  <meyering@redhat.com>
11730
11731         lchown: Avoid "unused variable" warning.
11732         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
11733
11734 2010-03-20  Bruno Haible  <bruno@clisp.org>
11735
11736         Work around unlink() bug on MacOS X 10.5.6.
11737         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
11738         attempting to unlink a parent directory.
11739         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
11740         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
11741         activate for the replacement function.
11742         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
11743
11744 2010-03-20  Bruno Haible  <bruno@clisp.org>
11745
11746         Fix link errors on Solaris 8.
11747         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
11748         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
11749
11750 2010-03-19  Jim Meyering  <meyering@redhat.com>
11751
11752         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
11753         The _LIBC implementation of build_range_exp correctly honors the
11754         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
11755         However, the non-_LIBC implementation would ignore that syntax-bit
11756         flag and return REG_ERANGE unconditionally.
11757         This change makes it honor that flag.
11758         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
11759         Make two pointer parameters "const".
11760         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
11761         (parse_bracket_exp): Update caller.
11762
11763         regex.m4: correct the reversed range endpoint ([b-a]) test
11764         * m4/regex.m4: When requiring that [b-a] evoke failure,
11765         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
11766         test pass once again for x86-based systems.
11767
11768 2010-03-19  Bruno Haible  <bruno@clisp.org>
11769
11770         scandir: Fix link error on Solaris 8.
11771         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
11772         macros.
11773
11774 2010-03-19  Bruno Haible  <bruno@clisp.org>
11775
11776         getusershell: Fix documentation.
11777         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
11778         module.
11779         * doc/glibc-functions/setusershell.texi: Likewise.
11780
11781         getusershell: Provide declaration, missing on Solaris 9.
11782         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
11783         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
11784         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
11785         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
11786         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11787         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
11788         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
11789         HAVE_GETUSERSHELL.
11790         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
11791
11792 2010-03-19  Bruno Haible  <bruno@clisp.org>
11793
11794         wctype: Provide iswblank function.
11795         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
11796         exists and is fine.
11797         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
11798         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
11799         * tests/test-wctype.c (main): Re-enable the iswblank tests.
11800         * doc/posix-functions/iswblank.texi: Update.
11801
11802 2010-03-19  Bruno Haible  <bruno@clisp.org>
11803
11804         Tests of module 'pty' in C++ mode.
11805         * modules/pty-tests: New file.
11806         * tests/test-pty-c++.cc: New file.
11807         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
11808
11809 2010-03-19  Eric Blake  <eblake@redhat.com>
11810
11811         logb: fix documentation
11812         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
11813         1.5 declaration bug.
11814
11815         forkpty, openpty: prefer glibc's const-safe prototype
11816         * lib/forkpty.c (rpl_forkpty): New file.
11817         * lib/openpty.c (rpl_openpty): Likewise.
11818         * modules/forkpty (Files): Distribute it.
11819         * modules/openpty (Files): Likewise.
11820         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
11821         check...
11822         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
11823         replacement for for non-const BSD signature.
11824         * modules/pty (Makefile.am): Substitute witnesses.
11825         * lib/pty.in.h (forkpty, openpty): Declare replacements.
11826         * tests/test-forkpty.c: Update signature check.
11827         * tests/test-openpty.c: Likewise.
11828         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
11829         * doc/glibc-functions/openpty.texi (openpty): Likewise.
11830
11831         forkpty, openpty: split functions into new modules
11832         * modules/pty (Makefile.am): Substitute new witnesses.
11833         (Libraries): Move library detection...
11834         * modules/forkpty: ...into new module.
11835         * modules/openpty: Another new module.
11836         * modules/pty-tests: Rename and split...
11837         * modules/forkpty-tests: ...to this...
11838         * modules/openpty-tests: ...and this.
11839         * tests/test-pty.c: Rename and split...
11840         * tests/test-forkpty.c: ...to this...
11841         * tests/test-openpty.c: ...and this.
11842         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
11843         (gl_PTY): Split library searching...
11844         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
11845         (gl_FORKPTY, gl_OPENPTY): New macros.
11846         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
11847         * NEWS: Mention the split.
11848         * MODULES.html.sh (Misc): Document the modules.
11849         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
11850         * doc/glibc-functions/openpty.texi (openpty): Likewise.
11851
11852         pty: improve replacement header
11853         * lib/pty.in.h: New file.
11854         * modules/pty (Files): Ship it.
11855         (Makefile.am): Always build replacement.
11856         * m4/pty.m4: Rename...
11857         * m4/pty_h.m4: ...to this.
11858         (gl_PTY): Modernize setting of witness macros; update check of
11859         forkpty to take proper advantage of cache.
11860         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
11861
11862         getopt: avoid compiler warning
11863         * lib/getopt.c (attribute_hidden): Remove unused macro.
11864
11865 2010-03-18  Bruno Haible  <bruno@clisp.org>
11866
11867         Fix link errors on Solaris 8.
11868         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
11869         * modules/search-tests (test_search_c___LDADD): Likewise.
11870         * modules/signal-tests (test_signal_c___LDADD): Likewise.
11871         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
11872         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
11873         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
11874         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
11875         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
11876         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
11877
11878 2010-03-18  Bruno Haible  <bruno@clisp.org>
11879
11880         Fix bug introduced on 2010-03-14.
11881         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
11882         (gl_SPAWN_H): Require it.
11883         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
11884         Reported by Simon Josefsson.
11885
11886 2010-03-18  Bruno Haible  <bruno@clisp.org>
11887
11888         Fix typo introduced on 2009-12-31.
11889         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
11890         posix_spawn_file_actions_adddup2.
11891
11892 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
11893         and Eric Blake  <eblake@redhat.com>
11894
11895         test-vc-list-files-git: make more robust
11896         * tests/test-vc-list-files-git.sh: Unset problematic environment
11897         variables.  Chain commands together.
11898
11899 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
11900
11901         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
11902         `AC_CHECK_DECL' invocation.
11903
11904 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
11905
11906         * lib/inttostr.c (inttostr): Make sure the invocation of verify
11907         appears before executable statements. Suggested by Petr Sumbera
11908         <Petr.Sumbera@Sun.COM>.
11909
11910 2010-03-14  Bruno Haible  <bruno@clisp.org>
11911
11912         * tests/test-flock.c (test_exclusive): Comment out a test that causes
11913         portability problems. Instead use a simpler test.
11914         (main): Check that invalid arguments are rejected only on Linux.
11915
11916 2010-03-14  Bruno Haible  <bruno@clisp.org>
11917
11918         Fix bug introduced on 2009-12-31.
11919         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
11920         gl_PREREQ_SYS_H_WINSOCK2 always.
11921         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
11922         SYS_SOCKET_H variable.
11923         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
11924         Update comments.
11925         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
11926         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
11927         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11928         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11929         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
11930
11931 2010-03-14  Bruno Haible  <bruno@clisp.org>
11932
11933         Fix values returned by sinl, cosl.
11934         * lib/trigl.h: Add specification comments.
11935         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
11936         that combines the values from the precomputed table with the values of
11937         the Chebyshev polynomials.
11938
11939 2010-03-14  Bruno Haible  <bruno@clisp.org>
11940
11941         Fix compilation error when modules 'posix_spawn[p]' are not used.
11942         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
11943         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
11944
11945 2010-03-14  Bruno Haible  <bruno@clisp.org>
11946
11947         Fix compilation error on mingw when module 'time_r' is not used.
11948         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
11949         is 1.
11950         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
11951         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
11952         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
11953         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
11954
11955 2010-03-14  Bruno Haible  <bruno@clisp.org>
11956
11957         Fix compilation error with Sun C.
11958         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
11959         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
11960         instead of GCC specific ULONG_LONG_MAX.
11961         * lib/xstrtoll.c: Likewise.
11962         * lib/xstrtoull.c: Likewise.
11963
11964 2010-03-13  Bruno Haible  <bruno@clisp.org>
11965
11966         Allow the user to disable C++ code and tests.
11967         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
11968         (gl_PROG_ANSI_CXX): Require it.
11969
11970 2010-03-13  Bruno Haible  <bruno@clisp.org>
11971
11972         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
11973         cases.
11974
11975 2010-03-13  Bruno Haible  <bruno@clisp.org>
11976
11977         Test that gnulib does not break the standard C++ headers.
11978         * tests/test-locale-c++2.cc: New file.
11979         * modules/locale-tests (Files): Add it.
11980         (Makefile.am): Compile it for test-locale-c++.
11981         * tests/test-math-c++2.cc: New file.
11982         * modules/math-tests (Files): Add it.
11983         (Makefile.am): Compile it for test-math-c++.
11984         * tests/test-signal-c++2.cc: New file.
11985         * modules/signal-tests (Files): Add it.
11986         (Makefile.am): Compile it for test-signal-c++.
11987         * tests/test-stdio-c++2.cc: New file.
11988         * modules/stdio-tests (Files): Add it.
11989         (Makefile.am): Compile it for test-stdio-c++.
11990         * tests/test-stdlib-c++2.cc: New file.
11991         * modules/stdlib-tests (Files): Add it.
11992         (Makefile.am): Compile it for test-stdlib-c++.
11993         * tests/test-string-c++2.cc: New file.
11994         * modules/string-tests (Files): Add it.
11995         (Makefile.am): Compile it for test-string-c++.
11996         * tests/test-time-c++2.cc: New file.
11997         * modules/time-tests (Files): Add it.
11998         (Makefile.am): Compile it for test-time-c++.
11999         Reported by John W. Eaton <jwe@gnu.org>.
12000
12001 2010-03-13  Bruno Haible  <bruno@clisp.org>
12002
12003         * gnulib-tool (func_usage): Clarify which options are available for
12004         --create-testdir and --create-megatestdir.
12005
12006 2010-03-13  Bruno Haible  <bruno@clisp.org>
12007
12008         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
12009         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
12010         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
12011         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
12012         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
12013         when appropriate.
12014         Reported by Jim Meyering.
12015
12016 2010-03-12  Simon Josefsson  <simon@josefsson.org>
12017
12018         * gnulib-tool (func_import): Explain origin of code.
12019
12020 2010-03-12  Bruno Haible  <bruno@clisp.org>
12021
12022         Fix problem with automake's definition of CXXLINK.
12023         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
12024         Reported by Simon Josefsson and Ludovic Courtès.
12025
12026 2010-03-12  Bruno Haible  <bruno@clisp.org>
12027
12028         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
12029         stable releases.
12030
12031 2010-03-11  Bruno Haible  <bruno@clisp.org>
12032
12033         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
12034         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
12035         whether the system provides one variant or multiple variants of the
12036         function.
12037         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
12038         C++ compilers.
12039         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
12040         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
12041         Reported by Jim Meyering.
12042
12043 2010-03-09  Simon Josefsson  <simon@josefsson.org>
12044
12045         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
12046
12047 2010-03-08  Bruno Haible  <bruno@clisp.org>
12048
12049         gnulib-tool: Add support for --libtool in --create-testdir.
12050         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
12051         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
12052
12053 2010-03-08  Eric Blake  <eblake@redhat.com>
12054
12055         gnulib-tool.texi: mention possibility of git submodule
12056         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
12057         submodules.
12058         * doc/.gitignore: Ignore another generated file.
12059
12060 2010-03-08  Karl Berry  <karl@gnu.org>
12061
12062         * doc/gnulib-tool.texi (VCS Issues): Mention third option
12063         of committing gnulib files while skipping others.
12064
12065 2010-03-07  Bruno Haible  <bruno@clisp.org>
12066
12067         Tests of module 'wctype' in C++ mode.
12068         * tests/test-wctype-c++.cc: New file.
12069         * modules/wctype-tests (Files): Add it and tests/signature.h.
12070         (Depends-on): Add ansi-c++-opt.
12071         (Makefile.am): Arrange to compile and run test-wctype-c++.
12072
12073         Tests of module 'wchar' in C++ mode.
12074         * tests/test-wchar-c++.cc: New file.
12075         * modules/wchar-tests (Files): Add it and tests/signature.h.
12076         (Depends-on): Add ansi-c++-opt.
12077         (Makefile.am): Arrange to compile and run test-wchar-c++.
12078         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
12079         gl_MODULE_INDICATOR.
12080
12081         Tests of module 'unistd' in C++ mode.
12082         * tests/test-unistd-c++.cc: New file.
12083         * modules/unistd-tests (Files): Add it and tests/signature.h.
12084         (Depends-on): Add ansi-c++-opt.
12085         (Makefile.am): Arrange to compile and run test-unistd-c++.
12086         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
12087         gl_MODULE_INDICATOR.
12088
12089         Tests of module 'time' in C++ mode.
12090         * tests/test-time-c++.cc: New file.
12091         * modules/time-tests (Files): Add it and tests/signature.h.
12092         (Depends-on): Add ansi-c++-opt.
12093         (Makefile.am): Arrange to compile and run test-time-c++.
12094         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
12095
12096         Tests of module 'sys_time' in C++ mode.
12097         * tests/test-sys_time-c++.cc: New file.
12098         * modules/sys_time-tests (Files): Add it and tests/signature.h.
12099         (Depends-on): Add ansi-c++-opt.
12100         (Makefile.am): Arrange to compile and run test-sys_time-c++.
12101         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
12102         gl_MODULE_INDICATOR.
12103
12104         Tests of module 'sys_stat' in C++ mode.
12105         * tests/test-sys_stat-c++.cc: New file.
12106         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
12107         (Depends-on): Add ansi-c++-opt.
12108         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
12109         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
12110         gl_MODULE_INDICATOR.
12111
12112         Tests of module 'sys_socket' in C++ mode.
12113         * tests/test-sys_socket-c++.cc: New file.
12114         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
12115         (Depends-on): Add ansi-c++-opt.
12116         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
12117         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
12118         gl_MODULE_INDICATOR.
12119
12120         Tests of module 'sys_select' in C++ mode.
12121         * tests/test-sys_select-c++.cc: New file.
12122         * modules/sys_select-tests (Files): Add it and tests/signature.h.
12123         (Depends-on): Add ansi-c++-opt.
12124         (Makefile.am): Arrange to compile and run test-sys_select-c++.
12125         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
12126         gl_MODULE_INDICATOR.
12127
12128         Tests of module 'sys_ioctl' in C++ mode.
12129         * tests/test-sys_ioctl-c++.cc: New file.
12130         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
12131         (Depends-on): Add ansi-c++-opt.
12132         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
12133         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
12134         gl_MODULE_INDICATOR.
12135
12136         Tests of module 'string' in C++ mode.
12137         * tests/test-string-c++.cc: New file.
12138         * modules/string-tests (Files): Add it and tests/signature.h.
12139         (Depends-on): Add ansi-c++-opt.
12140         (Makefile.am): Arrange to compile and run test-string-c++.
12141         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
12142         gl_MODULE_INDICATOR.
12143
12144         Tests of module 'stdlib' in C++ mode.
12145         * tests/test-stdlib-c++.cc: New file.
12146         * modules/stdlib-tests (Files): Add it and tests/signature.h.
12147         (Depends-on): Add ansi-c++-opt.
12148         (Makefile.am): Arrange to compile and run test-stdlib-c++.
12149         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
12150         gl_MODULE_INDICATOR.
12151
12152         Tests of module 'stdio' in C++ mode.
12153         * tests/test-stdio-c++.cc: New file.
12154         * modules/stdio-tests (Files): Add it and tests/signature.h.
12155         (Depends-on): Add ansi-c++-opt.
12156         (Makefile.am): Arrange to compile and run test-stdio-c++.
12157         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
12158         gl_MODULE_INDICATOR.
12159
12160         Tests of module 'spawn' in C++ mode.
12161         * tests/test-spawn-c++.cc: New file.
12162         * modules/spawn-tests (Files): Add it and tests/signature.h.
12163         (Depends-on): Add ansi-c++-opt.
12164         (Makefile.am): Arrange to compile and run test-spawn-c++.
12165         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
12166         gl_MODULE_INDICATOR.
12167
12168         Tests of module 'signal' in C++ mode.
12169         * tests/test-signal-c++.cc: New file.
12170         * modules/signal-tests (Files): Add it and tests/signature.h.
12171         (Depends-on): Add ansi-c++-opt.
12172         (Makefile.am): Arrange to compile and run test-signal-c++.
12173         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
12174         gl_MODULE_INDICATOR.
12175
12176         Tests of module 'search' in C++ mode.
12177         * tests/test-search-c++.cc: New file.
12178         * modules/search-tests (Files): Add it and tests/signature.h.
12179         (Depends-on): Add ansi-c++-opt.
12180         (Makefile.am): Arrange to compile and run test-search-c++.
12181         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
12182         gl_MODULE_INDICATOR.
12183
12184         Tests of module 'math' in C++ mode.
12185         * tests/test-math-c++.cc: New file.
12186         * modules/math-tests (Files): Add it and tests/signature.h.
12187         (Depends-on): Add ansi-c++-opt.
12188         (Makefile.am): Arrange to compile and run test-math-c++.
12189         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
12190
12191         Tests of module 'locale' in C++ mode.
12192         * tests/test-locale-c++.cc: New file.
12193         * modules/locale-tests (Files): Add it and tests/signature.h.
12194         (Depends-on): Add ansi-c++-opt.
12195         (Makefile.am): Arrange to compile and run test-locale-c++.
12196         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
12197         gl_MODULE_INDICATOR.
12198
12199         Tests of module 'langinfo' in C++ mode.
12200         * tests/test-langinfo-c++.cc: New file.
12201         * modules/langinfo-tests (Files): Add it and tests/signature.h.
12202         (Depends-on): Add ansi-c++-opt.
12203         (Makefile.am): Arrange to compile and run test-langinfo-c++.
12204         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
12205         gl_MODULE_INDICATOR.
12206
12207         Tests of module 'iconv-h' in C++ mode.
12208         * tests/test-iconv-h-c++.cc: New file.
12209         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
12210         (Depends-on): Add ansi-c++-opt.
12211         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
12212
12213         Tests of module 'glob' in C++ mode.
12214         * tests/test-glob-c++.cc: New file.
12215         * modules/glob-tests (Files): Add it.
12216         (Depends-on): Add ansi-c++-opt.
12217         (Makefile.am): Arrange to compile and run test-glob-c++.
12218
12219         Tests of module 'fcntl-h' in C++ mode.
12220         * tests/test-fcntl-h-c++.cc: New file.
12221         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
12222         (Depends-on): Add ansi-c++-opt.
12223         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
12224         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
12225         gl_MODULE_INDICATOR.
12226
12227         Tests of module 'dirent' in C++ mode.
12228         * tests/test-dirent-c++.cc: New file.
12229         * modules/dirent-tests (Files): Add it and tests/signature.h.
12230         (Depends-on): Add ansi-c++-opt.
12231         (Makefile.am): Arrange to compile and run test-dirent-c++.
12232         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
12233         gl_MODULE_INDICATOR.
12234
12235         New module 'ansi-c++-opt'.
12236         * modules/ansi-c++-opt: New file.
12237         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
12238
12239         Document C++ namespace mode.
12240         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
12241
12242         wctype: Avoid #define replacements in C++ mode.
12243         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
12244         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
12245         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
12246         In C++, define a namespaced alias symbol.
12247         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
12248         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
12249         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
12250         rule.
12251
12252         wchar: Avoid #define replacements in C++ mode.
12253         * lib/wchar.in.h: Include c++defs.h.
12254         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
12255         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
12256         symbol.
12257         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
12258         * modules/wchar (Depends-on): Add c++defs.
12259         (Makefile.am): Update wchar.h rule.
12260
12261         unistd: Avoid #define replacements in C++ mode.
12262         * lib/unistd.in.h: Include c++defs.h.
12263         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
12264         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
12265         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
12266         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
12267         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
12268         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
12269         symbol.
12270         (environ): Update.
12271         * modules/unistd (Depends-on): Add c++defs.
12272         (Makefile.am): Update unistd.h rule.
12273
12274         time: Avoid #define replacements in C++ mode.
12275         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
12276         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
12277         define a namespaced alias symbol.
12278         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
12279         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
12280         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
12281         * modules/time (Depends-on): Add c++defs, warn-on-use.
12282         (Makefile.am): Update time.h rule.
12283         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
12284         * modules/nanosleep (configure.ac): Likewise.
12285         * modules/strptime (configure.ac): Likewise.
12286         * modules/timegm (configure.ac): Likewise.
12287
12288         sys_time: Avoid #define replacements in C++ mode.
12289         * lib/sys_time.in.h: Include c++defs.h.
12290         (gettimeofday): In C++, define a namespaced alias symbol.
12291         * modules/sys_time (Depends-on): Add c++defs.
12292         (Makefile.am): Update sys/time.h rule.
12293
12294         sys_stat: Avoid #define replacements in C++ mode.
12295         * lib/sys_stat.in.h: Include c++defs.h.
12296         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
12297         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
12298         namespaced alias symbol.
12299         In C++, define a namespaced alias symbol.
12300         * modules/sys_stat (Depends-on): Add c++defs.
12301         (Makefile.am): Update sys/stat.h rule.
12302
12303         sys_socket: Avoid #define replacements in C++ mode.
12304         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
12305         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
12306         definitions also when the system has a <sys/socket.h>.
12307         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12308         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
12309         In C++, define a namespaced alias symbol.
12310         * modules/sys_socket (Depends-on): Add c++defs.
12311         (Makefile.am): Update sys/socket.h rule.
12312
12313         sys_select: Avoid #define replacements in C++ mode.
12314         * lib/sys_select.in.h: Include c++defs.h. Enable the function
12315         definitions also when the system has a <sys/select.h>.
12316         (select): In C++, define a namespaced alias symbol.
12317         * modules/sys_select (Depends-on): Add c++defs.
12318         (Makefile.am): Update sys/select.h rule.
12319
12320         sys_ioctl: Avoid #define replacements in C++ mode.
12321         * lib/sys_ioctl.in.h: Include c++defs.h.
12322         (ioctl): In C++, define a namespaced alias symbol.
12323         * modules/sys_ioctl (Depends-on): Add c++defs.
12324         (Makefile.am): Update sys/ioctl.h rule.
12325
12326         string: Avoid #define replacements in C++ mode.
12327         * lib/string.in.h: Include c++defs.h.
12328         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
12329         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
12330         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
12331         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
12332         strsignal, strverscmp): In C++, define a namespaced alias symbol.
12333         * modules/string (Depends-on): Add c++defs.
12334         (Makefile.am): Update string.h rule.
12335
12336         stdlib: Avoid #define replacements in C++ mode.
12337         * lib/stdlib.in.h: Include c++defs.h.
12338         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
12339         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
12340         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
12341         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
12342         symbol.
12343         * modules/stdlib (Depends-on): Add c++defs.
12344         (Makefile.am): Update stdlib.h rule.
12345
12346         stdio: Avoid #define replacements in C++ mode.
12347         * lib/stdio.in.h: Include c++defs.h.
12348         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
12349         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
12350         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
12351         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
12352         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
12353         namespaced alias symbol.
12354         * modules/stdio (Depends-on): Add c++defs.
12355         (Makefile.am): Update stdio.h rule.
12356
12357         spawn: Avoid #define replacements in C++ mode.
12358         * lib/spawn.in.h: Include c++defs.h.
12359         (posix_spawn, posix_spawnp, posix_spawnattr_init,
12360         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
12361         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
12362         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
12363         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
12364         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
12365         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
12366         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
12367         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
12368         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
12369         In C++, define a namespaced alias symbol.
12370         * modules/spawn (Depends-on): Add c++defs.
12371         (Makefile.am): Update spawn.h rule.
12372
12373         signal: Avoid #define replacements in C++ mode.
12374         * lib/signal.in.h: Include c++defs.h.
12375         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
12376         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
12377         namespaced alias symbol.
12378         * modules/signal (Depends-on): Add c++defs.
12379         (Makefile.am): Update signal.h rule.
12380
12381         search: Avoid #define replacements in C++ mode.
12382         * lib/search.in.h: Include c++defs.h.
12383         (_gl_search_compar_fn, _gl_search_action_fn): New types.
12384         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
12385         symbol.
12386         * modules/search (Depends-on): Add c++defs.
12387         (Makefile.am): Update search.h rule.
12388
12389         math: Avoid #define replacements in C++ mode.
12390         * lib/math.in.h: Include c++defs.h.
12391         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
12392         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
12393         trunc, truncl): In C++, define a namespaced alias symbol.
12394         * modules/math (Depends-on): Add c++defs.
12395         (Makefile.am): Update math.h rule.
12396
12397         locale: Avoid #define replacements in C++ mode.
12398         * lib/locale.in.h: Include c++defs.h.
12399         (duplocale): In C++, define a namespaced alias symbol.
12400         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
12401         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
12402         * modules/locale (Depends-on): Add c++defs.
12403         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
12404
12405         langinfo: Avoid #define replacements in C++ mode.
12406         * lib/langinfo.in.h: Include c++defs.h.
12407         (nl_langinfo): In C++, define a namespaced alias symbol.
12408         * modules/langinfo (Depends-on): Add c++defs.
12409         (Makefile.am): Update langinfo.h rule.
12410
12411         iconv-h: Avoid #define replacements in C++ mode.
12412         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
12413         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
12414         symbol.
12415         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
12416         whenever iconv is present.
12417         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
12418         (Makefile.am): Update iconv.h rule.
12419
12420         glob: Avoid #define replacements in C++ mode.
12421         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
12422         (_gl_glob_errfunc_fn): New type.
12423         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
12424         symbol.
12425         * modules/glob (Depends-on): Add c++defs, warn-on-use.
12426         (Makefile.am): Update glob.h rule.
12427
12428         fcntl-h: Avoid #define replacements in C++ mode.
12429         * lib/fcntl.in.h: Include c++defs.h.
12430         (fcntl, open, openat): In C++, define a namespaced alias symbol.
12431         * modules/fcntl-h (Depends-on): Add c++defs.
12432         (Makefile.am): Update fcntl.h rule.
12433
12434         dirent: Avoid #define replacements in C++ mode.
12435         * lib/dirent.in.h: Include c++defs.h.
12436         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
12437         namespaced alias symbol.
12438         (dirfd): Update declaration.
12439         * modules/dirent (Depends-on): Add c++defs.
12440         (Makefile.am): Update dirent.h rule.
12441
12442         ctype: Make it usable in C++ code.
12443         * lib/ctype.in.h: Include c++defs.h.
12444         (isblank): Declare as extern "C".
12445         * modules/ctype (Depends-on): Add c++defs.
12446         (Makefile.am): Update ctype.h rule.
12447
12448         New module 'c++defs'.
12449         * modules/c++defs: New file.
12450         * build-aux/c++defs.h: New file.
12451         Reported by John W. Eaton <jwe@gnu.org>.
12452
12453 2010-03-07  Bruno Haible  <bruno@clisp.org>
12454
12455         logb: Provide missing declaration for Cygwin.
12456         * lib/math.in.h (logb): New declaration.
12457         * m4/logb.m4: New file.
12458         * modules/logb (Files): Add m4/logb.m4.
12459         (Depends-on): Add math.
12460         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
12461         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
12462         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
12463         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
12464         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
12465
12466 2010-03-07  Bruno Haible  <bruno@clisp.org>
12467
12468         Fix test-cond link error.
12469         * tests/test-cond.c: Include <stdio.h>.
12470
12471 2010-03-07  Bruno Haible  <bruno@clisp.org>
12472
12473         Fix test-dirent-safer link error.
12474         * modules/dirent-safer-tests (Makefile.am): Define
12475         test_dirent_safer_LDADD.
12476
12477 2010-03-07  Bruno Haible  <bruno@clisp.org>
12478
12479         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
12480         among default module list.
12481
12482 2010-03-07  Bruno Haible  <bruno@clisp.org>
12483
12484         Fix link error on platforms with GNU libiconv.
12485         * modules/unistr/u8-strcoll-tests (Makefile): Define
12486         test_u8_strcoll_LDADD.
12487         * modules/unistr/u16-strcoll-tests (Makefile): Define
12488         test_u16_strcoll_LDADD.
12489         * modules/unistr/u32-strcoll-tests (Makefile): Define
12490         test_u32_strcoll_LDADD.
12491
12492 2010-03-07  Bruno Haible  <bruno@clisp.org>
12493
12494         Use POSIX declarations for socket functions.
12495         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
12496         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
12497         rpl_sendto): Change declaration to match POSIX.
12498         * lib/connect.c (rpl_connect): Likewise.
12499         * lib/accept.c (rpl_accept): Likewise.
12500         * lib/bind.c (rpl_bind): Likewise.
12501         * lib/getpeername.c (rpl_getpeername): Likewise.
12502         * lib/getsockname.c (rpl_getsockname): Likewise.
12503         * lib/recv.c (rpl_recv): Likewise.
12504         * lib/send.c (rpl_send): Likewise.
12505         * lib/recvfrom.c (rpl_recvfrom): Likewise.
12506         * lib/sendto.c (rpl_sendto): Likewise.
12507
12508 2010-03-06  Bruno Haible  <bruno@clisp.org>
12509
12510         Clarify access, euidaccess, faccessat.
12511         * doc/posix-functions/faccessat.texi: Mention security problem under
12512         "Other problems", not "Portability problems".
12513         * doc/posix-functions/access.texi: Likewise. Mention a related security
12514         problem.
12515         * doc/glibc-functions/euidaccess.texi: Mention security problems.
12516         * lib/euidaccess.c: Add comments about platforms.
12517         * lib/unistd.in.h (access, euidaccess): Add warnings.
12518
12519 2010-03-07  Bruno Haible  <bruno@clisp.org>
12520
12521         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
12522         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
12523         (POSIX_SPAWN_SETSCHEDULER): Likewise.
12524         (POSIX_SPAWN_USEVFORK): Define in a way that works when
12525         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
12526         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
12527         declare when POSIX_SPAWN_SETSCHEDULER is zero.
12528         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
12529         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
12530         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
12531         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
12532         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
12533         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
12534         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
12535         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
12536         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
12537         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
12538         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
12539         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
12540         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
12541         Likewise.
12542         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
12543         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
12544         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
12545         Likewise.
12546         * tests/test-spawn.c (main): Make it work when
12547         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
12548
12549 2010-03-07  Bruno Haible  <bruno@clisp.org>
12550
12551         Fix incorrect Makefile.am generation in German locale.
12552         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12553         Execute sed command with character range in C locale.
12554
12555 2010-03-06  Bruno Haible  <bruno@clisp.org>
12556
12557         Tests for module 'iconv-h'.
12558         * modules/iconv-h-tests: New file.
12559         * tests/test-iconv-h.c: New file.
12560
12561         New module 'iconv-h'.
12562         * modules/iconv-h: New file.
12563         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
12564         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
12565         (configure.ac): Remove gl_ICONV_H.
12566         (Makefile.am): Remove rule for iconv.h.
12567
12568 2010-03-06  Bruno Haible  <bruno@clisp.org>
12569
12570         More consistent naming of *.m4 files.
12571         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
12572         * modules/wctype (Files): Update.
12573
12574         More consistent naming of *.m4 files.
12575         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
12576         * modules/wchar (Files): Update.
12577
12578 2010-03-06  Jim Meyering  <meyering@redhat.com>
12579
12580         euidaccess: relax license to LGPLv2+
12581         * modules/euidaccess (License): Relax to LGPLv2+.
12582
12583 2010-03-06  Bruno Haible  <bruno@clisp.org>
12584
12585         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
12586         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
12587         (Makefile.am): Augment lib_SOURCES instead.
12588
12589 2010-03-04  Jim Meyering  <meyering@redhat.com>
12590
12591         utime: remove obsolete module
12592         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
12593         unnecessary for years, and has been marked as obsolete for 10 months.
12594         * modules/utime: Remove file.
12595         * lib/utime.c: Remove file.
12596         * m4/utime.m4: Remove file.
12597         * m4/utimes-null.m4: Remove file.
12598         * doc/posix-functions/utime.texi (utime): Remove reference to
12599         the module.  Move the sole "fixed by gnulib" item into the
12600         "problems not fixed by Gnulib" list.
12601         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
12602
12603 2010-03-05  Simon Josefsson  <simon@josefsson.org>
12604
12605         * modules/exit (License): Relax license to LGPLv2+.
12606         (Status): Mark as obsolete.
12607         * NEWS: Mention deprecated 'exit' module.
12608         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
12609         of now obsolete 'exit'.
12610
12611 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12612
12613         fts-lgpl: remove unused module
12614         * modules/fts-lgpl: Remove.
12615         * MODULES.html.sh (func_all_modules): Adjust.
12616         * check-module (find_included_lib_files): Adjust.
12617         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
12618
12619 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
12620
12621         copy-acl: enhance Solaris ACL error handling
12622         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
12623         * lib/set-mode-acl.c (qset_acl): Likewise.
12624
12625 2010-03-02  Bruno Haible  <bruno@clisp.org>
12626
12627         spawn: Don't override the system defined values on FreeBSD 8.
12628         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
12629         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
12630         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
12631         if HAVE_POSIX_SPAWN is 1.
12632         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
12633
12634 2010-03-01  Bruno Haible  <bruno@clisp.org>
12635
12636         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
12637         regarding Automake.
12638
12639 2010-02-25  Bruno Haible  <bruno@clisp.org>
12640
12641         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
12642         * gnulib-tool: Define 'echo' as a function only before the ksh alias
12643         setting, not afterwards.
12644         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
12645
12646 2010-02-24  Eric Blake  <eblake@redhat.com>
12647
12648         bootstrap, git-version-gen: use timestamp
12649         * build-aux/git-version-gen (scriptversion): Force UTC.
12650         * build-aux/bootstrap (scriptversion): New variable.
12651
12652         bootstrap: allow older git
12653         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
12654         older than 1.6.4.  Requested by the libvirt project.
12655
12656 2010-02-23  Eric Blake  <eblake@redhat.com>
12657
12658         warn-on-use: work with old autoconf
12659         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
12660         AS_VAR semantics of autoconf 2.60.
12661         Reported by Bruno Haible.
12662
12663         bootstrap: improve some comments
12664         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
12665         clarification comments.
12666
12667         gettimeofday: provide correct function
12668         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
12669         when replacement is declared, otherwise provide gettimeofday.
12670         Reported by Michael Goffioul.
12671
12672 2010-02-23  Jim Meyering  <meyering@redhat.com>
12673
12674         lib-ignore: relax license to "unlimited", not LGPLv2+
12675         * modules/lib-ignore (License): Relax to "unlimited".
12676
12677 2010-02-23  Jim Meyering  <meyering@redhat.com>
12678
12679         lib-ignore: relax license to LGPLv2+
12680         * modules/lib-ignore (License): Relax to LGPLv2+.
12681
12682 2010-02-22  Eric Blake  <eblake@redhat.com>
12683
12684         lseek: avoid bash 3.2 broken pipe bug
12685         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
12686         warning from bash 3.2.
12687         Reported by Ben Pfaff, with analysis from Bruno Haible.
12688
12689         bootstrap: support non-FSF copyright holder
12690         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
12691         bootstrap.conf override of COPYRIGHT_HOLDER.
12692         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
12693
12694         bootstrap: interoperate with gettext 0.14.1
12695         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
12696
12697         bootstrap: allow for alternate submodule location
12698         * build-aux/bootstrap (gnulib_path): New variable; use instead of
12699         hardcoding submodule location.
12700         (gnulib_mk): Allow direct use of Makefile.am.
12701
12702         bootstrap: use GNULIB_SRCDIR to reduce disk usage
12703         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
12704         rather than reconfiguring where the submodule points.
12705
12706         gettimeofday: restore support for platforms that lack function
12707         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
12708         replacement if function is missing.
12709         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
12710         * modules/sys_time (Makefile.am): Substitute it.
12711         * lib/sys_time.in.h (gettimeofday): Check it.
12712         Reported by Michael Goffioul.
12713
12714 2010-02-21  Bruno Haible  <bruno@clisp.org>
12715
12716         * lib/stdio.in.h (obstack_printf): Fix typo.
12717
12718 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
12719
12720         vc-list-files: use bzr ls's -R option
12721         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
12722         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
12723
12724 2010-02-21  Jim Meyering  <meyering@redhat.com>
12725
12726         init.sh: fix EXEEXT shims to work also for names like test-prog
12727         * tests/init.sh: Re-exec a better shell, when needed.
12728         If the current shell lacks support for posix $(...), an init.sh-using
12729         test will now try to find a shell that supports that.  If EXEEXT is
12730         nonempty, we also require support for hyphen-in-alias-name and shell
12731         substitutions like ${var#glob}.  Failure to find such a shell results
12732         in a skipped test.
12733
12734 2010-02-21  Bruno Haible  <bruno@clisp.org>
12735
12736         Really work around around "broken pipe" error message from bash 3.2.
12737         * gnulib-tool (func_reset_sigpipe): Remove function.
12738         (echo): In bash 3.2, define to a function that uses printf.
12739         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
12740
12741 2010-02-20  Bruno Haible  <bruno@clisp.org>
12742
12743         Restore support for automake 1.9.6 with autoconf 2.61.
12744         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
12745         Reported by James Youngman <jay@gnu.org>.
12746
12747 2010-02-20  Bruno Haible  <bruno@clisp.org>
12748
12749         Improve *printf warning condition.
12750         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
12751         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
12752         and the function is overridden due to SIGPIPE emulation.
12753
12754 2010-02-20  Bruno Haible  <bruno@clisp.org>
12755
12756         * lib/stdio.in.h: Tweak comments.
12757
12758 2010-02-19  Bruno Haible  <bruno@clisp.org>
12759
12760         Make it easier to find modules. New gnulib-tool option '--find'.
12761         * gnulib-tool: New option --find.
12762         (func_usage): Document it.
12763         (func_sanitize_modulelist): New function, extracted from
12764         func_all_modules.
12765         (func_all_modules): Invoke it.
12766         * doc/gnulib-tool.texi (Which modules?): New node.
12767
12768 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
12769
12770         * lib/sys_select.in.h: Provide select replacement even if
12771         sys/select.h exists on a system, for Interix.
12772
12773 2010-02-18  Jim Meyering  <meyering@redhat.com>
12774
12775         init.sh: don't use $(...) just yet
12776         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
12777         to accommodate e.g., Solaris' /bin/sh.
12778
12779 2010-02-17  Bruno Haible  <bruno@clisp.org>
12780
12781         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
12782         Reported by Ludovic Courtès <ludo@gnu.org>.
12783
12784 2010-02-16  Simon Josefsson  <simon@josefsson.org>
12785
12786         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
12787         linking with -lintl.
12788
12789 2010-02-17  Simon Josefsson  <simon@josefsson.org>
12790
12791         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
12792         if not provided by the system's netdb.h.  Reported by
12793         ludo@gnu.org (Ludovic Courtès).
12794
12795 2010-02-15  Jim Meyering  <meyering@redhat.com>
12796
12797         init.sh: improve portability and efficiency
12798         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
12799         "dummy" in a for loop.
12800         Use '!', not '^' to select the complement of a character set used
12801         in a "case" statement.
12802         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
12803         Suggestions from Eric Blake.
12804
12805         init.sh: automatically accommodate programs with the .exe suffix
12806         Automatically arrange for an invocation of "prog" to execute the
12807         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
12808         may use the simpler "prog", yet still work when built on a system
12809         that requires specifying the added suffix.
12810         Do this by constructing a function named "prog" that invokes
12811         "prog.exe" for each .exe file in selected directories.
12812         * tests/init.sh (find_exe_basenames_): New function.
12813         (create_exe_shim_functions_): New function.
12814         (path_prepend_): Use it.
12815
12816         maint.mk: mark syntax-check sc_*.m rules as .PHONY
12817         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
12818         "make -t syntax-check" doesn't create a ton of sc_*.m files.
12819
12820 2010-02-14  Jim Meyering  <meyering@redhat.com>
12821
12822         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
12823         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
12824         (sc_prohibit_hash_pjw_without_use): New rule.
12825
12826         maint.mk: allow the default upload destination dir to be overridden
12827         * top/maint.mk (upload_dest_dir_): Define with a default that
12828         preserves the status quo.
12829         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
12830         Reported by Peter Simons.
12831
12832         maint.mk: prohibit inclusion of "hash.h" without_use
12833         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
12834
12835 2010-02-10  Jim Meyering  <meyering@redhat.com>
12836
12837         maint.mk: prohibit inclusion of "ignore-value.h" without_use
12838         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
12839
12840 2010-02-09  Eric Blake  <ebb9@byu.net>
12841         and Bruno Haible  <bruno@clisp.org>
12842
12843         obstack-printf-posix: ensure declaration
12844         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
12845         extracted from gl_FUNC_OBSTACK_PRINTF.
12846         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
12847         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
12848         Likewise.
12849         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
12850         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
12851         0.
12852
12853 2010-02-08  Bruno Haible  <bruno@clisp.org>
12854
12855         gnulib-tool: Fix typo in 2010-02-07 commit.
12856         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
12857         Reported by Eric Blake.
12858
12859 2010-02-07  Bruno Haible  <bruno@clisp.org>
12860
12861         gnulib-tool: Fix up caching patches.
12862         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
12863         option --no-cache. Use associative arrays when supported by the shell.
12864         (sed_comments): New variable.
12865         (modcache): Renamed from do_cache.
12866         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
12867         abbreviate unnecessarily.
12868         (have_associative): New variable.
12869         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
12870         way also for ksh and zsh.
12871         (func_init_sed_convert_to_cache_statements): New function, extracted
12872         from func_cache_lookup_module. Add support for associative arrays.
12873         Don't set the c_MODULE_cached variable here. Ignore all lines before
12874         the first field header. Remove only the final newline, not all trailing
12875         newlines. Support empty fields correctly. Limit the use of 'eval' to
12876         assignments.
12877         (func_get_description, func_get_status, func_get_notice,
12878         func_get_applicability, func_get_filelist, func_get_dependencies,
12879         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
12880         func_get_automake_snippet, func_get_include_directive,
12881         func_get_link_directive, func_get_license, func_get_maintainer):
12882         Update documentation. List the unoptimized code first. Add support for
12883         associative arrays. Limit the use of 'eval' to assignments.
12884         (func_get_applicability): Undo stylistic pessimisations.
12885         (func_get_automake_snippet, func_get_include_directive): Reduce code
12886         duplication.
12887         (func_modules_transitive_closure, func_modules_add_dummy,
12888         func_modules_notice, func_modules_to_filelist, func_add_file,
12889         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
12890         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
12891         func_create_testdir, func_create_megatestdir): Update documentation.
12892
12893 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12894
12895         * gnulib-tool (func_cache_lookup_module): Store the module name
12896         belonging to the cache variable; error out if two different
12897         module names map to the same cache variable name.
12898
12899 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12900
12901         gnulib-tool: Make caching optional.
12902         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
12903         Update matching short versions of --no-changelog.
12904         (func_usage): Update.
12905         (sed_extract_cache_prog): Renamed from ...
12906         (sed_extract_prog): ... this; revert to old extraction script.
12907         (func_get_description, func_get_status)
12908         (func_get_notice, func_get_applicability, func_get_filelist)
12909         (func_get_dependencies, func_get_autoconf_early_snippet)
12910         (func_get_autoconf_snippet, func_get_automake_snippet)
12911         (func_get_include_directive, func_get_link_directive)
12912         (func_get_license, func_get_maintainer): If $do_cache is false,
12913         use old, non-caching extraction scripts.
12914         Suggestion by Bruno Haible.
12915
12916 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12917
12918         gnulib-tool: cache module metainformation.
12919         * gnulib-tool (sed_extract_prog): Match newline before each
12920         header, and rewrite header to a shell variable suffix.
12921         (func_cache_var, func_cache_lookup_module): New functions,
12922         to turn a module name into a cache variable prefix, and to
12923         look up and cache module metainformation.
12924         (func_get_description, func_get_status)
12925         (func_get_notice, func_get_applicability, func_get_filelist)
12926         (func_get_dependencies, func_get_autoconf_early_snippet)
12927         (func_get_autoconf_snippet, func_get_automake_snippet)
12928         (func_get_include_directive, func_get_link_directive)
12929         (func_get_license, func_get_maintainer): Use
12930         func_cache_lookup_module.
12931
12932 2010-02-07  Bruno Haible  <bruno@clisp.org>
12933
12934         fnctl: Fix missing dependency.
12935         * modules/fcntl (Depends-on): Add getdtablesize.
12936         Reported by John W. Eaton <jwe@gnu.org>.
12937
12938 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
12939
12940         Argp: fix recognition of short alias options.
12941
12942         * lib/argp-parse.c (convert_options): Fix improper use of
12943         `|' between character values.
12944         * tests/test-argp.c (group1_option): New alias option
12945         --read (-r).
12946         (group1_parser): Special handling for 'r'.
12947         (test15): New test case.
12948         (test_fun): Add test15.
12949         * tests/test-argp-2.sh: Update expected --help and --usage
12950         outputs.
12951
12952 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
12953
12954         * tests/test-argp.c: Fix indentation.
12955
12956 2010-02-04  Eric Blake  <ebb9@byu.net>
12957
12958         gettimeofday: expose type of second argument
12959         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
12960         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
12961         * tests/test-gettimeofday.c: Use it to silence warning.
12962         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
12963         the issue.
12964
12965 2010-02-03  Jim Meyering  <meyering@redhat.com>
12966
12967         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
12968         * lib/regcomp.c (TYPE_SIGNED): Define.
12969         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
12970
12971         regcomp.c: avoid a new -Wshadow warning
12972         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
12973
12974 2010-02-01  Jim Meyering  <meyering@redhat.com>
12975
12976         removing useless parentheses in cpp #define directives
12977         For motivation, see commit c0221df4, "define STREQ(a,b)
12978         consistently, removing useless parentheses"
12979         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
12980         * lib/mountlist.c (MNT_IGNORE): Likewise.
12981         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
12982
12983 2010-02-01  Eric Blake  <ebb9@byu.net>
12984
12985         sys_time: use link-warning
12986         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
12987         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
12988         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
12989         * modules/sys_time (Depends-on): Add warn-on-use.
12990         (Makefile.am): Always build replacement.
12991         (configure.ac): Update substitutions.
12992         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
12993         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
12994         bother with SYS_TIME_H.
12995         * modules/gettimeofday (configure.ac): Declare indicator.
12996         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
12997         in use.
12998
12999         closein-tests: silence compiler warning
13000         * tests/test-closein.c (main): Ignore fread result.
13001         * modules/closein-tests (Depends-on): Add ignore-value.
13002
13003         tests: silence warning about system return
13004         * tests/test-areadlink-with-size.c (main): Ignore system result.
13005         * tests/test-areadlink.c (main): Likewise.
13006         * tests/test-areadlinkat-with-size.c (main): Likewise.
13007         * tests/test-areadlinkat.c (main): Likewise.
13008         * tests/test-canonicalize-lgpl.c (main): Likewise.
13009         * tests/test-canonicalize.c (main): Likewise.
13010         * tests/test-chown.c (main): Likewise.
13011         * tests/test-fchownat.c (main): Likewise.
13012         * tests/test-fdutimensat.c (main): Likewise.
13013         * tests/test-fstatat.c (main): Likewise.
13014         * tests/test-futimens.c (main): Likewise.
13015         * tests/test-lchown.c (main): Likewise.
13016         * tests/test-link.c (main): Likewise.
13017         * tests/test-linkat.c (main): Likewise.
13018         * tests/test-lstat.c (main): Likewise.
13019         * tests/test-mkdir.c (main): Likewise.
13020         * tests/test-mkdirat.c (main): Likewise.
13021         * tests/test-mkfifo.c (main): Likewise.
13022         * tests/test-mkfifoat.c (main): Likewise.
13023         * tests/test-mknod.c (main): Likewise.
13024         * tests/test-readlink.c (main): Likewise.
13025         * tests/test-remove.c (main): Likewise.
13026         * tests/test-rename.c (main): Likewise.
13027         * tests/test-renameat.c (main): Likewise.
13028         * tests/test-rmdir.c (main): Likewise.
13029         * tests/test-symlink.c (main): Likewise.
13030         * tests/test-symlinkat.c (main): Likewise.
13031         * tests/test-unlink.c (main): Likewise.
13032         * tests/test-unlinkat.c (main): Likewise.
13033         * tests/test-utimens.c (main): Likewise.
13034         * tests/test-utimensat.c (main): Likewise.
13035         * modules/areadlink-tests (Depends-on): Add ignore-value.
13036         * modules/areadlink-with-size-tests (Depends-on): Likewise.
13037         * modules/areadlinkat-tests (Depends-on): Likewise.
13038         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
13039         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
13040         * modules/canonicalize-tests (Depends-on): Likewise.
13041         * modules/chown-tests (Depends-on): Likewise.
13042         * modules/fdutimensat-tests (Depends-on): Likewise.
13043         * modules/futimens-tests (Depends-on): Likewise.
13044         * modules/lchown-tests (Depends-on): Likewise.
13045         * modules/link-tests (Depends-on): Likewise.
13046         * modules/linkat-tests (Depends-on): Likewise.
13047         * modules/lstat-tests (Depends-on): Likewise.
13048         * modules/mkdir-tests (Depends-on): Likewise.
13049         * modules/mkfifo-tests (Depends-on): Likewise.
13050         * modules/mkfifoat-tests (Depends-on): Likewise.
13051         * modules/mknod-tests (Depends-on): Likewise.
13052         * modules/openat-tests (Depends-on): Likewise.
13053         * modules/readlink-tests (Depends-on): Likewise.
13054         * modules/remove-tests (Depends-on): Likewise.
13055         * modules/rename-tests (Depends-on): Likewise.
13056         * modules/renameat-tests (Depends-on): Likewise.
13057         * modules/rmdir-tests (Depends-on): Likewise.
13058         * modules/symlink-tests (Depends-on): Likewise.
13059         * modules/symlinkat-tests (Depends-on): Likewise.
13060         * modules/unlink-tests (Depends-on): Likewise.
13061         * modules/utimens-tests (Depends-on): Likewise.
13062         * modules/utimensat-tests (Depends-on): Likewise.
13063
13064 2010-01-31  Bruno Haible  <bruno@clisp.org>
13065
13066         Perform the same test for many <math.h> functions.
13067         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
13068         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
13069         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
13070         of gl_MATHFUNC.
13071         * modules/acos (configure.ac): Likewise.
13072         * modules/asin (configure.ac): Likewise.
13073         * modules/atan (configure.ac): Likewise.
13074         * modules/atan2 (configure.ac): Likewise.
13075         * modules/cbrt (configure.ac): Likewise.
13076         * modules/copysign (configure.ac): Likewise.
13077         * modules/cos (configure.ac): Likewise.
13078         * modules/cosh (configure.ac): Likewise.
13079         * modules/erf (configure.ac): Likewise.
13080         * modules/erfc (configure.ac): Likewise.
13081         * modules/exp (configure.ac): Likewise.
13082         * modules/fmod (configure.ac): Likewise.
13083         * modules/hypot (configure.ac): Likewise.
13084         * modules/j0 (configure.ac): Likewise.
13085         * modules/j1 (configure.ac): Likewise.
13086         * modules/jn (configure.ac): Likewise.
13087         * modules/lgamma (configure.ac): Likewise.
13088         * modules/log (configure.ac): Likewise.
13089         * modules/log10 (configure.ac): Likewise.
13090         * modules/log1p (configure.ac): Likewise.
13091         * modules/pow (configure.ac): Likewise.
13092         * modules/remainder (configure.ac): Likewise.
13093         * modules/sin (configure.ac): Likewise.
13094         * modules/sinh (configure.ac): Likewise.
13095         * modules/tan (configure.ac): Likewise.
13096         * modules/tanh (configure.ac): Likewise.
13097         * modules/y0 (configure.ac): Likewise.
13098         * modules/y1 (configure.ac): Likewise.
13099         * modules/yn (configure.ac): Likewise.
13100         Suggested by Paolo Bonzini.
13101
13102 2010-01-31  Bruno Haible  <bruno@clisp.org>
13103
13104         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
13105
13106 2010-01-31  Bruno Haible  <bruno@clisp.org>
13107
13108         Work around getdelim() bug on FreeBSD 8.0.
13109         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
13110         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
13111         not work.
13112         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
13113         is 1.
13114         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
13115         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
13116         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
13117         a non-zero size.
13118         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
13119
13120 2010-01-31  Bruno Haible  <bruno@clisp.org>
13121
13122         Work around getline() bug on FreeBSD 8.0.
13123         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
13124         and a non-zero size.
13125         * tests/test-getline.c (main): Likewise.
13126         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
13127         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
13128
13129 2010-01-28  Eric Blake  <ebb9@byu.net>
13130
13131         regex: fix build failure
13132         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
13133         platforms.
13134
13135 2010-01-28  Jim Meyering  <meyering@redhat.com>
13136
13137         regex: do not ignore memory allocation failure
13138         * lib/regex_internal.c (create_cd_newstate): Detect
13139         re_node_set_init_copy failure.   Extracted from glibc commit
13140         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
13141
13142         regex: sync more white-space changes from libc
13143         * lib/regex_internal.c: White-space only changes.
13144         * lib/regexec.c: Likewise.
13145
13146         regex: add many uses of __attribute_warn_unused_result__
13147         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
13148         * lib/regexec.c: Likewise.
13149         Extracted from a messy glibc commit.
13150
13151         regcomp.c: spelling and merge-artifact from glibc
13152         * lib/regcomp.c: Merge remainder of glibc's
13153         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
13154
13155         regcomp.c: sync white-space changes from glibc
13156         * lib/regcomp.c: Merge to accommodate white space
13157         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
13158
13159         regcomp.c: do not ignore internal return values
13160         * lib/regcomp.c: Do not ignore internal return values.
13161         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
13162         but without its white-space changes and spelling fixes.
13163
13164         regex_internal.h: define __attribute_warn_unused_result__
13165         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
13166
13167         maint: add a syntax-check rule to check for vulnerable Makefile.in
13168         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
13169
13170 2010-01-27  Jim Meyering  <meyering@redhat.com>
13171
13172         ncftpput-ftp: clean up spaces
13173         * build-aux/ncftpput-ftp: Make Copyright line consistent.
13174         Remove trailing blanks.
13175
13176 2010-01-27  Simon Josefsson  <simon@josefsson.org>
13177
13178         * build-aux/git-version-gen: Fix copyright statement.
13179         * build-aux/gnupload: Likewise.
13180         * tests/test-arcfour.c: Likewise.
13181         * tests/test-arctwo.c: Likewise.
13182         * tests/test-count-one-bits.c: Likewise.
13183         * tests/test-crc.c: Likewise.
13184         * tests/test-des.c: Likewise.
13185         * tests/test-gc-arcfour.c: Likewise.
13186         * tests/test-gc-arctwo.c: Likewise.
13187         * tests/test-gc-des.c: Likewise.
13188         * tests/test-gc-hmac-md5.c: Likewise.
13189         * tests/test-gc-hmac-sha1.c: Likewise.
13190         * tests/test-gc-md2.c: Likewise.
13191         * tests/test-gc-md4.c: Likewise.
13192         * tests/test-gc-md5.c: Likewise.
13193         * tests/test-gc-pbkdf2-sha1.c: Likewise.
13194         * tests/test-gc-rijndael.c: Likewise.
13195         * tests/test-gc-sha1.c: Likewise.
13196         * tests/test-gc.c: Likewise.
13197         * tests/test-gethostname.c: Likewise.
13198         * tests/test-gettimeofday.c: Likewise.
13199         * tests/test-hash.c: Likewise.
13200         * tests/test-hmac-md5.c: Likewise.
13201         * tests/test-hmac-sha1.c: Likewise.
13202         * tests/test-md2.c: Likewise.
13203         * tests/test-md4.c: Likewise.
13204         * tests/test-md5.c: Likewise.
13205         * tests/test-memchr.c: Likewise.
13206         * tests/test-memchr2.c: Likewise.
13207         * tests/test-memcmp.c: Likewise.
13208         * tests/test-memmem.c: Likewise.
13209         * tests/test-memrchr.c: Likewise.
13210         * tests/test-rawmemchr.c: Likewise.
13211         * tests/test-read-file.c: Likewise.
13212         * tests/test-rijndael.c: Likewise.
13213         * tests/test-sockets.c: Likewise.
13214         * tests/test-strchrnul.c: Likewise.
13215         * tests/test-strstr.c: Likewise.
13216         * tests/test-strtod.c: Likewise.
13217         * build-aux/ncftpput-ftp: Likewise.
13218
13219 2010-01-26  Eric Blake  <ebb9@byu.net>
13220
13221         ignore-value: update recommended header name
13222         * modules/ignore-value (Include): Only use <> for headers that
13223         exist in glibc.
13224
13225 2010-01-26  Jim Meyering  <meyering@redhat.com>
13226
13227         test-userspec.c: avoid compiler warnings
13228         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
13229         and "initialization discards qualifiers..." warnings.
13230         Put the first "uid" in its own scope, and make char* members "const".
13231
13232 2010-01-25  Bruno Haible  <bruno@clisp.org>
13233
13234         gnulib-tool: Make warning diagnostics consistent.
13235         * gnulib-tool (func_warning): New function.
13236         Use it everywhere where gnulib-tool produces output to stderr and it is
13237         not a fatal error.
13238
13239 2010-01-25  Bruno Haible  <bruno@clisp.org>
13240
13241         Fix test dependencies.
13242         * modules/xstrtol-tests (Depends-on): Add inttypes.
13243         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
13244
13245 2010-01-25 Pádraig Brady <P@draigBrady.com>
13246
13247         syntax-check: detect incorrect boolean macro values in config.h
13248         * modules/maintainer-makefile (configure.ac): Parameterize the location
13249         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
13250         The logic is from Eric Blake and the location indicated by Jim Meyering.
13251         Note the more natural CONFIG_HEADER name is prohibited by automake
13252         for backwards compatibility reasons.
13253         * top/maint.mk (sc_Wundef_boolean): New rule.
13254
13255 2010-01-25  Jim Meyering  <meyering@redhat.com>
13256
13257         bootstrap: detect MacOS 10.6's shasum, too
13258         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
13259         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
13260
13261 2010-01-23  Jim Meyering  <meyering@redhat.com>
13262
13263         xstrtoll: new module
13264         * modules/xstrtoll: New file.
13265         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
13266         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
13267         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
13268         ./configure fails if you use this module and lack "long long".
13269         * modules/xstrtoll-tests: New module.
13270         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
13271         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
13272         new init.sh-based test framework.
13273
13274 2010-01-24  Bruno Haible  <bruno@clisp.org>
13275
13276         Tests for module 'yn'.
13277         * modules/yn-tests: New file.
13278         * tests/test-yn.c: New file.
13279
13280         Tests for module 'y1'.
13281         * modules/y1-tests: New file.
13282         * tests/test-y1.c: New file.
13283
13284         Tests for module 'y0'.
13285         * modules/y0-tests: New file.
13286         * tests/test-y0.c: New file.
13287
13288         Tests for module 'tanh'.
13289         * modules/tanh-tests: New file.
13290         * tests/test-tanh.c: New file.
13291
13292         Tests for module 'tan'.
13293         * modules/tan-tests: New file.
13294         * tests/test-tan.c: New file.
13295
13296         Tests for module 'sqrt'.
13297         * modules/sqrt-tests: New file.
13298         * tests/test-sqrt.c: New file.
13299
13300         Tests for module 'sinh'.
13301         * modules/sinh-tests: New file.
13302         * tests/test-sinh.c: New file.
13303
13304         Tests for module 'sin'.
13305         * modules/sin-tests: New file.
13306         * tests/test-sin.c: New file.
13307
13308         Tests for module 'rint'.
13309         * modules/rint-tests: New file.
13310         * tests/test-rint.c: New file.
13311
13312         Tests for module 'remainder'.
13313         * modules/remainder-tests: New file.
13314         * tests/test-remainder.c: New file.
13315
13316         Tests for module 'pow'.
13317         * modules/pow-tests: New file.
13318         * tests/test-pow.c: New file.
13319
13320         Tests for module 'nextafter'.
13321         * modules/nextafter-tests: New file.
13322         * tests/test-nextafter.c: New file.
13323
13324         Tests for module 'modf'.
13325         * modules/modf-tests: New file.
13326         * tests/test-modf.c: New file.
13327
13328         Tests for module 'logb'.
13329         * modules/logb-tests: New file.
13330         * tests/test-logb.c: New file.
13331
13332         Tests for module 'log1p'.
13333         * modules/log1p-tests: New file.
13334         * tests/test-log1p.c: New file.
13335
13336         Tests for module 'log10'.
13337         * modules/log10-tests: New file.
13338         * tests/test-log10.c: New file.
13339
13340         Tests for module 'log'.
13341         * modules/log-tests: New file.
13342         * tests/test-log.c: New file.
13343
13344         Tests for module 'lgamma'.
13345         * modules/lgamma-tests: New file.
13346         * tests/test-lgamma.c: New file.
13347
13348         Tests for module 'ldexp'.
13349         * modules/ldexp-tests: New file.
13350         * tests/test-ldexp.c: New file.
13351
13352         Tests for module 'jn'.
13353         * modules/jn-tests: New file.
13354         * tests/test-jn.c: New file.
13355
13356         Tests for module 'j1'.
13357         * modules/j1-tests: New file.
13358         * tests/test-j1.c: New file.
13359
13360         Tests for module 'j0'.
13361         * modules/j0-tests: New file.
13362         * tests/test-j0.c: New file.
13363
13364         Tests for module 'hypot'.
13365         * modules/hypot-tests: New file.
13366         * tests/test-hypot.c: New file.
13367
13368         Tests for module 'fmod'.
13369         * modules/fmod-tests: New file.
13370         * tests/test-fmod.c: New file.
13371
13372         Tests for module 'fabs'.
13373         * modules/fabs-tests: New file.
13374         * tests/test-fabs.c: New file.
13375
13376         Tests for module 'exp'.
13377         * modules/exp-tests: New file.
13378         * tests/test-exp.c: New file.
13379
13380         Tests for module 'erfc'.
13381         * modules/erfc-tests: New file.
13382         * tests/test-erfc.c: New file.
13383
13384         Tests for module 'erf'.
13385         * modules/erf-tests: New file.
13386         * tests/test-erf.c: New file.
13387
13388         Tests for module 'cosh'.
13389         * modules/cosh-tests: New file.
13390         * tests/test-cosh.c: New file.
13391
13392         Tests for module 'cos'.
13393         * modules/cos-tests: New file.
13394         * tests/test-cos.c: New file.
13395
13396         Tests for module 'copysign'.
13397         * modules/copysign-tests: New file.
13398         * tests/test-copysign.c: New file.
13399
13400         Tests for module 'cbrt'.
13401         * modules/cbrt-tests: New file.
13402         * tests/test-cbrt.c: New file.
13403
13404         Tests for module 'atan2'.
13405         * modules/atan2-tests: New file.
13406         * tests/test-atan2.c: New file.
13407
13408         Tests for module 'atan'.
13409         * modules/atan-tests: New file.
13410         * tests/test-atan.c: New file.
13411
13412         Tests for module 'asin'.
13413         * modules/asin-tests: New file.
13414         * tests/test-asin.c: New file.
13415
13416         Tests for module 'acos'.
13417         * modules/acos-tests: New file.
13418         * tests/test-acos.c: New file.
13419
13420 2010-01-24  Bruno Haible  <bruno@clisp.org>
13421
13422         Fix tests for common <math.h> functions.
13423         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
13424         code snippet that references the function pointer, rather than merely
13425         calling the function. Substitute the FUNC_LIBM variable.
13426         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
13427         * modules/acos (configure.ac): Likewise.
13428         * modules/asin (configure.ac): Likewise.
13429         * modules/atan (configure.ac): Likewise.
13430         * modules/atan2 (configure.ac): Likewise.
13431         * modules/cbrt (configure.ac): Likewise.
13432         * modules/copysign (configure.ac): Likewise.
13433         * modules/cos (configure.ac): Likewise.
13434         * modules/cosh (configure.ac): Likewise.
13435         * modules/erf (configure.ac): Likewise.
13436         * modules/erfc (configure.ac): Likewise.
13437         * modules/exp (configure.ac): Likewise.
13438         * modules/fabs (configure.ac): Likewise.
13439         * modules/fmod (configure.ac): Likewise.
13440         * modules/hypot (configure.ac): Likewise.
13441         * modules/j0 (configure.ac): Likewise.
13442         * modules/j1 (configure.ac): Likewise.
13443         * modules/jn (configure.ac): Likewise.
13444         * modules/ldexp (configure.ac): Likewise.
13445         * modules/lgamma (configure.ac): Likewise.
13446         * modules/log (configure.ac): Likewise.
13447         * modules/log10 (configure.ac): Likewise.
13448         * modules/log1p (configure.ac): Likewise.
13449         * modules/logb (configure.ac): Likewise.
13450         * modules/modf (configure.ac): Likewise.
13451         * modules/nextafter (configure.ac): Likewise.
13452         * modules/pow (configure.ac): Likewise.
13453         * modules/remainder (configure.ac): Likewise.
13454         * modules/rint (configure.ac): Likewise.
13455         * modules/sin (configure.ac): Likewise.
13456         * modules/sinh (configure.ac): Likewise.
13457         * modules/tan (configure.ac): Likewise.
13458         * modules/tanh (configure.ac): Likewise.
13459         * modules/y0 (configure.ac): Likewise.
13460         * modules/y1 (configure.ac): Likewise.
13461         * modules/yn (configure.ac): Likewise.
13462
13463 2010-01-24  Bruno Haible  <bruno@clisp.org>
13464
13465         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
13466         * tests/test-acosl.c (x): New variable.
13467         (main): Store argument in x and fetch it from x.
13468         * tests/test-asinl.c (x): New variable.
13469         (main): Store argument in x and fetch it from x.
13470         * tests/test-atanl.c (x): New variable.
13471         (main): Store argument in x and fetch it from x.
13472         * tests/test-cosl.c (x): New variable.
13473         (main): Store argument in x and fetch it from x.
13474         * tests/test-expl.c (x): New variable.
13475         (main): Store argument in x and fetch it from x.
13476         * tests/test-logl.c (x): New variable.
13477         (main): Store argument in x and fetch it from x.
13478         * tests/test-sinl.c (x): New variable.
13479         (main): Store argument in x and fetch it from x.
13480         * tests/test-sqrtl.c (x): New variable.
13481         (main): Store argument in x and fetch it from x.
13482         * tests/test-tanl.c (x): New variable.
13483         (main): Store argument in x and fetch it from x.
13484
13485 2010-01-24  Bruno Haible  <bruno@clisp.org>
13486
13487         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
13488         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
13489         assignments to the initial TESTS_ENVIRONMENT.
13490         * doc/gnulib.texi (Unit test modules): Document it.
13491         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
13492         TESTS_ENVIRONMENT.
13493         * modules/btowc-tests (Makefile.am): Likewise.
13494         * modules/c-stack-tests (Makefile.am): Likewise.
13495         * modules/c-strcase-tests (Makefile.am): Likewise.
13496         * modules/copy-file-tests (Makefile.am): Likewise.
13497         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
13498         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
13499         * modules/mbrtowc-tests (Makefile.am): Likewise.
13500         * modules/mbscasecmp-tests (Makefile.am): Likewise.
13501         * modules/mbscasestr-tests (Makefile.am): Likewise.
13502         * modules/mbschr-tests (Makefile.am): Likewise.
13503         * modules/mbscspn-tests (Makefile.am): Likewise.
13504         * modules/mbsinit-tests (Makefile.am): Likewise.
13505         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
13506         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
13507         * modules/mbspbrk-tests (Makefile.am): Likewise.
13508         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
13509         * modules/mbsrchr-tests (Makefile.am): Likewise.
13510         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
13511         * modules/mbsspn-tests (Makefile.am): Likewise.
13512         * modules/mbsstr-tests (Makefile.am): Likewise.
13513         * modules/nl_langinfo-tests (Makefile.am): Likewise.
13514         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
13515         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
13516         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
13517         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
13518         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
13519         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
13520         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
13521         * modules/wcrtomb-tests (Makefile.am): Likewise.
13522         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
13523         * modules/wcsrtombs-tests (Makefile.am): Likewise.
13524         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
13525         assignments from TESTS_ENVIRONMENT.
13526         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
13527         augmentation.
13528         * modules/argp-version-etc-tests (Makefile.am): Likewise.
13529         * modules/atexit-tests (Makefile.am): Likewise.
13530         * modules/binary-io-tests (Makefile.am): Likewise.
13531         * modules/closein-tests (Makefile.am): Likewise.
13532         * modules/dprintf-posix-tests (Makefile.am): Likewise.
13533         * modules/exclude-tests (Makefile.am): Likewise.
13534         * modules/fflush-tests (Makefile.am): Likewise.
13535         * modules/fpending-tests (Makefile.am): Likewise.
13536         * modules/fprintf-posix-tests (Makefile.am): Likewise.
13537         * modules/freadahead-tests (Makefile.am): Likewise.
13538         * modules/freadptr-tests (Makefile.am): Likewise.
13539         * modules/freadseek-tests (Makefile.am): Likewise.
13540         * modules/fseek-tests (Makefile.am): Likewise.
13541         * modules/fseeko-tests (Makefile.am): Likewise.
13542         * modules/ftell-tests (Makefile.am): Likewise.
13543         * modules/ftello-tests (Makefile.am): Likewise.
13544         * modules/idpriv-drop-tests (Makefile.am): Likewise.
13545         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
13546         * modules/lseek-tests (Makefile.am): Likewise.
13547         * modules/parse-duration-tests (Makefile.am): Likewise.
13548         * modules/perror-tests (Makefile.am): Likewise.
13549         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
13550         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
13551         * modules/pipe-tests (Makefile.am): Likewise.
13552         * modules/pread-tests (Makefile.am): Likewise.
13553         * modules/printf-posix-tests (Makefile.am): Likewise.
13554         * modules/select-tests (Makefile.am): Likewise.
13555         * modules/sigpipe-tests (Makefile.am): Likewise.
13556         * modules/tsearch-tests (Makefile.am): Likewise.
13557         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
13558         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
13559         * modules/uniname/uniname-tests (Makefile.am): Likewise.
13560         * modules/uniwidth/width-tests (Makefile.am): Likewise.
13561         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
13562         * modules/version-etc-tests (Makefile.am): Likewise.
13563         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
13564         * modules/vprintf-posix-tests (Makefile.am): Likewise.
13565         * modules/xalloc-die-tests (Makefile.am): Likewise.
13566         * modules/xprintf-posix-tests (Makefile.am): Likewise.
13567         * modules/xstrtoimax-tests (Makefile.am): Likewise.
13568         * modules/xstrtol-tests (Makefile.am): Likewise.
13569         * modules/xstrtoumax-tests (Makefile.am): Likewise.
13570         * modules/yesno-tests (Makefile.am): Likewise.
13571         Suggested by Jim Meyering.
13572
13573 2010-01-24  Bruno Haible  <bruno@clisp.org>
13574
13575         More documentation.
13576         * doc/gnulib.texi (Writing modules): New chapter.
13577         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
13578         the new chapter.
13579
13580 2010-01-24  Jim Meyering  <meyering@redhat.com>
13581
13582         maint.mk: do not prepend "./" after filtering
13583         * top/maint.mk (_prepend_srcdir_prefix): New variable
13584         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
13585         "./" when $(srcdir) is ".".
13586
13587         define STREQ(a,b) consistently, removing useless parentheses
13588         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
13589         since the only risk is that "a" or "b" contains an unparenthesized
13590         comma, but if either did that, STREQ would have 3 or more arguments.
13591         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
13592         * lib/fts.c (STREQ): Remove unnecessary parentheses.
13593         * lib/hash-triple.c (STREQ): Likewise.
13594         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
13595         * lib/getugroups.c (STREQ): Likewise.
13596
13597 2010-01-23  Jim Meyering  <meyering@redhat.com>
13598
13599         maint.mk: fix syntax-check in a non-srcdir build directory
13600         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
13601         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
13602
13603 2010-01-22  Jim Meyering  <meyering@redhat.com>
13604
13605         userspec: add unit tests
13606         * tests/test-userspec.c: New file.
13607         * modules/userspec-tests: Likewise.
13608
13609 2010-01-21  Jim Meyering  <meyering@redhat.com>
13610
13611         maint.mk: handle source file names containing "." robustly
13612         * top/maint.mk (_dot_escaped_srcdir): Define.
13613         (VC_LIST): Use it in LHS of sed substitution.
13614
13615 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
13616
13617         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
13618         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
13619         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
13620         from a non-srcdir build.
13621
13622 2010-01-20  Eric Blake  <ebb9@byu.net>
13623
13624         warn-on-use: use instead of link-warning
13625         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
13626         * modules/unistd (Depends-on, Makefile.am): Likewise.
13627         * modules/arpa_inet (Depends-on): Replace link-warning with
13628         warn-on-use.
13629         (Makefile.am): Update rules accordingly.
13630         * modules/ctype (Depends-on, Makefile.am): Likewise.
13631         * modules/dirent (Depends-on, Makefile.am): Likewise.
13632         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
13633         * modules/inttypes (Depends-on, Makefile.am): Likewise.
13634         * modules/langinfo (Depends-on, Makefile.am): Likewise.
13635         * modules/locale (Depends-on, Makefile.am): Likewise.
13636         * modules/math (Depends-on, Makefile.am): Likewise.
13637         * modules/search (Depends-on, Makefile.am): Likewise.
13638         * modules/signal (Depends-on, Makefile.am): Likewise.
13639         * modules/spawn (Depends-on, Makefile.am): Likewise.
13640         * modules/stdlib (Depends-on, Makefile.am): Likewise.
13641         * modules/string (Depends-on, Makefile.am): Likewise.
13642         * modules/strings (Depends-on, Makefile.am): Likewise.
13643         * modules/sys_file (Depends-on, Makefile.am): Likewise.
13644         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
13645         * modules/sys_select (Depends-on, Makefile.am): Likewise.
13646         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
13647         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
13648         * modules/sys_times (Depends-on, Makefile.am): Likewise.
13649         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
13650         * modules/wchar (Depends-on, Makefile.am): Likewise.
13651         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
13652         should be poisoned.
13653         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
13654         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
13655         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
13656         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
13657         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13658         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
13659         * m4/math_h.m4 (gl_MATH_H): Likewise.
13660         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
13661         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
13662         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13663         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
13664         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
13665         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
13666         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
13667         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
13668         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
13669         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13670         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
13671         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13672         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13673         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13674         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13675         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13676         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
13677         GL_LINK_WARNING.
13678         * lib/ctype.in.h: Likewise.
13679         * lib/dirent.in.h: Likewise.
13680         * lib/fcntl.in.h: Likewise.
13681         * lib/inttypes.in.h: Likewise.
13682         * lib/langinfo.in.h: Likewise.
13683         * lib/locale.in.h: Likewise.
13684         * lib/math.in.h: Likewise.
13685         * lib/search.in.h: Likewise.
13686         * lib/signal.in.h: Likewise.
13687         * lib/spawn.in.h: Likewise.
13688         * lib/stdio.in.h: Likewise.
13689         * lib/stdlib.in.h: Likewise.
13690         * lib/string.in.h: Likewise.
13691         * lib/strings.in.h: Likewise.
13692         * lib/sys_file.in.h: Likewise.
13693         * lib/sys_ioctl.in.h: Likewise.
13694         * lib/sys_select.in.h: Likewise.
13695         * lib/sys_socket.in.h: Likewise.
13696         * lib/sys_stat.in.h: Likewise.
13697         * lib/sys_times.in.h: Likewise.
13698         * lib/sys_utsname.in.h: Likewise.
13699         * lib/unistd.in.h: Likewise.
13700         * lib/wchar.in.h: Likewise.
13701
13702 2010-01-20  Bruno Haible  <bruno@clisp.org>
13703
13704         Avoid duplicate -lm.
13705         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
13706         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
13707         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
13708         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
13709         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
13710         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
13711         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
13712         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
13713         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
13714         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
13715         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
13716         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13717         Reported by Paolo Bonzini.
13718
13719 2010-01-19  Bruno Haible  <bruno@clisp.org>
13720
13721         langinfo, nl_langinfo: Relicense under LGPLv2+.
13722         * modules/langinfo (License): Change to LGPLv2+.
13723         * modules/nl_langinfo (License): Likewise.
13724         Patch by David Lutterkort <lutter@redhat.com>.
13725
13726 2010-01-19  Bruno Haible  <bruno@clisp.org>
13727
13728         Avoid compilation error with cc on OSF/1 5.1.
13729         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
13730         statement, not before.
13731         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13732
13733 2010-01-18  Bruno Haible  <bruno@clisp.org>
13734
13735         Avoid a link error due to the __printf__ symbol.
13736         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
13737         and 2.6.x.
13738         (__format__, __printf__): Remove definitions.
13739         * lib/argp-fmtstream.h: Likewise.
13740         * lib/argp.h: Likewise.
13741         * lib/error.h: Likewise.
13742         * lib/vasnprintf.h: Likewise.
13743         * lib/xprintf.h: Likewise.
13744         * lib/xvasprintf.h: Likewise.
13745         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13746
13747 2010-01-18  Bruno Haible  <bruno@clisp.org>
13748
13749         Tests for module 'tanl'.
13750         * modules/tanl-tests: New file.
13751         * tests/test-tanl.c: New file.
13752
13753         Tests for module 'sqrtl'.
13754         * modules/sqrtl-tests: New file.
13755         * tests/test-sqrtl.c: New file.
13756
13757         Tests for module 'sinl'.
13758         * modules/sinl-tests: New file.
13759         * tests/test-sinl.c: New file.
13760
13761         Tests for module 'logl'.
13762         * modules/logl-tests: New file.
13763         * tests/test-logl.c: New file.
13764
13765         Tests for module 'expl'.
13766         * modules/expl-tests: New file.
13767         * tests/test-expl.c: New file.
13768
13769         Tests for module 'cosl'.
13770         * modules/cosl-tests: New file.
13771         * tests/test-cosl.c: New file.
13772
13773         Tests for module 'atanl'.
13774         * modules/atanl-tests: New file.
13775         * tests/test-atanl.c: New file.
13776
13777         Tests for module 'asinl'.
13778         * modules/asinl-tests: New file.
13779         * tests/test-asinl.c: New file.
13780
13781         Tests for module 'acosl'.
13782         * modules/acosl-tests: New file.
13783         * tests/test-acosl.c: New file.
13784
13785         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
13786         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
13787         tanl): Use the standard gnulib idiom.
13788         * lib/cosl.c: Don't include trigl.c and sincosl.c.
13789         * lib/sinl.c: Likewise.
13790         * lib/tanl.c: Don't include trigl.c.
13791         (kernel_tanl): Make static.
13792         * lib/sincosl.c: Include trigl.h first.
13793         * lib/trigl.c: Likewise.
13794         * m4/acosl.m4: New file.
13795         * m4/asinl.m4: New file.
13796         * m4/atanl.m4: New file.
13797         * m4/cosl.m4: New file.
13798         * m4/expl.m4: New file.
13799         * m4/logl.m4: New file.
13800         * m4/sinl.m4: New file.
13801         * m4/sqrtl.m4: New file.
13802         * m4/tanl.m4: New file.
13803         * m4/mathl.m4: Remove file.
13804         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
13805         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
13806         Don't initialize GNULIB_MATHL.
13807         * modules/acosl: New file.
13808         * modules/asinl: New file.
13809         * modules/atanl: New file.
13810         * modules/cosl: New file.
13811         * modules/expl: New file.
13812         * modules/logl: New file.
13813         * modules/sinl: New file.
13814         * modules/sqrtl: New file.
13815         * modules/tanl: New file.
13816         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
13817         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
13818         substitute GNULIB_MATHL.
13819         * modules/mathl: Rewritten.
13820         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
13821         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
13822         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
13823         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
13824         * doc/posix-functions/expl.texi: Mention the 'expl' module.
13825         * doc/posix-functions/logl.texi: Mention the 'logl' module.
13826         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
13827         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
13828         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
13829
13830 2010-01-18  Bruno Haible  <bruno@clisp.org>
13831
13832         sqrt: Make gl_FUNC_SQRT requirable.
13833         * m4/sqrt.m4: New file.
13834         * modules/sqrt (Files): Add it.
13835         (configure.ac): Invoke gl_FUNC_SQRT.
13836
13837 2010-01-18  Bruno Haible  <bruno@clisp.org>
13838
13839         New modules for common <math.h> functions.
13840         * m4/mathfunc.m4: New file.
13841         * modules/acos: New file.
13842         * modules/asin: New file.
13843         * modules/atan: New file.
13844         * modules/atan2: New file.
13845         * modules/cbrt: New file.
13846         * modules/copysign: New file.
13847         * modules/cos: New file.
13848         * modules/cosh: New file.
13849         * modules/erf: New file.
13850         * modules/erfc: New file.
13851         * modules/exp: New file.
13852         * modules/fabs: New file.
13853         * modules/fmod: New file.
13854         * modules/hypot: New file.
13855         * modules/j0: New file.
13856         * modules/j1: New file.
13857         * modules/jn: New file.
13858         * modules/ldexp: New file.
13859         * modules/lgamma: New file.
13860         * modules/log: New file.
13861         * modules/log10: New file.
13862         * modules/log1p: New file.
13863         * modules/logb: New file.
13864         * modules/modf: New file.
13865         * modules/nextafter: New file.
13866         * modules/pow: New file.
13867         * modules/remainder: New file.
13868         * modules/rint: New file.
13869         * modules/sin: New file.
13870         * modules/sinh: New file.
13871         * modules/sqrt: New file.
13872         * modules/tan: New file.
13873         * modules/tanh: New file.
13874         * modules/y0: New file.
13875         * modules/y1: New file.
13876         * modules/yn: New file.
13877         * doc/posix-functions/acos.texi: Mention the 'acos' module.
13878         * doc/posix-functions/asin.texi: Mention the 'asin' module.
13879         * doc/posix-functions/atan.texi: Mention the 'atan' module.
13880         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
13881         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
13882         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
13883         * doc/posix-functions/cos.texi: Mention the 'cos' module.
13884         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
13885         * doc/posix-functions/erf.texi: Mention the 'erf' module.
13886         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
13887         * doc/posix-functions/exp.texi: Mention the 'exp' module.
13888         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
13889         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
13890         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
13891         * doc/posix-functions/j0.texi: Mention the 'j0' module.
13892         * doc/posix-functions/j1.texi: Mention the 'j1' module.
13893         * doc/posix-functions/jn.texi: Mention the 'jn' module.
13894         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
13895         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
13896         * doc/posix-functions/log.texi: Mention the 'log' module.
13897         * doc/posix-functions/log10.texi: Mention the 'log10' module.
13898         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
13899         * doc/posix-functions/logb.texi: Mention the 'logb' module.
13900         * doc/posix-functions/modf.texi: Mention the 'modf' module.
13901         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
13902         * doc/posix-functions/pow.texi: Mention the 'pow' module.
13903         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
13904         * doc/posix-functions/rint.texi: Mention the 'rint' module.
13905         * doc/posix-functions/sin.texi: Mention the 'sin' module.
13906         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
13907         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
13908         * doc/posix-functions/tan.texi: Mention the 'tan' module.
13909         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
13910         * doc/posix-functions/y0.texi: Mention the 'y0' module.
13911         * doc/posix-functions/y1.texi: Mention the 'y1' module.
13912         * doc/posix-functions/yn.texi: Mention the 'yn' module.
13913
13914 2010-01-18  Jim Meyering  <meyering@redhat.com>
13915
13916         ignore-value: relax license to LGPLv2+
13917         * modules/ignore-value (License): Relax to LGPLv2+.
13918
13919         getdate: don't leak when TZ contains two or more '"'s
13920         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
13921         double quote in TZ after the first one.
13922
13923         readtokens: do not leak internal token_lengths buffer
13924         * lib/readtokens.c (readtokens): Free the local, lengths,
13925         when the supplied "token_lengths" parameter is NULL.
13926
13927 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13928
13929         Fix a couple of missing LIBTHREAD link failures on AIX.
13930         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
13931         $(LIBTHREAD).
13932         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
13933
13934         Link test-poll against INET_PTON_LIB.
13935         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
13936         for inet_pton on Solaris 10.
13937
13938 2010-01-17  Bruno Haible  <bruno@clisp.org>
13939
13940         unistdio/*-sprintf: Fix typo in module description.
13941         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
13942         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
13943         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
13944         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
13945         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
13946         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
13947         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
13948         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13949
13950 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13951
13952         gnulib-tool: fix filelist for AIX, HP-UX ksh.
13953         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
13954         variables in shell case patterns, for AIX and HP-UX ksh.
13955
13956         Split large sed scripts, for HP-UX sed.
13957         * modules/stdio: Split sed scripts around 50 sed commands,
13958         to avoid HP-UX limit of 99 commands, in the near future.
13959         * modules/string: Likewise.
13960         * modules/unistd: Likewise.
13961
13962         gnulib-tool: avoid writing in the current directory.
13963         * gnulib-tool (func_emit_lib_Makefile_am)
13964         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
13965         not in the current directory, so concurrent gnulib-tool
13966         instances do not interfere.
13967
13968 2010-01-16  Jim Meyering  <meyering@redhat.com>
13969
13970         doc: update users.txt
13971         * users.txt: Add grep.
13972         (diffutils, gzip): Update URLs.
13973
13974 2010-01-12  Bruno Haible  <bruno@clisp.org>
13975
13976         posix_spawn: Avoid test failure on Cygwin.
13977         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
13978         characters.
13979         Reported by Simon Josefsson.
13980
13981 2010-01-12  Bruno Haible  <bruno@clisp.org>
13982
13983         * tests/test-cond.c (main): When skipping the test, show the reason.
13984
13985 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13986
13987         * lib/striconv.c (str_cd_iconv): Avoid if before free.
13988
13989 2010-01-12  Simon Josefsson  <simon@josefsson.org>
13990
13991         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
13992         VC_LIST_ALWAYS_EXCLUDE_REGEX.
13993
13994 2010-01-12  Eric Blake  <ebb9@byu.net>
13995
13996         build: guarantee AS_VAR_IF
13997         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
13998         (gl_AS_VAR_IF): Move...
13999         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
14000         Reported by Simon Josefsson.
14001
14002 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14003
14004         * lib/stdio.in.h: Fix typo.
14005
14006 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14007
14008         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
14009         libgpg-error.
14010
14011 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14012
14013         * tests/test-xalloc-die.sh: Use $EXEEXT.
14014
14015 2010-01-12  Simon Josefsson  <simon@josefsson.org>
14016             Bruno Haible  <bruno@clisp.org>
14017
14018         getlogin, getlogin_r: Avoid test failure.
14019         * tests/test-getlogin.c: Include <stdio.h>.
14020         (main): Skip the test when the function fails because stdin is not a
14021         tty.
14022         * tests/test-getlogin_r.c: Include <stdio.h>.
14023         (main): Skip the test when the function fails because stdin is not a
14024         tty.
14025
14026 2010-01-11  Eric Blake  <ebb9@byu.net>
14027
14028         tests: avoid more large file warnings
14029         * tests/test-fflush.c: Avoid warning about ftell use.
14030         * tests/test-fseek.c: Avoid warning about fseek use.
14031
14032 2010-01-10  Bruno Haible  <bruno@clisp.org>
14033
14034         nproc: Work better on Linux when /proc and /sys are not mounted.
14035         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
14036         as lower bound when, on glibc/Linux systems,
14037         sysconf (_SC_NPROCESSORS_CONF) returns 1.
14038         Suggested by Pádraig Brady <P@draigbrady.com>.
14039         Reported by Dmitry V. Levin <ldv@altlinux.org>.
14040
14041         nproc: Refactor.
14042         * lib/nproc.c (num_processors_via_affinity_mask): New function,
14043         extracted from num_processors.
14044         (num_processors): Call it.
14045
14046 2010-01-11  Jim Meyering  <meyering@redhat.com>
14047
14048         utimecmp: avoid new warning from upcoming gcc-4.5.0
14049         * lib/utimecmp.c (BILLION): Define using #define rather than an
14050         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
14051
14052 2010-01-11  Eric Blake  <ebb9@byu.net>
14053
14054         math: add portability warnings for classification macros
14055         * modules/math (Depends-on): Add warn-on-use.
14056         (Makefile.am): Provide new substitutions.
14057         * m4/math_h.m4 (gl_MATH_H): Require inline.
14058         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
14059         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
14060         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
14061         implement warnings.
14062
14063         unistd: warn on use of environ without module
14064         * modules/unistd (Depends-on): Add warn-on-use.
14065         (Makefile.am): Provide new substitutions.
14066         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
14067         * lib/unistd.in.h (environ): Wrap with a warning helper function.
14068
14069         stdio: warn on suspicious uses
14070         * modules/stdio (Depends-on): Add warn-on-use.
14071         (Makefile.am): Provide new substitutions.
14072         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
14073         fseeko.
14074         * lib/stdio.in.h (gets): Always warn on use.
14075         (fseek, ftell): Adjust when warnings are issued, and honor
14076         _GL_NO_LARGE_FILES as a way to silence the warning.
14077         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
14078         any warning about large file offsets.
14079         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
14080         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
14081         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
14082         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
14083         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
14084         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
14085         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
14086         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
14087
14088         warn-on-use: new module
14089         * modules/warn-on-use: New file.
14090         * build-aux/warn-on-use.h: Likewise.
14091         * m4/warn-on-use.m4: Likewise.
14092         * MODULES.html.sh (Support for building): Mention it.
14093
14094 2010-01-10  Bruno Haible  <bruno@clisp.org>
14095
14096         Tests for module 'unistr/u32-strdup'.
14097         * modules/unistr/u32-strdup-tests: New file.
14098         * tests/unistr/test-u32-strdup.c: New file.
14099
14100         Tests for module 'unistr/u16-strdup'.
14101         * modules/unistr/u16-strdup-tests: New file.
14102         * tests/unistr/test-u16-strdup.c: New file.
14103
14104         Tests for module 'unistr/u8-strdup'.
14105         * modules/unistr/u8-strdup-tests: New file.
14106         * tests/unistr/test-u8-strdup.c: New file.
14107         * tests/unistr/test-strdup.h: New file.
14108
14109         Tests for module 'unistr/u32-strncmp'.
14110         * modules/unistr/u32-strncmp-tests: New file.
14111         * tests/unistr/test-u32-strncmp.c: New file.
14112
14113         Tests for module 'unistr/u16-strncmp'.
14114         * modules/unistr/u16-strncmp-tests: New file.
14115         * tests/unistr/test-u16-strncmp.c: New file.
14116
14117         Tests for module 'unistr/u8-strncmp'.
14118         * modules/unistr/u8-strncmp-tests: New file.
14119         * tests/unistr/test-u8-strncmp.c: New file.
14120         * tests/unistr/test-strncmp.h: New file.
14121
14122         Tests for module 'unistr/u32-strcoll'.
14123         * modules/unistr/u32-strcoll-tests: New file.
14124         * tests/unistr/test-u32-strcoll.c: New file.
14125
14126         Tests for module 'unistr/u16-strcoll'.
14127         * modules/unistr/u16-strcoll-tests: New file.
14128         * tests/unistr/test-u16-strcoll.c: New file.
14129
14130         Tests for module 'unistr/u8-strcoll'.
14131         * modules/unistr/u8-strcoll-tests: New file.
14132         * tests/unistr/test-u8-strcoll.c: New file.
14133
14134         Tests for module 'unistr/u32-strcmp'.
14135         * modules/unistr/u32-strcmp-tests: New file.
14136         * tests/unistr/test-u32-strcmp.c: New file.
14137         * tests/unistr/test-u32-strcmp.h: New file.
14138
14139         Tests for module 'unistr/u16-strcmp'.
14140         * modules/unistr/u16-strcmp-tests: New file.
14141         * tests/unistr/test-u16-strcmp.c: New file.
14142         * tests/unistr/test-u16-strcmp.h: New file.
14143
14144         Tests for module 'unistr/u8-strcmp'.
14145         * modules/unistr/u8-strcmp-tests: New file.
14146         * tests/unistr/test-u8-strcmp.c: New file.
14147         * tests/unistr/test-u8-strcmp.h: New file.
14148         * tests/unistr/test-strcmp.h: New file.
14149
14150         Tests for module 'unistr/u32-strncat'.
14151         * modules/unistr/u32-strncat-tests: New file.
14152         * tests/unistr/test-u32-strncat.c: New file.
14153
14154         Tests for module 'unistr/u16-strncat'.
14155         * modules/unistr/u16-strncat-tests: New file.
14156         * tests/unistr/test-u16-strncat.c: New file.
14157
14158         Tests for module 'unistr/u8-strncat'.
14159         * modules/unistr/u8-strncat-tests: New file.
14160         * tests/unistr/test-u8-strncat.c: New file.
14161         * tests/unistr/test-strncat.h: New file.
14162
14163         Tests for module 'unistr/u32-strcat'.
14164         * modules/unistr/u32-strcat-tests: New file.
14165         * tests/unistr/test-u32-strcat.c: New file.
14166
14167         Tests for module 'unistr/u16-strcat'.
14168         * modules/unistr/u16-strcat-tests: New file.
14169         * tests/unistr/test-u16-strcat.c: New file.
14170
14171         Tests for module 'unistr/u8-strcat'.
14172         * modules/unistr/u8-strcat-tests: New file.
14173         * tests/unistr/test-u8-strcat.c: New file.
14174         * tests/unistr/test-strcat.h: New file.
14175
14176         Tests for module 'unistr/u32-stpncpy'.
14177         * modules/unistr/u32-stpncpy-tests: New file.
14178         * tests/unistr/test-u32-stpncpy.c: New file.
14179
14180         Tests for module 'unistr/u16-stpncpy'.
14181         * modules/unistr/u16-stpncpy-tests: New file.
14182         * tests/unistr/test-u16-stpncpy.c: New file.
14183
14184         Tests for module 'unistr/u8-stpncpy'.
14185         * modules/unistr/u8-stpncpy-tests: New file.
14186         * tests/unistr/test-u8-stpncpy.c: New file.
14187         * tests/unistr/test-stpncpy.h: New file.
14188
14189         Tests for module 'unistr/u32-strncpy'.
14190         * modules/unistr/u32-strncpy-tests: New file.
14191         * tests/unistr/test-u32-strncpy.c: New file.
14192
14193         Tests for module 'unistr/u16-strncpy'.
14194         * modules/unistr/u16-strncpy-tests: New file.
14195         * tests/unistr/test-u16-strncpy.c: New file.
14196
14197         Tests for module 'unistr/u8-strncpy'.
14198         * modules/unistr/u8-strncpy-tests: New file.
14199         * tests/unistr/test-u8-strncpy.c: New file.
14200         * tests/unistr/test-strncpy.h: New file.
14201
14202         Tests for module 'unistr/u32-stpcpy'.
14203         * modules/unistr/u32-stpcpy-tests: New file.
14204         * tests/unistr/test-u32-stpcpy.c: New file.
14205
14206         Tests for module 'unistr/u16-stpcpy'.
14207         * modules/unistr/u16-stpcpy-tests: New file.
14208         * tests/unistr/test-u16-stpcpy.c: New file.
14209
14210         Tests for module 'unistr/u8-stpcpy'.
14211         * modules/unistr/u8-stpcpy-tests: New file.
14212         * tests/unistr/test-u8-stpcpy.c: New file.
14213         * tests/unistr/test-stpcpy.h: New file.
14214
14215         Tests for module 'unistr/u32-strcpy'.
14216         * modules/unistr/u32-strcpy-tests: New file.
14217         * tests/unistr/test-u32-strcpy.c: New file.
14218
14219         Tests for module 'unistr/u16-strcpy'.
14220         * modules/unistr/u16-strcpy-tests: New file.
14221         * tests/unistr/test-u16-strcpy.c: New file.
14222
14223         Tests for module 'unistr/u8-strcpy'.
14224         * modules/unistr/u8-strcpy-tests: New file.
14225         * tests/unistr/test-u8-strcpy.c: New file.
14226         * tests/unistr/test-strcpy.h: New file.
14227
14228         Tests for module 'unistr/u32-strnlen'.
14229         * modules/unistr/u32-strnlen-tests: New file.
14230         * tests/unistr/test-u32-strnlen.c: New file.
14231
14232         Tests for module 'unistr/u16-strnlen'.
14233         * modules/unistr/u16-strnlen-tests: New file.
14234         * tests/unistr/test-u16-strnlen.c: New file.
14235
14236         Tests for module 'unistr/u8-strnlen'.
14237         * modules/unistr/u8-strnlen-tests: New file.
14238         * tests/unistr/test-u8-strnlen.c: New file.
14239         * tests/unistr/test-strnlen.h: New file.
14240
14241         Tests for module 'unistr/u32-strlen'.
14242         * modules/unistr/u32-strlen-tests: New file.
14243         * tests/unistr/test-u32-strlen.c: New file.
14244
14245         Tests for module 'unistr/u16-strlen'.
14246         * modules/unistr/u16-strlen-tests: New file.
14247         * tests/unistr/test-u16-strlen.c: New file.
14248
14249         Tests for module 'unistr/u8-strlen'.
14250         * modules/unistr/u8-strlen-tests: New file.
14251         * tests/unistr/test-u8-strlen.c: New file.
14252
14253         Tests for module 'unistr/u32-prev'.
14254         * modules/unistr/u32-prev-tests: New file.
14255         * tests/unistr/test-u32-prev.c: New file.
14256
14257         Tests for module 'unistr/u16-prev'.
14258         * modules/unistr/u16-prev-tests: New file.
14259         * tests/unistr/test-u16-prev.c: New file.
14260
14261         Tests for module 'unistr/u8-prev'.
14262         * modules/unistr/u8-prev-tests: New file.
14263         * tests/unistr/test-u8-prev.c: New file.
14264
14265         Tests for module 'unistr/u32-next'.
14266         * modules/unistr/u32-next-tests: New file.
14267         * tests/unistr/test-u32-next.c: New file.
14268
14269         Tests for module 'unistr/u16-next'.
14270         * modules/unistr/u16-next-tests: New file.
14271         * tests/unistr/test-u16-next.c: New file.
14272
14273         Tests for module 'unistr/u8-next'.
14274         * modules/unistr/u8-next-tests: New file.
14275         * tests/unistr/test-u8-next.c: New file.
14276
14277         Tests for module 'unistr/u32-strmbtouc'.
14278         * modules/unistr/u32-strmbtouc-tests: New file.
14279         * tests/unistr/test-u32-strmbtouc.c: New file.
14280
14281         Tests for module 'unistr/u16-strmbtouc'.
14282         * modules/unistr/u16-strmbtouc-tests: New file.
14283         * tests/unistr/test-u16-strmbtouc.c: New file.
14284
14285         Tests for module 'unistr/u8-strmbtouc'.
14286         * modules/unistr/u8-strmbtouc-tests: New file.
14287         * tests/unistr/test-u8-strmbtouc.c: New file.
14288
14289         Tests for module 'unistr/u32-strmblen'.
14290         * modules/unistr/u32-strmblen-tests: New file.
14291         * tests/unistr/test-u32-strmblen.c: New file.
14292
14293         Tests for module 'unistr/u16-strmblen'.
14294         * modules/unistr/u16-strmblen-tests: New file.
14295         * tests/unistr/test-u16-strmblen.c: New file.
14296
14297         Tests for module 'unistr/u8-strmblen'.
14298         * modules/unistr/u8-strmblen-tests: New file.
14299         * tests/unistr/test-u8-strmblen.c: New file.
14300
14301         Tests for module 'unistr/u32-cpy-alloc'.
14302         * modules/unistr/u32-cpy-alloc-tests: New file.
14303         * tests/unistr/test-u32-cpy-alloc.c: New file.
14304
14305         Tests for module 'unistr/u16-cpy-alloc'.
14306         * modules/unistr/u16-cpy-alloc-tests: New file.
14307         * tests/unistr/test-u16-cpy-alloc.c: New file.
14308
14309         Tests for module 'unistr/u8-cpy-alloc'.
14310         * modules/unistr/u8-cpy-alloc-tests: New file.
14311         * tests/unistr/test-u8-cpy-alloc.c: New file.
14312         * tests/unistr/test-cpy-alloc.h: New file.
14313
14314         Tests for module 'unistr/u32-mbsnlen'.
14315         * modules/unistr/u32-mbsnlen-tests: New file.
14316         * tests/unistr/test-u32-mbsnlen.c: New file.
14317
14318         Tests for module 'unistr/u16-mbsnlen'.
14319         * modules/unistr/u16-mbsnlen-tests: New file.
14320         * tests/unistr/test-u16-mbsnlen.c: New file.
14321
14322         Tests for module 'unistr/u8-mbsnlen'.
14323         * modules/unistr/u8-mbsnlen-tests: New file.
14324         * tests/unistr/test-u8-mbsnlen.c: New file.
14325
14326         Tests for module 'unistr/u32-chr'.
14327         * modules/unistr/u32-chr-tests: New file.
14328         * tests/unistr/test-u32-chr.c: New file.
14329
14330         Tests for module 'unistr/u16-chr'.
14331         * modules/unistr/u16-chr-tests: New file.
14332         * tests/unistr/test-u16-chr.c: New file.
14333
14334         Tests for module 'unistr/u8-chr'.
14335         * modules/unistr/u8-chr-tests: New file.
14336         * tests/unistr/test-u8-chr.c: New file.
14337         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
14338
14339         Tests for module 'unistr/u32-cmp2'.
14340         * modules/unistr/u32-cmp2-tests: New file.
14341         * tests/unistr/test-u32-cmp2.c: New file.
14342
14343         Tests for module 'unistr/u16-cmp2'.
14344         * modules/unistr/u16-cmp2-tests: New file.
14345         * tests/unistr/test-u16-cmp2.c: New file.
14346
14347         Tests for module 'unistr/u8-cmp2'.
14348         * modules/unistr/u8-cmp2-tests: New file.
14349         * tests/unistr/test-u8-cmp2.c: New file.
14350         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
14351
14352         Tests for module 'unistr/u32-cmp'.
14353         * modules/unistr/u32-cmp-tests: New file.
14354         * tests/unistr/test-u32-cmp.c: New file.
14355
14356         Tests for module 'unistr/u16-cmp'.
14357         * modules/unistr/u16-cmp-tests: New file.
14358         * tests/unistr/test-u16-cmp.c: New file.
14359
14360         Tests for module 'unistr/u8-cmp'.
14361         * modules/unistr/u8-cmp-tests: New file.
14362         * tests/unistr/test-u8-cmp.c: New file.
14363         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
14364
14365         Tests for module 'unistr/u32-set'.
14366         * modules/unistr/u32-set-tests: New file.
14367         * tests/unistr/test-u32-set.c: New file.
14368
14369         Tests for module 'unistr/u16-set'.
14370         * modules/unistr/u16-set-tests: New file.
14371         * tests/unistr/test-u16-set.c: New file.
14372
14373         Tests for module 'unistr/u8-set'.
14374         * modules/unistr/u8-set-tests: New file.
14375         * tests/unistr/test-u8-set.c: New file.
14376         * tests/unistr/test-set.h: New file.
14377
14378         Tests for module 'unistr/u32-move'.
14379         * modules/unistr/u32-move-tests: New file.
14380         * tests/unistr/test-u32-move.c: New file.
14381
14382         Tests for module 'unistr/u16-move'.
14383         * modules/unistr/u16-move-tests: New file.
14384         * tests/unistr/test-u16-move.c: New file.
14385
14386         Tests for module 'unistr/u8-move'.
14387         * modules/unistr/u8-move-tests: New file.
14388         * tests/unistr/test-u8-move.c: New file.
14389         * tests/unistr/test-move.h: New file.
14390
14391         Tests for module 'unistr/u32-cpy'.
14392         * modules/unistr/u32-cpy-tests: New file.
14393         * tests/unistr/test-u32-cpy.c: New file.
14394
14395         Tests for module 'unistr/u16-cpy'.
14396         * modules/unistr/u16-cpy-tests: New file.
14397         * tests/unistr/test-u16-cpy.c: New file.
14398
14399         Tests for module 'unistr/u8-cpy'.
14400         * modules/unistr/u8-cpy-tests: New file.
14401         * tests/unistr/test-u8-cpy.c: New file.
14402         * tests/unistr/test-cpy.h: New file.
14403
14404 2010-01-09  Bruno Haible  <bruno@clisp.org>
14405
14406         Tests for module 'unistr/u32-uctomb'.
14407         * modules/unistr/u32-uctomb-tests: New file.
14408         * tests/unistr/test-u32-uctomb.c: New file.
14409
14410         Tests for module 'unistr/u16-uctomb'.
14411         * modules/unistr/u16-uctomb-tests: New file.
14412         * tests/unistr/test-u16-uctomb.c: New file.
14413
14414         Tests for module 'unistr/u8-uctomb'.
14415         * modules/unistr/u8-uctomb-tests: New file.
14416         * tests/unistr/test-u8-uctomb.c: New file.
14417
14418         Tests for module 'unistr/u32-mbtoucr'.
14419         * modules/unistr/u32-mbtoucr-tests: New file.
14420         * tests/unistr/test-u32-mbtoucr.c: New file.
14421
14422         Tests for module 'unistr/u16-mbtoucr'.
14423         * modules/unistr/u16-mbtoucr-tests: New file.
14424         * tests/unistr/test-u16-mbtoucr.c: New file.
14425
14426         Tests for module 'unistr/u8-mbtoucr'.
14427         * modules/unistr/u8-mbtoucr-tests: New file.
14428         * tests/unistr/test-u8-mbtoucr.c: New file.
14429
14430         Tests for module 'unistr/u32-mbtouc'.
14431         * modules/unistr/u32-mbtouc-tests: New file.
14432         * tests/unistr/test-u32-mbtouc.c: New file.
14433
14434         Tests for module 'unistr/u16-mbtouc'.
14435         * modules/unistr/u16-mbtouc-tests: New file.
14436         * tests/unistr/test-u16-mbtouc.c: New file.
14437
14438         Tests for module 'unistr/u8-mbtouc'.
14439         * modules/unistr/u8-mbtouc-tests: New file.
14440         * tests/unistr/test-u8-mbtouc.c: New file.
14441
14442         Tests for module 'unistr/u32-mbtouc-unsafe'.
14443         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
14444         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
14445         * tests/unistr/test-u32-mbtouc.h: New file.
14446
14447         Tests for module 'unistr/u16-mbtouc-unsafe'.
14448         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
14449         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
14450         * tests/unistr/test-u16-mbtouc.h: New file.
14451
14452         Tests for module 'unistr/u8-mbtouc-unsafe'.
14453         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
14454         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
14455         * tests/unistr/test-u8-mbtouc.h: New file.
14456
14457         Tests for module 'unistr/u32-mblen'.
14458         * modules/unistr/u32-mblen-tests: New file.
14459         * tests/unistr/test-u32-mblen.c: New file.
14460
14461         Tests for module 'unistr/u16-mblen'.
14462         * modules/unistr/u16-mblen-tests: New file.
14463         * tests/unistr/test-u16-mblen.c: New file.
14464
14465         Tests for module 'unistr/u8-mblen'.
14466         * modules/unistr/u8-mblen-tests: New file.
14467         * tests/unistr/test-u8-mblen.c: New file.
14468
14469         Tests for module 'unistr/u32-to-u16'.
14470         * modules/unistr/u32-to-u16-tests: New file.
14471         * tests/unistr/test-u32-to-u16.c: New file.
14472
14473         Tests for module 'unistr/u32-to-u8'.
14474         * modules/unistr/u32-to-u8-tests: New file.
14475         * tests/unistr/test-u32-to-u8.c: New file.
14476
14477         Tests for module 'unistr/u16-to-u32'.
14478         * modules/unistr/u16-to-u32-tests: New file.
14479         * tests/unistr/test-u16-to-u32.c: New file.
14480
14481         Tests for module 'unistr/u16-to-u8'.
14482         * modules/unistr/u16-to-u8-tests: New file.
14483         * tests/unistr/test-u16-to-u8.c: New file.
14484
14485         Tests for module 'unistr/u8-to-u32'.
14486         * modules/unistr/u8-to-u32-tests: New file.
14487         * tests/unistr/test-u8-to-u32.c: New file.
14488
14489         Tests for module 'unistr/u8-to-u16'.
14490         * modules/unistr/u8-to-u16-tests: New file.
14491         * tests/unistr/test-u8-to-u16.c: New file.
14492
14493         Tests for module 'unistr/u32-check'.
14494         * modules/unistr/u32-check-tests: New file.
14495         * tests/unistr/test-u32-check.c: New file.
14496
14497         Tests for module 'unistr/u16-check'.
14498         * modules/unistr/u16-check-tests: New file.
14499         * tests/unistr/test-u16-check.c: New file.
14500
14501         Tests for module 'unistr/u8-check'.
14502         * modules/unistr/u8-check-tests: New file.
14503         * tests/unistr/test-u8-check.c: New file.
14504
14505         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
14506         (category_equals): New function.
14507         (main): Add more tests.
14508         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
14509
14510         * tests/unictype/test-bidi_byname.c (main): Add more tests.
14511
14512 2010-01-10  Bruno Haible  <bruno@clisp.org>
14513
14514         unistr/u*-strcoll: Try harder to distinguish different strings.
14515         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
14516         compare s1 and s2 to see if they are different.
14517
14518 2010-01-10  Bruno Haible  <bruno@clisp.org>
14519
14520         unistr/u*-stpncpy: Fix the return value.
14521         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
14522         description of the return value consistent with stpncpy in glibc.
14523         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
14524         written non-NUL unit.
14525
14526 2010-01-10  Bruno Haible  <bruno@clisp.org>
14527
14528         unistr/u*-next: Add missing dependencies.
14529         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
14530         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
14531         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
14532
14533 2010-01-10  Bruno Haible  <bruno@clisp.org>
14534
14535         unistr/u8-mbsnlen: Fix return value for incomplete character.
14536         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
14537         u8_mblen.
14538         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
14539         Remove unistr/u8-mblen.
14540         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
14541         u16_mblen.
14542         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
14543         Remove unistr/u16-mblen.
14544
14545 2010-01-10  Bruno Haible  <bruno@clisp.org>
14546
14547         wchar: Fix compilation error when <wchar.h> is used from coreutils.
14548         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
14549         Reported by Brian Gough <bjg@gnu.org> and
14550         Chris Clayton <chris2553@googlemail.com> via
14551         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
14552
14553 2010-01-09  Bruno Haible  <bruno@clisp.org>
14554
14555         unistr/u16-to-u32: Reject invalid input.
14556         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
14557         u16_mbtouc.
14558         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
14559         Remove unistr/u16-mbtouc.
14560
14561         unistr/u16-to-u8: Reject invalid input.
14562         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
14563         u16_mbtouc.
14564         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
14565         Remove unistr/u16-mbtouc.
14566
14567         unistr/u8-to-u32: Reject invalid input.
14568         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
14569         u8_mbtouc.
14570         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
14571         Remove unistr/u8-mbtouc.
14572
14573         unistr/u8-to-u16: Reject invalid input.
14574         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
14575         u8_mbtouc.
14576         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
14577         Remove unistr/u8-mbtouc.
14578
14579 2010-01-09  Bruno Haible  <bruno@clisp.org>
14580
14581         Tests for module 'getlogin'.
14582         * modules/getlogin-tests: New file.
14583         * tests/test-getlogin.c: New file.
14584
14585         New module 'getlogin'.
14586         * lib/unistd.in.h (getlogin): New declaration.
14587         * lib/getlogin.c: New file.
14588         * m4/getlogin.m4: New file.
14589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
14590         HAVE_GETLOGIN.
14591         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
14592         HAVE_GETLOGIN.
14593         * modules/getlogin: New file.
14594         * doc/posix-functions/getlogin.texi: Mention the new module.
14595         Reported by John W. Eaton <jwe@gnu.org>.
14596
14597 2010-01-09  Bruno Haible  <bruno@clisp.org>
14598
14599         getlogin_r: Support for native Windows.
14600         * lib/getlogin_r.c: Include <windows.h>
14601         (getlogin_r): Implement for native Windows.
14602         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
14603         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
14604         via John W. Eaton <jwe@gnu.org>.
14605
14606 2010-01-09  Bruno Haible  <bruno@clisp.org>
14607
14608         getlogin_r: Small fixes.
14609         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
14610         succeeds.
14611         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
14612         before testing whether getlogin_r is declared. No need to set
14613         HAVE_DECL_GETLOGIN_R to 1.
14614         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
14615
14616 2010-01-09  Bruno Haible  <bruno@clisp.org>
14617
14618         * lib/unistd.in.h (getlogin_r): Add comment.
14619
14620 2010-01-09  Bruno Haible  <bruno@clisp.org>
14621
14622         Tests for module 'getlogin_r'.
14623         * modules/getlogin_r-tests: New file.
14624         * tests/test-getlogin_r.c: New file.
14625
14626 2010-01-09  Jim Meyering  <meyering@redhat.com>
14627
14628         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
14629         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
14630         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
14631
14632 2010-01-08  Simon Josefsson  <simon@josefsson.org>
14633
14634         * lib/dup2.c (rpl_dup2): Improve comment.
14635
14636 2010-01-08  Eric Blake  <ebb9@byu.net>
14637
14638         maint.mk: allow packages to add makefile @@ exceptions
14639         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
14640         (sc_makefile_check): Rename...
14641         (sc_makefile_at_at_check): ...to this, and use hook.
14642
14643         dup2: work around mingw bug
14644         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
14645         Reported by Simon Josefsson.
14646
14647 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
14648
14649         glob: Fix C++ compilation.
14650         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
14651         C++.
14652
14653 2010-01-07  Bruno Haible  <bruno@clisp.org>
14654
14655         Fix indentation of wctype.in.h, broken since 2007-01-06.
14656         * lib/wctype.in.h: Fix indentation of preprocessor directives.
14657
14658 2010-01-07  Bruno Haible  <bruno@clisp.org>
14659
14660         mbslen: Avoid collision with system function.
14661         * lib/string.in.h [MirBSD]: Include <wchar.h>.
14662         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
14663         * m4/mbslen.m4: New file.
14664         * modules/mbslen (Files): Add it.
14665         (configure.ac): Invoke gl_MBSLEN.
14666         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
14667         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
14668         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
14669         via Ian Beckwith <ianb@erislabs.net>.
14670
14671 2010-01-07  Bruno Haible  <bruno@clisp.org>
14672
14673         dirent: Document the last fix.
14674         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
14675
14676 2010-01-07  Bruno Haible  <bruno@clisp.org>
14677
14678         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
14679         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
14680         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
14681         va_list are defined.
14682         * doc/posix-headers/stdio.texi: Document the bug of missing types.
14683         Reported by Eric Blake.
14684
14685 2010-01-07  Bruno Haible  <bruno@clisp.org>
14686
14687         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
14688         * modules/xlist (Depends-on): Add 'list',
14689         * modules/xoset (Depends-on): Add 'oset'.
14690         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14691
14692 2010-01-07  Bruno Haible  <bruno@clisp.org>
14693
14694         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
14695         * doc/posix-functions/strncasecmp.texi: Likewise.
14696
14697 2010-01-07  Bruno Haible  <bruno@clisp.org>
14698
14699         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
14700
14701 2010-01-07  John W. Eaton  <jwe@octave.org>
14702
14703         wctype: allow C++ use
14704         * lib/wctype.in.h: Add extern "C" block for C++.
14705
14706 2010-01-06  Eric Blake  <ebb9@byu.net>
14707
14708         maint.mk: detect incorrect GFDL usage
14709         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
14710
14711 2010-01-06  Jim Meyering  <meyering@redhat.com>
14712         and Eric Blake  <ebb9@byu.net>
14713
14714         maint.mk: ignore multi-line copyright in NEWS
14715         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
14716
14717 2010-01-06  Eric Blake  <ebb9@byu.net>
14718
14719         select: add missing dependency
14720         * modules/select-tests (Depends-on): Move sockets dependency...
14721         * modules/select (Depends-on): ...here.
14722         Reported by Ian Beckwith.
14723
14724         doc: regenerate INSTALL
14725         * doc/INSTALL: Reflect recent autoconf update.
14726         * doc/INSTALL.ISO: Likewise.
14727         * doc/INSTALL.UTF-8: Likewise.
14728
14729         pread: fix compilation on glibc
14730         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
14731         Reported by Ralf Wildenhues.
14732
14733         dirent: fix test failure
14734         * lib/dirent.in.h (includes): Guarantee ino_t.
14735         Reported by Ralf Wildenhues.
14736
14737 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
14738
14739         linkat, renameat: avoid bad free
14740         * lib/at-func2.c (at_func2): Fix typo.
14741         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
14742
14743 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14744
14745         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
14746         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
14747         to avoid failure of symlink test later.
14748
14749 2010-01-06  Eric Blake  <ebb9@byu.net>
14750
14751         stdio, unistd: guarantee ssize_t
14752         * lib/unistd.in.h (includes): Ensure that types required by POSIX
14753         2008 are exposed when needed.
14754         * lib/stdio.in.h (includes): Likewise.
14755         Reported by Ralf Wildenhues.
14756
14757 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
14758
14759         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
14760         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
14761         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
14762
14763 2010-01-06  Jim Meyering  <meyering@redhat.com>
14764
14765         readtokens: this module *does* require xalloc.h
14766         It uses only functions that were omitted by the old syntax-check rule.
14767         * lib/readtokens.c: Include "xalloc.h" once again.
14768         * modules/readtokens (Depends-on): Add xalloc.
14769         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
14770
14771 2010-01-05  Eric Blake  <ebb9@byu.net>
14772
14773         maint: support 'make announcement' from a VPATH build
14774         * top/maint.mk (announcement): Look for correct NEWS file.
14775
14776 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
14777
14778         utimens (fdutimens): ignore a negative FD, per contract
14779         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
14780         when we have a valid file descriptor.  Otherwise, using a brand
14781         new glibc (with just-patched futimens that now fails with EBADF)
14782         would cause this function to fail with ENOSYS.
14783         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
14784         See also http://bugzilla.redhat.com/552320.
14785
14786 2010-01-05  Eric Blake  <ebb9@byu.net>
14787
14788         strcase: document what it provides
14789         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
14790         gnulib module.
14791         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
14792         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
14793
14794 2010-01-05  Jim Meyering  <meyering@redhat.com>
14795
14796         maint: remove useless inclusions of "xalloc.h"
14797         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
14798         * lib/readtokens.c: Likewise.
14799         * lib/same.c: Likewise.
14800         * modules/getloadavg (Depends-on): Remove xalloc.
14801         * modules/readtokens: Likewise.
14802         * modules/same: Likewise.
14803
14804         maint.mk: include 4 more function names in alloca.h-checking regexp
14805         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
14806         regexp.  Before, we would give a false-positive (saying alloca.h
14807         is included unnecessarily) when the only uses involved omitted symbols.
14808
14809         xalloc.h: use consistent formatting
14810         * lib/xalloc.h: Move declarations to start in the first column.
14811
14812 2010-01-05  Eric Blake  <ebb9@byu.net>
14813
14814         mkdir: avoid xalloc
14815         * lib/mkdir.c (includes): Drop unused header.
14816         Reported by John W. Eaton.
14817
14818 2010-01-04  Jim Meyering  <meyering@redhat.com>
14819
14820         nl_langinfo: avoid configure-time syntax error
14821         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
14822         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
14823         the empty string.  Don't let that provoke a shell syntax error.
14824
14825         regcomp, regexec, fnmatch: avoid array bounds read error
14826         * lib/regcomp.c (build_equiv_class): From glibc:
14827         Use only the low 24 bits of a findidx return value as an index
14828         into the weights array.  Patch by Ulrich Drepper:
14829         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
14830         * lib/regexec.c (check_node_accept_bytes): Likewise.
14831         * lib/fnmatch_loop.c (FCT): Likewise.
14832
14833         regcomp: skip collseq lookup when there are no rules
14834         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
14835         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
14836
14837         regcomp: recognize ill-formed { } expressions
14838         * lib/regcomp.c (parse_dup_op): From glibc:
14839         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
14840
14841         regcomp: fix typo in comment
14842         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
14843         s/satisfy/satisfies/.
14844
14845         regcomp: sync from glibc: remove dead store
14846         * lib/regcomp.c (duplicate_node_closure): Remove useless
14847         search_duplicated_node call and dead store.
14848
14849         regcomp: sync from glibc; always use nl_langinfo
14850         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
14851         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
14852         * modules/regex (Depends-on): Add nl_langinfo.
14853
14854 2010-01-04  Eric Blake  <ebb9@byu.net>
14855
14856         fdopendir: fix configure test
14857         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
14858
14859 2010-01-01  Bruno Haible  <bruno@clisp.org>
14860
14861         wchar: Remove unused configure check.
14862         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
14863
14864 2010-01-01  Eric Blake  <ebb9@byu.net>
14865
14866         headers: make check of system header explicit
14867         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
14868         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
14869         ourselves.
14870         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
14871         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14872         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
14873         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
14874         internals.
14875         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
14876         missing.
14877         Suggested by Bruno Haible.
14878
14879 2010-01-01  Jim Meyering  <meyering@redhat.com>
14880
14881         ChangeLog: tweak to eliminate unnecessary copyright line
14882         * ChangeLog: Remove a copyright line that was mistakenly updated
14883         by today's update-copyright run.  Reported by Eric Blake.
14884
14885         test-update-copyright: don't let envvar setting cause test failure
14886         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
14887
14888 2010-01-01  Bruno Haible  <bruno@clisp.org>
14889
14890         localename: Avoid gcc warning.
14891         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
14892         function if it is not used.
14893
14894 2010-01-01  Jim Meyering  <meyering@redhat.com>
14895
14896         update nearly all FSF copyright year lists to include 2010
14897         Use the same procedure as for 2009, outlined in
14898         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
14899
14900         version-etc: set COPYRIGHT_YEAR to 2010
14901         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
14902
14903 2009-12-31  Eric Blake  <ebb9@byu.net>
14904
14905         doc: correct availability of cygwin 1.5.x getopt
14906         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
14907         variables.
14908         * doc/posix-functions/opterr.texi (opterr): Likewise.
14909         * doc/posix-functions/optind.texi (optind): Likewise.
14910         * doc/posix-functions/optopt.texi (optopt): Likewise.
14911         * doc/posix-functions/tzname.texi (tzname): Likewise.
14912
14913         openat: update maintainer
14914         * modules/openat (Maintainer): Add myself.
14915
14916         utimens: avoid shadowing warning
14917         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
14918         buffers into one, to avoid shadowing, as well as avoiding a
14919         redundant stat.
14920         Reported by Jim Meyering.
14921
14922         test-dup2: avoid compiler warning
14923         * tests/test-dup2.c (is_inheritable): Only define if used.
14924
14925 2010-01-01  Bruno Haible  <bruno@clisp.org>
14926
14927         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
14928         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
14929         defined, use wctomb instead of wcrtomb.
14930
14931 2010-01-01  Bruno Haible  <bruno@clisp.org>
14932
14933         iconv: Reject native Solaris iconv.
14934         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
14935         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
14936
14937 2009-12-31  Bruno Haible  <bruno@clisp.org>
14938
14939         * tests/test-signal.c (main): Remove test of 'SIG'.
14940
14941 2009-12-31  Bruno Haible  <bruno@clisp.org>
14942
14943         spawn: Fix incomplete fix.
14944         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
14945         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
14946         warnings for GNULIB_POSIXCHECK again.
14947         Reported by Eric Blake.
14948
14949 2009-12-31  Bruno Haible  <bruno@clisp.org>
14950
14951         Avoid namespace pollution on glibc systems.
14952         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
14953         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
14954         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
14955         glibc systems.
14956
14957 2009-12-31  Bruno Haible  <bruno@clisp.org>
14958
14959         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
14960         (gl_REPLACE_WCHAR_H): Turn into a no-op.
14961         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
14962         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
14963         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
14964         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
14965         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
14966
14967 2009-12-31  Bruno Haible  <bruno@clisp.org>
14968
14969         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
14970         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
14971         afterwards.
14972
14973 2009-12-31  Bruno Haible  <bruno@clisp.org>
14974
14975         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
14976         SYS_UTSNAME_H.
14977
14978 2009-12-31  Bruno Haible  <bruno@clisp.org>
14979
14980         spawn: Fix misapplied patch.
14981         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
14982         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
14983         warnings for GNULIB_POSIXCHECK.
14984
14985 2009-12-31  Bruno Haible  <bruno@clisp.org>
14986
14987         times: Update after sys_times changed.
14988         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
14989         * modules/times (Files): Add it.
14990         (configure.ac): Invoke gl_FUNC_TIMES.
14991
14992 2009-12-31  Bruno Haible  <bruno@clisp.org>
14993
14994         Use AC_C_INLINE where necessary.
14995         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
14996         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
14997         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
14998         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
14999         * m4/mbfile.m4 (gl_MBFILE): Likewise.
15000         * m4/mbiter.m4 (gl_MBITER): Likewise.
15001         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
15002         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
15003         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
15004         * modules/u64 (configure.ac): Likewise.
15005
15006 2009-12-31  Bruno Haible  <bruno@clisp.org>
15007
15008         Use AC_C_INLINE instead of module 'inline' where possible.
15009         * modules/inline (Description): Clarify purpose.
15010         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
15011         * modules/count-one-bits (Depends-on): Remove inline.
15012         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
15013         * modules/openat (Depends-on): Remove inline.
15014         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
15015         instead of depending on module 'inline'.
15016         * modules/filevercmp (Depends-on, configure.ac): Likewise.
15017         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
15018         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
15019         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
15020         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
15021         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
15022         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
15023         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
15024         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
15025         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
15026         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
15027         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
15028         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
15029         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
15030         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
15031         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
15032         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
15033         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
15034         Likewise.
15035         * modules/unictype/property-ascii-hex-digit (Depends-on,
15036         configure.ac): Likewise.
15037         * modules/unictype/property-bidi-arabic-digit (Depends-on,
15038         configure.ac): Likewise.
15039         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
15040         configure.ac): Likewise.
15041         * modules/unictype/property-bidi-block-separator (Depends-on,
15042         configure.ac): Likewise.
15043         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
15044         configure.ac): Likewise.
15045         * modules/unictype/property-bidi-common-separator (Depends-on,
15046         configure.ac): Likewise.
15047         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
15048         Likewise.
15049         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
15050         configure.ac): Likewise.
15051         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
15052         configure.ac): Likewise.
15053         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
15054         configure.ac): Likewise.
15055         * modules/unictype/property-bidi-european-digit (Depends-on,
15056         configure.ac): Likewise.
15057         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
15058         configure.ac): Likewise.
15059         * modules/unictype/property-bidi-left-to-right (Depends-on,
15060         configure.ac): Likewise.
15061         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
15062         configure.ac): Likewise.
15063         * modules/unictype/property-bidi-other-neutral (Depends-on,
15064         configure.ac): Likewise.
15065         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
15066         Likewise.
15067         * modules/unictype/property-bidi-segment-separator (Depends-on,
15068         configure.ac): Likewise.
15069         * modules/unictype/property-bidi-whitespace (Depends-on,
15070         configure.ac): Likewise.
15071         * modules/unictype/property-combining (Depends-on, configure.ac):
15072         Likewise.
15073         * modules/unictype/property-composite (Depends-on, configure.ac):
15074         Likewise.
15075         * modules/unictype/property-currency-symbol (Depends-on,
15076         configure.ac): Likewise.
15077         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
15078         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
15079         Likewise.
15080         * modules/unictype/property-default-ignorable-code-point (Depends-on,
15081         configure.ac): Likewise.
15082         * modules/unictype/property-deprecated (Depends-on, configure.ac):
15083         Likewise.
15084         * modules/unictype/property-diacritic (Depends-on, configure.ac):
15085         Likewise.
15086         * modules/unictype/property-extender (Depends-on, configure.ac):
15087         Likewise.
15088         * modules/unictype/property-format-control (Depends-on, configure.ac):
15089         Likewise.
15090         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
15091         Likewise.
15092         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
15093         Likewise.
15094         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
15095         Likewise.
15096         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
15097         Likewise.
15098         * modules/unictype/property-hyphen (Depends-on, configure.ac):
15099         Likewise.
15100         * modules/unictype/property-id-continue (Depends-on, configure.ac):
15101         Likewise.
15102         * modules/unictype/property-id-start (Depends-on, configure.ac):
15103         Likewise.
15104         * modules/unictype/property-ideographic (Depends-on, configure.ac):
15105         Likewise.
15106         * modules/unictype/property-ids-binary-operator (Depends-on,
15107         configure.ac): Likewise.
15108         * modules/unictype/property-ids-trinary-operator (Depends-on,
15109         configure.ac): Likewise.
15110         * modules/unictype/property-ignorable-control (Depends-on,
15111         configure.ac): Likewise.
15112         * modules/unictype/property-iso-control (Depends-on, configure.ac):
15113         Likewise.
15114         * modules/unictype/property-join-control (Depends-on, configure.ac):
15115         Likewise.
15116         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
15117         Likewise.
15118         * modules/unictype/property-line-separator (Depends-on, configure.ac):
15119         Likewise.
15120         * modules/unictype/property-logical-order-exception (Depends-on,
15121         configure.ac): Likewise.
15122         * modules/unictype/property-lowercase (Depends-on, configure.ac):
15123         Likewise.
15124         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
15125         * modules/unictype/property-non-break (Depends-on, configure.ac):
15126         Likewise.
15127         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
15128         Likewise.
15129         * modules/unictype/property-numeric (Depends-on, configure.ac):
15130         Likewise.
15131         * modules/unictype/property-other-alphabetic (Depends-on,
15132         configure.ac): Likewise.
15133         * modules/unictype/property-other-default-ignorable-code-point
15134         (Depends-on, configure.ac): Likewise.
15135         * modules/unictype/property-other-grapheme-extend (Depends-on,
15136         configure.ac): Likewise.
15137         * modules/unictype/property-other-id-continue (Depends-on,
15138         configure.ac): Likewise.
15139         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
15140         Likewise.
15141         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
15142         Likewise.
15143         * modules/unictype/property-other-math (Depends-on, configure.ac):
15144         Likewise.
15145         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
15146         Likewise.
15147         * modules/unictype/property-paired-punctuation (Depends-on,
15148         configure.ac): Likewise.
15149         * modules/unictype/property-paragraph-separator (Depends-on,
15150         configure.ac): Likewise.
15151         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
15152         Likewise.
15153         * modules/unictype/property-pattern-white-space (Depends-on,
15154         configure.ac): Likewise.
15155         * modules/unictype/property-private-use (Depends-on, configure.ac):
15156         Likewise.
15157         * modules/unictype/property-punctuation (Depends-on, configure.ac):
15158         Likewise.
15159         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
15160         Likewise.
15161         * modules/unictype/property-radical (Depends-on, configure.ac):
15162         Likewise.
15163         * modules/unictype/property-sentence-terminal (Depends-on,
15164         configure.ac): Likewise.
15165         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
15166         Likewise.
15167         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
15168         * modules/unictype/property-terminal-punctuation (Depends-on,
15169         configure.ac): Likewise.
15170         * modules/unictype/property-titlecase (Depends-on, configure.ac):
15171         Likewise.
15172         * modules/unictype/property-unassigned-code-value (Depends-on,
15173         configure.ac): Likewise.
15174         * modules/unictype/property-unified-ideograph (Depends-on,
15175         configure.ac): Likewise.
15176         * modules/unictype/property-uppercase (Depends-on, configure.ac):
15177         Likewise.
15178         * modules/unictype/property-variation-selector (Depends-on,
15179         configure.ac): Likewise.
15180         * modules/unictype/property-white-space (Depends-on, configure.ac):
15181         Likewise.
15182         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
15183         Likewise.
15184         * modules/unictype/property-xid-start (Depends-on, configure.ac):
15185         Likewise.
15186         * modules/unictype/property-zero-width (Depends-on, configure.ac):
15187         Likewise.
15188         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
15189         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
15190         Likewise.
15191
15192 2009-12-31  Bruno Haible  <bruno@clisp.org>
15193
15194         Remove unnecessary AC_C_INLINE invocation.
15195         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
15196         since 2009-08-21.
15197
15198 2009-12-31  Jim Meyering  <meyering@redhat.com>
15199
15200         maint.mk: don't require explicit gpg_key_ID in cfg.mk
15201         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
15202         With this change, we can all remove the gpg_key_ID = ... definition
15203         from our respective cfg.mk files.
15204
15205         maint.mk: create announcement template in ~/, not in /tmp
15206         * top/maint.mk (emit_upload_commands): Adjust.
15207         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
15208         Remove temporary file, .ci-msg.
15209
15210 2009-12-31  Eric Blake  <ebb9@byu.net>
15211
15212         link-warning: always build headers with link warnings
15213         * modules/arpa_inet (Makefile.am): Always build replacement
15214         header.
15215         * modules/ctype (Makefile.am): Likewise.
15216         * modules/dirent (Makefile.am): Likewise.
15217         * modules/inttypes (Makefile.am): Likewise.
15218         * modules/langinfo (Makefile.am): Likewise.
15219         * modules/locale (Makefile.am): Likewise.
15220         * modules/spawn (Makefile.am): Likewise.
15221         * modules/sys_file (Makefile.am): Likewise.
15222         * modules/sys_ioctl (Makefile.am): Likewise.
15223         * modules/sys_select (Makefile.am): Likewise.
15224         * modules/sys_socket (Makefile.am): Likewise.
15225         * modules/sys_times (Makefile.am): Likewise.
15226         * modules/sys_utsname (Makefile.am): Likewise.
15227         * modules/sys_wait (Makefile.am): Likewise.
15228         * modules/wchar (Makefile.am): Likewise.
15229         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
15230         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
15231         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
15232         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
15233         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
15234         Likewise.
15235         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
15236         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15237         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
15238         Likewise.
15239         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
15240         Likewise.
15241         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
15242         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
15243         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
15244         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
15245         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15246         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
15247         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
15248         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
15249         (gl_WCHAR_H_DEFAULTS): Likewise.
15250
15251 2009-12-31  Eric Blake  <ebb9@byu.net>
15252
15253         signal, spawn: use link warnings
15254         * lib/signal.in.h (sigset_t): Make unconditional.
15255         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
15256         (sigpending, sigprocmask, sigaction): Add link warnings.
15257         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
15258         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
15259         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
15260         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
15261         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
15262         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
15263         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
15264         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
15265         (posix_spawn_file_actions_destroy)
15266         (posix_spawn_file_actions_addopen)
15267         (posix_spawn_file_actions_addclose)
15268         (posix_spawn_file_actions_adddup2): Likewise.
15269         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
15270         * tests/test-signal.c (main): Enhance test.
15271
15272         spawn: improve wrapper support
15273         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
15274         (gl_SPAWN_H_DEFAULTS): New defaults.
15275         * modules/spawn (Makefile.am): Substitute them.
15276         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
15277         Only declare if missing or broken.
15278
15279         sys_times, sys_utsname: use include_next
15280         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
15281         header.
15282         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
15283         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
15284         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
15285         * modules/sys_times (Depends-on): Add include_next.
15286         (Makefile.am): Substitute additional values.
15287         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
15288         * lib/sys_times.in.h (includes): Include native header, if
15289         available.
15290         * lib/sys_utsname.in.h (includes): Likewise.
15291         * tests/test-sys_times.c (main): Enhance test.
15292
15293         fdutimensat: revert prior patch
15294         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
15295         utimens.h.
15296         Reported by Bruno Haible.
15297
15298 2009-12-30  Eric Blake  <ebb9@byu.net>
15299
15300         sys_wait: drop link-warning dependency
15301         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
15302         link-warning efforts.
15303         * lib/sys_wait.in.h: Likewise.
15304
15305         fdutimensat: remove bogus dependency
15306         * modules/fdutimensat (Depends-on): Drop inline.
15307
15308         unistd: fix typo
15309         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
15310
15311 2009-12-30  Bruno Haible  <bruno@clisp.org>
15312
15313         Fix compilation error with Solaris cc.
15314         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
15315         * lib/unicase/u16-is-invariant.c: Likewise.
15316         * lib/unicase/u32-is-invariant.c: Likewise.
15317         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
15318
15319 2009-12-30  Bruno Haible  <bruno@clisp.org>
15320
15321         Fix test crash.
15322         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
15323         locales.
15324         Reported by Simon Josefsson <simon@josefsson.org>.
15325
15326 2009-12-30  Bruno Haible  <bruno@clisp.org>
15327
15328         Fix compilation error on most platforms.
15329         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
15330         Reported by Simon Josefsson <simon@josefsson.org>
15331         and Nelson H. F. Beebe <beebe@math.utah.edu>.
15332
15333 2009-12-30  Eric Blake  <ebb9@byu.net>
15334
15335         futimens, utimensat: work around ntfs-3g bug
15336         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
15337         a ctime bug is present, and expand workaround to cover ntfs-3g.
15338         * lib/utimens.c (fdutimens, lutimens): Likewise.
15339         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
15340         (validate_timespec): Adjust return value.
15341         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
15342         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15343         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
15344
15345 2009-12-29  Eric Blake  <ebb9@byu.net>
15346
15347         link-warning: make usage consistent
15348         * modules/ctype (Depends-on): Add link-warning.
15349         (Makefile.am): Update rules accordingly.
15350         * modules/langinfo (Depends-on, Makefile.am): Likewise.
15351         * modules/locale (Depends-on, Makefile.am): Likewise.
15352         * modules/sys_file (Makefile.am): Likewise.
15353         * modules/getopt-posix (Makefile.am): Delete unused link warning
15354         efforts.
15355         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
15356         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
15357         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
15358         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
15359
15360         stdio: remove unused variables
15361         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
15362         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
15363         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
15364
15365         tests: test more substitute headers
15366         * modules/ctype-tests: New file.
15367         * modules/dirent-tests: Likewise.
15368         * modules/spawn-tests: Likewise.
15369         * modules/sys_file-tests: Likewise.
15370         * modules/sys_ioctl-tests: Likewise.
15371         * modules/sys_wait-tests: Likewise.
15372         * tests/test-ctype.c: Likewise.
15373         * tests/test-dirent.c: Likewise.
15374         * tests/test-spawn.c: Likewise.
15375         * tests/test-sys_file.c: Likewise.
15376         * tests/test-sys_ioctl.c: Likewise.
15377         * tests/test-sys_wait.c: Likewise.
15378         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
15379         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
15380         whether or not flock is in use.
15381
15382         tests: remove License section from module
15383         * modules/arpa_inet-tests: Remove unneeded section.
15384         * modules/byteswap-tests: Likewise.
15385         * modules/ceilf-tests: Likewise.
15386         * modules/ceill-tests: Likewise.
15387         * modules/crypto/des-tests: Likewise.
15388         * modules/crypto/gc-arcfour-tests: Likewise.
15389         * modules/crypto/gc-arctwo-tests: Likewise.
15390         * modules/crypto/gc-des-tests: Likewise.
15391         * modules/crypto/gc-hmac-md5-tests: Likewise.
15392         * modules/crypto/gc-hmac-sha1-tests: Likewise.
15393         * modules/crypto/gc-md2-tests: Likewise.
15394         * modules/crypto/gc-md4-tests: Likewise.
15395         * modules/crypto/gc-md5-tests: Likewise.
15396         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
15397         * modules/crypto/gc-rijndael-tests: Likewise.
15398         * modules/crypto/gc-sha1-tests: Likewise.
15399         * modules/crypto/gc-tests: Likewise.
15400         * modules/crypto/md2-tests: Likewise.
15401         * modules/crypto/md4-tests: Likewise.
15402         * modules/fcntl-h-tests: Likewise.
15403         * modules/floorf-tests: Likewise.
15404         * modules/floorl-tests: Likewise.
15405         * modules/frexp-nolibm-tests: Likewise.
15406         * modules/frexp-tests: Likewise.
15407         * modules/frexpl-nolibm-tests: Likewise.
15408         * modules/frexpl-tests: Likewise.
15409         * modules/getaddrinfo-tests: Likewise.
15410         * modules/inttypes-tests: Likewise.
15411         * modules/isfinite-tests: Likewise.
15412         * modules/isinf-tests: Likewise.
15413         * modules/ldexpl-tests: Likewise.
15414         * modules/locale-tests: Likewise.
15415         * modules/math-tests: Likewise.
15416         * modules/netdb-tests: Likewise.
15417         * modules/netinet_in-tests: Likewise.
15418         * modules/printf-frexp-tests: Likewise.
15419         * modules/printf-frexpl-tests: Likewise.
15420         * modules/priv-set-tests: Likewise.
15421         * modules/random_r-tests: Likewise.
15422         * modules/round-tests: Likewise.
15423         * modules/roundf-tests: Likewise.
15424         * modules/roundl-tests: Likewise.
15425         * modules/search-tests: Likewise.
15426         * modules/select-tests: Likewise.
15427         * modules/signal-tests: Likewise.
15428         * modules/stdbool-tests: Likewise.
15429         * modules/stddef-tests: Likewise.
15430         * modules/stdint-tests: Likewise.
15431         * modules/stdio-tests: Likewise.
15432         * modules/stdlib-tests: Likewise.
15433         * modules/string-tests: Likewise.
15434         * modules/strings-tests: Likewise.
15435         * modules/sys_select-tests: Likewise.
15436         * modules/sys_socket-tests: Likewise.
15437         * modules/sys_stat-tests: Likewise.
15438         * modules/sys_time-tests: Likewise.
15439         * modules/sys_utsname-tests: Likewise.
15440         * modules/sysexits-tests: Likewise.
15441         * modules/time-tests: Likewise.
15442         * modules/trunc-tests: Likewise.
15443         * modules/truncf-tests: Likewise.
15444         * modules/truncl-tests: Likewise.
15445         * modules/tsearch-tests: Likewise.
15446         * modules/unistd-tests: Likewise.
15447         * modules/wchar-tests: Likewise.
15448         * modules/wctype-tests: Likewise.
15449
15450         tests: fix license on several tests
15451         * tests/test-des.c: Update to GPLv3+.
15452         * tests/test-flock.c: Likewise.
15453         * tests/test-fsync.c: Likewise.
15454         * tests/test-futimens.h: Likewise.
15455         * tests/test-gc-arcfour.c: Likewise.
15456         * tests/test-gc-arctwo.c: Likewise.
15457         * tests/test-gc-des.c: Likewise.
15458         * tests/test-gc-hmac-md5.c: Likewise.
15459         * tests/test-gc-hmac-sha1.c: Likewise.
15460         * tests/test-gc-md2.c: Likewise.
15461         * tests/test-gc-md4.c: Likewise.
15462         * tests/test-gc-md5.c: Likewise.
15463         * tests/test-gc-pbkdf2-sha1.c: Likewise.
15464         * tests/test-gc-rijndael.c: Likewise.
15465         * tests/test-gc-sha1.c: Likewise.
15466         * tests/test-gc.c: Likewise.
15467         * tests/test-getcwd.c: Likewise.
15468         * tests/test-link.c: Likewise.
15469         * tests/test-link.h: Likewise.
15470         * tests/test-lutimens.h: Likewise.
15471         * tests/test-md2.c: Likewise.
15472         * tests/test-md4.c: Likewise.
15473         * tests/test-mkdir.h: Likewise.
15474         * tests/test-rename.c: Likewise.
15475         * tests/test-rename.h: Likewise.
15476         * tests/test-safe-alloc.c: Likewise.
15477         * tests/test-utimens-common.h: Likewise.
15478         * tests/test-utimens.h: Likewise.
15479
15480         maint: sync license texts
15481         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
15482         * doc/gpl-3.0.texi: Revert copyright year update.
15483         * doc/lgpl-3.0.texi: Likewise.
15484
15485 2009-12-29  Jim Meyering  <meyering@redhat.com>
15486
15487         update nearly all FSF copyright year lists to include 2009
15488         The files named by the following are exempted:
15489             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
15490               test -f "$dst" && { echo "$dst"; continue; }
15491               test -d "$dst" || continue
15492               echo "$dst"/$(basename "$src")
15493             done > exempt
15494             git ls-files tests/unictype >> exempt
15495         In the remaining files, convert to all-interval notation if
15496         - there is already at least one year interval like 2000-2003
15497         - the file is maintained by me
15498         - the file is in lib/uni*/, where that style already prevails
15499         Otherwise, use update-copyright's default.
15500
15501 2009-12-29  Simon Josefsson  <simon@josefsson.org>
15502         and Eric Blake  <ebb9@byu.net>
15503
15504         tests: don't require debug system() to pass
15505         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
15506         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15507         * tests/test-unlink.h (test_unlink_func): Likewise.
15508         * tests/test-fstatat.c (main): ...into callers.
15509         * tests/test-lstat.c (main): Likewise.
15510         * tests/test-rmdir.c (main): Likewise.
15511         * tests/test-unlink.c (main): Likewise.
15512         * tests/test-unlinkat.c (main): Likewise.
15513         * tests/test-areadlink-with-size.c (main): Don't require a
15514         debug-only system call to pass, aiding cross-testing to mingw.
15515         * tests/test-areadlink.c (main): Likewise.
15516         * tests/test-areadlinkat-with-size.c (main): Likewise.
15517         * tests/test-areadlinkat.c (main): Likewise.
15518         * tests/test-canonicalize-lgpl.c (main): Likewise.
15519         * tests/test-canonicalize.c (main): Likewise.
15520         * tests/test-chown.c (main): Likewise.
15521         * tests/test-fchownat.c (main): Likewise.
15522         * tests/test-lchown.c (main): Likewise.
15523         * tests/test-fdutimensat.c (main): Likewise.
15524         * tests/test-futimens.c (main): Likewise.
15525         * tests/test-link.c (main): Likewise.
15526         * tests/test-linkat.c (main): Likewise.
15527         * tests/test-mkdir.c (main): Likewise.
15528         * tests/test-mkdirat.c (main): Likewise.
15529         * tests/test-mkfifo.c (main): Likewise.
15530         * tests/test-mkfifoat.c (main): Likewise.
15531         * tests/test-mknod.c (main): Likewise.
15532         * tests/test-readlink.c (main): Likewise.
15533         * tests/test-remove.c (main): Likewise.
15534         * tests/test-rename.c (main): Likewise.
15535         * tests/test-renameat.c (main): Likewise.
15536         * tests/test-symlink.c (main): Likewise.
15537         * tests/test-symlinkat.c (main): Likewise.
15538         * tests/test-utimens.c (main): Likewise.
15539         * tests/test-utimensat.c (main): Likewise.
15540
15541 2009-12-29  Simon Josefsson  <simon@josefsson.org>
15542
15543         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
15544         on $(UNUSED_PARAMETER_H) to avoid build failure.
15545
15546 2009-12-28  Jim Meyering  <meyering@redhat.com>
15547
15548         update-copyright: you may specify a max. line length other than 72
15549         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
15550
15551         maint: use consistent FSF copyright line syntax
15552         * lib/posixtm.c: Add missing comma in FSF copyright line.
15553         * lib/posixtm.h: Likewise.
15554         * lib/getugroups.c: Add missing ", Inc.".
15555
15556         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
15557         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
15558         FSF copyright line.  Remove trailing blanks.
15559
15560 2009-12-28  Eric Blake  <ebb9@byu.net>
15561
15562         test-dup2: reduce dependencies
15563         * modules/cloexec (Configure.ac): Set witness.
15564         * modules/dup2-tests (Depends-on): Drop cloexec.
15565         * tests/test-dup2.c (main): Skip portion of test if cloexec module
15566         not present.
15567         Suggested by Bruno Haible.
15568
15569 2009-12-26  Bruno Haible  <bruno@clisp.org>
15570
15571         Remove an unneeded dependency.
15572         * modules/fseterr (Depends-on): Remove dup2.
15573
15574 2009-12-26  Eric Blake  <ebb9@byu.net>
15575
15576         tests: use macros.h in more places
15577         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
15578         (ASSERT_STREAM): Provide default of stderr.
15579         * tests/test-dirent-safer.c: Include macros.h, using alternate
15580         stream for assertions.
15581         * tests/test-dup-safer.c: Likewise.
15582         * tests/test-freopen-safer.c: Likewise.
15583         * tests/test-getopt.c: Likewise.
15584         * tests/test-openat-safer.c: Likewise.
15585         * tests/test-pipe.c: Likewise.
15586         * tests/test-popen-safer.c: Likewise.
15587         * modules/dirent-safer-tests (Files): Include macros.h.
15588         * modules/unistd-safer-tests (Files): Likewise.
15589         * modules/freopen-safer-tests (Files): Likewise.
15590         * modules/getopt-posix-tests (Files): Likewise.
15591         * modules/openat-safer-tests (Files): Likewise.
15592         * modules/pipe-tests (Files): Likewise.
15593
15594 2009-12-26  Bruno Haible  <bruno@clisp.org>
15595
15596         javacomp: Portability fix.
15597         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
15598         that it also works on Solaris.
15599
15600 2009-12-26  Bruno Haible  <bruno@clisp.org>
15601
15602         localename: Fix storage allocation of gl_locale_name_thread's result.
15603         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
15604         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
15605         all platforms that have 'uselocale'.
15606         (gl_locale_name_thread_unsafe): New function, extracted from
15607         gl_locale_name_thread.
15608         (gl_locale_name_thread): Call struniq on all platforms that have
15609         'uselocale'.
15610         * tests/test-localename.c (test_locale_name_thread): Check that the
15611         resulting strings are permanently allocated.
15612         * modules/localename-tests (Depends-on): Add strdup.
15613
15614 2009-12-26  Bruno Haible  <bruno@clisp.org>
15615
15616         * tests/test-localename.c (categories): Fill in the strings.
15617
15618 2009-12-26  Jim Meyering  <meyering@redhat.com>
15619
15620         isdir: complete the removal of m4/isdir.m4
15621         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
15622
15623         isdir: clean up, since at least grep still uses it
15624         * lib/isdir.c: Include "isdir.h".
15625         (S_ISDIR): Remove now-unneeded definition.
15626         * modules/isdir (Files): Add lib/isdir.h.
15627         * lib/isdir.h: New file, with declaration.
15628         * m4/isdir.m4: Remove file -- unneeded.
15629
15630 2009-12-25  Bruno Haible  <bruno@clisp.org>
15631
15632         selinux-h: Make generated .h files standalone.
15633         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
15634         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
15635         * lib/se-selinux.in.h: Likewise.
15636         * modules/selinux-h (Depends-on): Add unused-parameter.
15637         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
15638         selinux/selinux.h and selinux/context.h.
15639         Suggested by Eric Blake.
15640
15641 2009-12-25  Bruno Haible  <bruno@clisp.org>
15642
15643         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
15644         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
15645         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
15646         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
15647         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
15648
15649 2009-12-24  Bruno Haible  <bruno@clisp.org>
15650
15651         openat: Fix warning.
15652         * lib/openat-proc.c: Include <unistd.h>.
15653
15654 2009-12-24  Bruno Haible  <bruno@clisp.org>
15655
15656         New module 'unused-parameter'.
15657         * build-aux/unused-parameter.h: New file, extracted from earlier
15658         gnulib-common.m4.
15659         * modules/unused-parameter: New file.
15660         * lib/unistr.h: Include unused-parameter.h.
15661         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
15662         _GL_UNUSED.
15663         * modules/unistr/base (Depends-on): Add unused-parameter.
15664
15665 2009-12-24  Bruno Haible  <bruno@clisp.org>
15666
15667         Add missing dependencies to 'extensions' module.
15668         * m4/extensions.m4: Add comment.
15669         * modules/accept4 (Depends-on): Add extensions.
15670         * modules/dup3 (Depends-on): Likewise.
15671         * modules/fcntl (Depends-on): Likewise.
15672         * modules/futimens (Depends-on): Likewise.
15673         * modules/mknod (Depends-on): Likewise.
15674         * modules/pipe2 (Depends-on): Likewise.
15675         * modules/stat-time (Depends-on): Likewise.
15676         * modules/strcasestr-simple (Depends-on): Likewise.
15677         * modules/strsignal (Depends-on): Likewise.
15678         * modules/utimensat (Depends-on): Likewise.
15679         * modules/localcharset (Depends-on): Likewise. Needed because of
15680         gl_FCNTL_O_FLAGS.
15681         * modules/wcrtomb (Depends-on): Likewise. Needed because of
15682         AC_TYPE_MBSTATE_T.
15683         * modules/wcsnrtombs (Depends-on): Likewise.
15684         * modules/wcsrtombs (Depends-on): Likewise.
15685
15686 2009-12-24  Bruno Haible  <bruno@clisp.org>
15687
15688         binary-io: Avoid gcc warning due to SET_BINARY.
15689         * lib/binary-io.h (SET_BINARY): Cast the result to void.
15690         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
15691
15692 2009-12-24  Bruno Haible  <bruno@clisp.org>
15693
15694         Avoid future namespace pollution on glibc systems.
15695         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
15696         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
15697         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
15698         glibc systems.
15699
15700 2009-12-24  Bruno Haible  <bruno@clisp.org>
15701
15702         Refactor common macros used in tests.
15703         * tests/macros.h: New file.
15704         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
15705         and/or <stdlib.h>, if appropriate.
15706         (ASSERT, SIZEOF): Remove macros.
15707         * tests/test-areadlink-with-size.c: Likewise.
15708         * tests/test-areadlinkat.c: Likewise.
15709         * tests/test-areadlinkat-with-size.c: Likewise.
15710         * tests/test-argmatch.c: Likewise.
15711         * tests/test-argv-iter.c: Likewise.
15712         * tests/test-array-mergesort.c: Likewise.
15713         * tests/test-array_list.c: Likewise.
15714         * tests/test-array_oset.c: Likewise.
15715         * tests/test-avltree_list.c: Likewise.
15716         * tests/test-avltree_oset.c: Likewise.
15717         * tests/test-avltreehash_list.c: Likewise.
15718         * tests/test-base64.c: Likewise.
15719         * tests/test-binary-io.c: Likewise.
15720         * tests/test-bitrotate.c: Likewise.
15721         * tests/test-btowc.c: Likewise.
15722         * tests/test-byteswap.c: Likewise.
15723         * tests/test-c-ctype.c: Likewise.
15724         * tests/test-c-stack.c: Likewise.
15725         * tests/test-c-strcasecmp.c: Likewise.
15726         * tests/test-c-strcasestr.c: Likewise.
15727         * tests/test-c-strncasecmp.c: Likewise.
15728         * tests/test-c-strstr.c: Likewise.
15729         * tests/test-canonicalize-lgpl.c: Likewise.
15730         * tests/test-canonicalize.c: Likewise.
15731         * tests/test-carray_list.c: Likewise.
15732         * tests/test-ceilf1.c: Likewise.
15733         * tests/test-ceilf2.c: Likewise.
15734         * tests/test-ceill.c: Likewise.
15735         * tests/test-chown.c: Likewise.
15736         * tests/test-cloexec.c: Likewise.
15737         * tests/test-copy-acl.c: Likewise.
15738         * tests/test-copy-file.c: Likewise.
15739         * tests/test-count-one-bits.c: Likewise.
15740         * tests/test-dprintf-posix.c: Likewise.
15741         * tests/test-dup2.c: Likewise.
15742         * tests/test-dup3.c: Likewise.
15743         * tests/test-duplocale.c: Likewise.
15744         * tests/test-fbufmode.c: Likewise.
15745         * tests/test-fchdir.c: Likewise.
15746         * tests/test-fchownat.c: Likewise.
15747         * tests/test-fcntl-safer.c: Likewise.
15748         * tests/test-fcntl.c: Likewise.
15749         * tests/test-fdopendir.c: Likewise.
15750         * tests/test-fdutimensat.c: Likewise.
15751         * tests/test-fflush2.c: Likewise.
15752         * tests/test-file-has-acl.c: Likewise.
15753         * tests/test-filevercmp.c: Likewise.
15754         * tests/test-flock.c: Likewise.
15755         * tests/test-floorf1.c: Likewise.
15756         * tests/test-floorf2.c: Likewise.
15757         * tests/test-floorl.c: Likewise.
15758         * tests/test-fnmatch.c: Likewise.
15759         * tests/test-fopen.h: Likewise.
15760         * tests/test-fpending.c: Likewise.
15761         * tests/test-fprintf-posix.c: Likewise.
15762         * tests/test-fpurge.c: Likewise.
15763         * tests/test-freadable.c: Likewise.
15764         * tests/test-freadahead.c: Likewise.
15765         * tests/test-freading.c: Likewise.
15766         * tests/test-freadptr.c: Likewise.
15767         * tests/test-freadptr2.c: Likewise.
15768         * tests/test-freadseek.c: Likewise.
15769         * tests/test-freopen.c: Likewise.
15770         * tests/test-frexp.c: Likewise.
15771         * tests/test-frexpl.c: Likewise.
15772         * tests/test-fseek.c: Likewise.
15773         * tests/test-fseeko.c: Likewise.
15774         * tests/test-fstatat.c: Likewise.
15775         * tests/test-fstrcmp.c: Likewise.
15776         * tests/test-fsync.c: Likewise.
15777         * tests/test-ftell.c: Likewise.
15778         * tests/test-ftello.c: Likewise.
15779         * tests/test-func.c: Likewise.
15780         * tests/test-futimens.c: Likewise.
15781         * tests/test-fwritable.c: Likewise.
15782         * tests/test-fwriting.c: Likewise.
15783         * tests/test-getcwd.c: Likewise.
15784         * tests/test-getdate.c: Likewise.
15785         * tests/test-getdelim.c: Likewise.
15786         * tests/test-getdtablesize.c: Likewise.
15787         * tests/test-getgroups.c: Likewise.
15788         * tests/test-getline.c: Likewise.
15789         * tests/test-getndelim2.c: Likewise.
15790         * tests/test-glob.c: Likewise.
15791         * tests/test-hash.c: Likewise.
15792         * tests/test-i-ring.c: Likewise.
15793         * tests/test-iconv-utf.c: Likewise.
15794         * tests/test-iconv.c: Likewise.
15795         * tests/test-idpriv-drop.c: Likewise.
15796         * tests/test-idpriv-droptemp.c: Likewise.
15797         * tests/test-inet_ntop.c: Likewise.
15798         * tests/test-inet_pton.c: Likewise.
15799         * tests/test-isblank.c: Likewise.
15800         * tests/test-isfinite.c: Likewise.
15801         * tests/test-isinf.c: Likewise.
15802         * tests/test-isnan.c: Likewise.
15803         * tests/test-isnand.h: Likewise.
15804         * tests/test-isnanf.h: Likewise.
15805         * tests/test-isnanl.h: Likewise.
15806         * tests/test-lchown.c: Likewise.
15807         * tests/test-ldexpl.c: Likewise.
15808         * tests/test-link.c: Likewise.
15809         * tests/test-linkat.c: Likewise.
15810         * tests/test-linked_list.c: Likewise.
15811         * tests/test-linkedhash_list.c: Likewise.
15812         * tests/test-localename.c: Likewise.
15813         * tests/test-lseek.c: Likewise.
15814         * tests/test-lstat.c: Likewise.
15815         * tests/test-mbmemcasecmp.c: Likewise.
15816         * tests/test-mbmemcasecoll.c: Likewise.
15817         * tests/test-mbrtowc.c: Likewise.
15818         * tests/test-mbscasecmp.c: Likewise.
15819         * tests/test-mbscasestr1.c: Likewise.
15820         * tests/test-mbscasestr2.c: Likewise.
15821         * tests/test-mbscasestr3.c: Likewise.
15822         * tests/test-mbscasestr4.c: Likewise.
15823         * tests/test-mbschr.c: Likewise.
15824         * tests/test-mbscspn.c: Likewise.
15825         * tests/test-mbsinit.c: Likewise.
15826         * tests/test-mbsncasecmp.c: Likewise.
15827         * tests/test-mbsnrtowcs.c: Likewise.
15828         * tests/test-mbspbrk.c: Likewise.
15829         * tests/test-mbspcasecmp.c: Likewise.
15830         * tests/test-mbsrchr.c: Likewise.
15831         * tests/test-mbsrtowcs.c: Likewise.
15832         * tests/test-mbsspn.c: Likewise.
15833         * tests/test-mbsstr1.c: Likewise.
15834         * tests/test-mbsstr2.c: Likewise.
15835         * tests/test-mbsstr3.c: Likewise.
15836         * tests/test-memchr.c: Likewise.
15837         * tests/test-memchr2.c: Likewise.
15838         * tests/test-memcmp.c: Likewise.
15839         * tests/test-memmem.c: Likewise.
15840         * tests/test-memrchr.c: Likewise.
15841         * tests/test-mkdir.c: Likewise.
15842         * tests/test-mkdirat.c: Likewise.
15843         * tests/test-mkfifo.c: Likewise.
15844         * tests/test-mkfifoat.c: Likewise.
15845         * tests/test-mknod.c: Likewise.
15846         * tests/test-nanosleep.c: Likewise.
15847         * tests/test-nl_langinfo.c: Likewise.
15848         * tests/test-obstack-printf.c: Likewise.
15849         * tests/test-open.c: Likewise.
15850         * tests/test-openat.c: Likewise.
15851         * tests/test-pipe-filter-gi1.c: Likewise.
15852         * tests/test-pipe-filter-gi2-main.c: Likewise.
15853         * tests/test-pipe-filter-ii1.c: Likewise.
15854         * tests/test-pipe-filter-ii2-main.c: Likewise.
15855         * tests/test-pipe2.c: Likewise.
15856         * tests/test-popen.h: Likewise.
15857         * tests/test-posixtm.c: Likewise.
15858         * tests/test-pread.c: Likewise.
15859         * tests/test-printf-frexp.c: Likewise.
15860         * tests/test-printf-frexpl.c: Likewise.
15861         * tests/test-printf-posix.c: Likewise.
15862         * tests/test-priv-set.c: Likewise.
15863         * tests/test-quotearg.c: Likewise.
15864         * tests/test-random_r.c: Likewise.
15865         * tests/test-rawmemchr.c: Likewise.
15866         * tests/test-rbtree_list.c: Likewise.
15867         * tests/test-rbtree_oset.c: Likewise.
15868         * tests/test-rbtreehash_list.c: Likewise.
15869         * tests/test-readlink.c: Likewise.
15870         * tests/test-remove.c: Likewise.
15871         * tests/test-rename.c: Likewise.
15872         * tests/test-renameat.c: Likewise.
15873         * tests/test-rmdir.c: Likewise.
15874         * tests/test-round1.c: Likewise.
15875         * tests/test-roundf1.c: Likewise.
15876         * tests/test-roundl.c: Likewise.
15877         * tests/test-safe-alloc.c: Likewise.
15878         * tests/test-sameacls.c: Likewise.
15879         * tests/test-set-mode-acl.c: Likewise.
15880         * tests/test-setenv.c: Likewise.
15881         * tests/test-sigaction.c: Likewise.
15882         * tests/test-signbit.c: Likewise.
15883         * tests/test-sleep.c: Likewise.
15884         * tests/test-snprintf-posix.c: Likewise.
15885         * tests/test-snprintf.c: Likewise.
15886         * tests/test-sprintf-posix.c: Likewise.
15887         * tests/test-stat-time.c: Likewise.
15888         * tests/test-stat.c: Likewise.
15889         * tests/test-strcasestr.c: Likewise.
15890         * tests/test-strchrnul.c: Likewise.
15891         * tests/test-strerror.c: Likewise.
15892         * tests/test-striconv.c: Likewise.
15893         * tests/test-striconveh.c: Likewise.
15894         * tests/test-striconveha.c: Likewise.
15895         * tests/test-strsignal.c: Likewise.
15896         * tests/test-strstr.c: Likewise.
15897         * tests/test-strtod.c: Likewise.
15898         * tests/test-strverscmp.c: Likewise.
15899         * tests/test-symlink.c: Likewise.
15900         * tests/test-symlinkat.c: Likewise.
15901         * tests/test-trunc1.c: Likewise.
15902         * tests/test-trunc2.c: Likewise.
15903         * tests/test-truncf1.c: Likewise.
15904         * tests/test-truncf2.c: Likewise.
15905         * tests/test-truncl.c: Likewise.
15906         * tests/test-uname.c: Likewise.
15907         * tests/test-unlink.c: Likewise.
15908         * tests/test-unlinkat.c: Likewise.
15909         * tests/test-unsetenv.c: Likewise.
15910         * tests/test-usleep.c: Likewise.
15911         * tests/test-utimens.c: Likewise.
15912         * tests/test-utimensat.c: Likewise.
15913         * tests/test-vasnprintf-posix.c: Likewise.
15914         * tests/test-vasnprintf-posix2.c: Likewise.
15915         * tests/test-vasnprintf.c: Likewise.
15916         * tests/test-vasprintf-posix.c: Likewise.
15917         * tests/test-vasprintf.c: Likewise.
15918         * tests/test-vdprintf-posix.c: Likewise.
15919         * tests/test-vfprintf-posix.c: Likewise.
15920         * tests/test-vprintf-posix.c: Likewise.
15921         * tests/test-vsnprintf-posix.c: Likewise.
15922         * tests/test-vsnprintf.c: Likewise.
15923         * tests/test-vsprintf-posix.c: Likewise.
15924         * tests/test-wcrtomb.c: Likewise.
15925         * tests/test-wcsnrtombs.c: Likewise.
15926         * tests/test-wcsrtombs.c: Likewise.
15927         * tests/test-wctype.c: Likewise.
15928         * tests/test-wcwidth.c: Likewise.
15929         * tests/test-xfprintf-posix.c: Likewise.
15930         * tests/test-xmemdup0.c: Likewise.
15931         * tests/test-xprintf-posix.c: Likewise.
15932         * tests/test-xvasprintf.c: Likewise.
15933         * tests/unicase/test-locale-language.c: Likewise.
15934         * tests/unicase/test-mapping-part1.h: Likewise.
15935         * tests/unicase/test-predicate-part1.h: Likewise.
15936         * tests/unicase/test-u8-casecmp.c: Likewise.
15937         * tests/unicase/test-u8-casecoll.c: Likewise.
15938         * tests/unicase/test-u8-casefold.c: Likewise.
15939         * tests/unicase/test-u8-is-cased.c: Likewise.
15940         * tests/unicase/test-u8-is-casefolded.c: Likewise.
15941         * tests/unicase/test-u8-is-lowercase.c: Likewise.
15942         * tests/unicase/test-u8-is-titlecase.c: Likewise.
15943         * tests/unicase/test-u8-is-uppercase.c: Likewise.
15944         * tests/unicase/test-u8-tolower.c: Likewise.
15945         * tests/unicase/test-u8-totitle.c: Likewise.
15946         * tests/unicase/test-u8-toupper.c: Likewise.
15947         * tests/unicase/test-u16-casecmp.c: Likewise.
15948         * tests/unicase/test-u16-casecoll.c: Likewise.
15949         * tests/unicase/test-u16-casefold.c: Likewise.
15950         * tests/unicase/test-u16-is-cased.c: Likewise.
15951         * tests/unicase/test-u16-is-casefolded.c: Likewise.
15952         * tests/unicase/test-u16-is-lowercase.c: Likewise.
15953         * tests/unicase/test-u16-is-titlecase.c: Likewise.
15954         * tests/unicase/test-u16-is-uppercase.c: Likewise.
15955         * tests/unicase/test-u16-tolower.c: Likewise.
15956         * tests/unicase/test-u16-totitle.c: Likewise.
15957         * tests/unicase/test-u16-toupper.c: Likewise.
15958         * tests/unicase/test-u32-casecmp.c: Likewise.
15959         * tests/unicase/test-u32-casecoll.c: Likewise.
15960         * tests/unicase/test-u32-casefold.c: Likewise.
15961         * tests/unicase/test-u32-is-cased.c: Likewise.
15962         * tests/unicase/test-u32-is-casefolded.c: Likewise.
15963         * tests/unicase/test-u32-is-lowercase.c: Likewise.
15964         * tests/unicase/test-u32-is-titlecase.c: Likewise.
15965         * tests/unicase/test-u32-is-uppercase.c: Likewise.
15966         * tests/unicase/test-u32-tolower.c: Likewise.
15967         * tests/unicase/test-u32-totitle.c: Likewise.
15968         * tests/unicase/test-u32-toupper.c: Likewise.
15969         * tests/unicase/test-ulc-casecmp.c: Likewise.
15970         * tests/unicase/test-ulc-casecoll.c: Likewise.
15971         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
15972         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
15973         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
15974         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
15975         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
15976         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
15977         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
15978         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
15979         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
15980         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
15981         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
15982         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
15983         * tests/unictype/test-bidi_byname.c: Likewise.
15984         * tests/unictype/test-bidi_name.c: Likewise.
15985         * tests/unictype/test-bidi_of.c: Likewise.
15986         * tests/unictype/test-bidi_test.c: Likewise.
15987         * tests/unictype/test-block_list.c: Likewise.
15988         * tests/unictype/test-block_of.c: Likewise.
15989         * tests/unictype/test-block_test.c: Likewise.
15990         * tests/unictype/test-categ_and.c: Likewise.
15991         * tests/unictype/test-categ_and_not.c: Likewise.
15992         * tests/unictype/test-categ_byname.c: Likewise.
15993         * tests/unictype/test-categ_name.c: Likewise.
15994         * tests/unictype/test-categ_none.c: Likewise.
15995         * tests/unictype/test-categ_of.c: Likewise.
15996         * tests/unictype/test-categ_or.c: Likewise.
15997         * tests/unictype/test-categ_test_withtable.c: Likewise.
15998         * tests/unictype/test-combining.c: Likewise.
15999         * tests/unictype/test-decdigit.c: Likewise.
16000         * tests/unictype/test-digit.c: Likewise.
16001         * tests/unictype/test-mirror.c: Likewise.
16002         * tests/unictype/test-numeric.c: Likewise.
16003         * tests/unictype/test-pr_byname.c: Likewise.
16004         * tests/unictype/test-pr_test.c: Likewise.
16005         * tests/unictype/test-predicate-part1.h: Likewise.
16006         * tests/unictype/test-scripts.c: Likewise.
16007         * tests/unictype/test-sy_c_ident.c: Likewise.
16008         * tests/unictype/test-sy_java_ident.c: Likewise.
16009         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
16010         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
16011         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
16012         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
16013         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
16014         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
16015         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
16016         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
16017         * tests/uninorm/test-canonical-decomposition.c: Likewise.
16018         * tests/uninorm/test-compat-decomposition.c: Likewise.
16019         * tests/uninorm/test-composition.c: Likewise.
16020         * tests/uninorm/test-decomposing-form.c: Likewise.
16021         * tests/uninorm/test-decomposition.c: Likewise.
16022         * tests/uninorm/test-u8-nfc.c: Likewise.
16023         * tests/uninorm/test-u8-nfd.c: Likewise.
16024         * tests/uninorm/test-u8-nfkc.c: Likewise.
16025         * tests/uninorm/test-u8-nfkd.c: Likewise.
16026         * tests/uninorm/test-u8-normcmp.c: Likewise.
16027         * tests/uninorm/test-u8-normcoll.c: Likewise.
16028         * tests/uninorm/test-u16-nfc.c: Likewise.
16029         * tests/uninorm/test-u16-nfd.c: Likewise.
16030         * tests/uninorm/test-u16-nfkc.c: Likewise.
16031         * tests/uninorm/test-u16-nfkd.c: Likewise.
16032         * tests/uninorm/test-u16-normcmp.c: Likewise.
16033         * tests/uninorm/test-u16-normcoll.c: Likewise.
16034         * tests/uninorm/test-u32-nfc.c: Likewise.
16035         * tests/uninorm/test-u32-nfd.c: Likewise.
16036         * tests/uninorm/test-u32-nfkc.c: Likewise.
16037         * tests/uninorm/test-u32-nfkd.c: Likewise.
16038         * tests/uninorm/test-u32-normalize-big.c: Likewise.
16039         * tests/uninorm/test-u32-normcmp.c: Likewise.
16040         * tests/uninorm/test-u32-normcoll.c: Likewise.
16041         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
16042         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
16043         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
16044         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
16045         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
16046         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
16047         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
16048         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
16049         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
16050         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
16051         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
16052         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
16053         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
16054         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
16055         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
16056         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
16057         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
16058         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
16059         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
16060         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
16061         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
16062         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
16063         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
16064         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
16065         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
16066         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
16067         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
16068         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
16069         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
16070         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
16071         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
16072         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
16073         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
16074         * tests/uniwidth/test-u8-strwidth.c: Likewise.
16075         * tests/uniwidth/test-u8-width.c: Likewise.
16076         * tests/uniwidth/test-u16-strwidth.c: Likewise.
16077         * tests/uniwidth/test-u16-width.c: Likewise.
16078         * tests/uniwidth/test-u32-strwidth.c: Likewise.
16079         * tests/uniwidth/test-u32-width.c: Likewise.
16080         * tests/uniwidth/test-uc_width.c: Likewise.
16081         * tests/uniwidth/test-uc_width2.c: Likewise.
16082         * modules/acl-tests (Files): Add tests/macros.h.
16083         * modules/areadlink-tests (Files): Likewise.
16084         * modules/areadlink-with-size-tests (Files): Likewise.
16085         * modules/areadlinkat-tests (Files): Likewise.
16086         * modules/areadlinkat-with-size-tests (Files): Likewise.
16087         * modules/argmatch-tests (Files): Likewise.
16088         * modules/argv-iter-tests (Files): Likewise.
16089         * modules/array-list-tests (Files): Likewise.
16090         * modules/array-mergesort-tests (Files): Likewise.
16091         * modules/array-oset-tests (Files): Likewise.
16092         * modules/avltree-list-tests (Files): Likewise.
16093         * modules/avltree-oset-tests (Files): Likewise.
16094         * modules/avltreehash-list-tests (Files): Likewise.
16095         * modules/base64-tests (Files): Likewise.
16096         * modules/binary-io-tests (Files): Likewise.
16097         * modules/bitrotate-tests (Files): Likewise.
16098         * modules/btowc-tests (Files): Likewise.
16099         * modules/byteswap-tests (Files): Likewise.
16100         * modules/c-ctype-tests (Files): Likewise.
16101         * modules/c-stack-tests (Files): Likewise.
16102         * modules/c-strcase-tests (Files): Likewise.
16103         * modules/c-strcasestr-tests (Files): Likewise.
16104         * modules/c-strstr-tests (Files): Likewise.
16105         * modules/canonicalize-lgpl-tests (Files): Likewise.
16106         * modules/canonicalize-tests (Files): Likewise.
16107         * modules/carray-list-tests (Files): Likewise.
16108         * modules/ceilf-tests (Files): Likewise.
16109         * modules/ceill-tests (Files): Likewise.
16110         * modules/chown-tests (Files): Likewise.
16111         * modules/cloexec-tests (Files): Likewise.
16112         * modules/copy-file-tests (Files): Likewise.
16113         * modules/count-one-bits-tests (Files): Likewise.
16114         * modules/dprintf-posix-tests (Files): Likewise.
16115         * modules/dup2-tests (Files): Likewise.
16116         * modules/dup3-tests (Files): Likewise.
16117         * modules/duplocale-tests (Files): Likewise.
16118         * modules/fbufmode-tests (Files): Likewise.
16119         * modules/fchdir-tests (Files): Likewise.
16120         * modules/fcntl-safer-tests (Files): Likewise.
16121         * modules/fcntl-tests (Files): Likewise.
16122         * modules/fdopendir-tests (Files): Likewise.
16123         * modules/fdutimensat-tests (Files): Likewise.
16124         * modules/fflush-tests (Files): Likewise.
16125         * modules/filevercmp-tests (Files): Likewise.
16126         * modules/flock-tests (Files): Likewise.
16127         * modules/floorf-tests (Files): Likewise.
16128         * modules/floorl-tests (Files): Likewise.
16129         * modules/fnmatch-tests (Files): Likewise.
16130         * modules/fopen-safer-tests (Files): Likewise.
16131         * modules/fopen-tests (Files): Likewise.
16132         * modules/fpending-tests (Files): Likewise.
16133         * modules/fprintf-posix-tests (Files): Likewise.
16134         * modules/fpurge-tests (Files): Likewise.
16135         * modules/freadable-tests (Files): Likewise.
16136         * modules/freadahead-tests (Files): Likewise.
16137         * modules/freading-tests (Files): Likewise.
16138         * modules/freadptr-tests (Files): Likewise.
16139         * modules/freadseek-tests (Files): Likewise.
16140         * modules/freopen-tests (Files): Likewise.
16141         * modules/frexp-nolibm-tests (Files): Likewise.
16142         * modules/frexp-tests (Files): Likewise.
16143         * modules/frexpl-nolibm-tests (Files): Likewise.
16144         * modules/frexpl-tests (Files): Likewise.
16145         * modules/fseek-tests (Files): Likewise.
16146         * modules/fseeko-tests (Files): Likewise.
16147         * modules/fstrcmp-tests (Files): Likewise.
16148         * modules/fsync-tests (Files): Likewise.
16149         * modules/ftell-tests (Files): Likewise.
16150         * modules/ftello-tests (Files): Likewise.
16151         * modules/func-tests (Files): Likewise.
16152         * modules/futimens-tests (Files): Likewise.
16153         * modules/fwritable-tests (Files): Likewise.
16154         * modules/fwriting-tests (Files): Likewise.
16155         * modules/getcwd-tests (Files): Likewise.
16156         * modules/getdate-tests (Files): Likewise.
16157         * modules/getdelim-tests (Files): Likewise.
16158         * modules/getdtablesize-tests (Files): Likewise.
16159         * modules/getgroups-tests (Files): Likewise.
16160         * modules/getline-tests (Files): Likewise.
16161         * modules/getndelim2-tests (Files): Likewise.
16162         * modules/glob-tests (Files): Likewise.
16163         * modules/hash-tests (Files): Likewise.
16164         * modules/i-ring-tests (Files): Likewise.
16165         * modules/iconv-tests (Files): Likewise.
16166         * modules/iconv_open-utf-tests (Files): Likewise.
16167         * modules/idpriv-drop-tests (Files): Likewise.
16168         * modules/idpriv-droptemp-tests (Files): Likewise.
16169         * modules/inet_ntop-tests (Files): Likewise.
16170         * modules/inet_pton-tests (Files): Likewise.
16171         * modules/isblank-tests (Files): Likewise.
16172         * modules/isfinite-tests (Files): Likewise.
16173         * modules/isinf-tests (Files): Likewise.
16174         * modules/isnan-tests (Files): Likewise.
16175         * modules/isnand-nolibm-tests (Files): Likewise.
16176         * modules/isnand-tests (Files): Likewise.
16177         * modules/isnanf-nolibm-tests (Files): Likewise.
16178         * modules/isnanf-tests (Files): Likewise.
16179         * modules/isnanl-nolibm-tests (Files): Likewise.
16180         * modules/isnanl-tests (Files): Likewise.
16181         * modules/lchown-tests (Files): Likewise.
16182         * modules/ldexpl-tests (Files): Likewise.
16183         * modules/link-tests (Files): Likewise.
16184         * modules/linkat-tests (Files): Likewise.
16185         * modules/linked-list-tests (Files): Likewise.
16186         * modules/linkedhash-list-tests (Files): Likewise.
16187         * modules/localename-tests (Files): Likewise.
16188         * modules/lseek-tests (Files): Likewise.
16189         * modules/lstat-tests (Files): Likewise.
16190         * modules/mbmemcasecmp-tests (Files): Likewise.
16191         * modules/mbmemcasecoll-tests (Files): Likewise.
16192         * modules/mbrtowc-tests (Files): Likewise.
16193         * modules/mbscasecmp-tests (Files): Likewise.
16194         * modules/mbscasestr-tests (Files): Likewise.
16195         * modules/mbschr-tests (Files): Likewise.
16196         * modules/mbscspn-tests (Files): Likewise.
16197         * modules/mbsinit-tests (Files): Likewise.
16198         * modules/mbsncasecmp-tests (Files): Likewise.
16199         * modules/mbsnrtowcs-tests (Files): Likewise.
16200         * modules/mbspbrk-tests (Files): Likewise.
16201         * modules/mbspcasecmp-tests (Files): Likewise.
16202         * modules/mbsrchr-tests (Files): Likewise.
16203         * modules/mbsrtowcs-tests (Files): Likewise.
16204         * modules/mbsspn-tests (Files): Likewise.
16205         * modules/mbsstr-tests (Files): Likewise.
16206         * modules/memchr-tests (Files): Likewise.
16207         * modules/memchr2-tests (Files): Likewise.
16208         * modules/memcmp-tests (Files): Likewise.
16209         * modules/memmem-tests (Files): Likewise.
16210         * modules/memrchr-tests (Files): Likewise.
16211         * modules/mkdir-tests (Files): Likewise.
16212         * modules/mkfifo-tests (Files): Likewise.
16213         * modules/mkfifoat-tests (Files): Likewise.
16214         * modules/mknod-tests (Files): Likewise.
16215         * modules/nanosleep-tests (Files): Likewise.
16216         * modules/nl_langinfo-tests (Files): Likewise.
16217         * modules/obstack-printf-tests (Files): Likewise.
16218         * modules/open-tests (Files): Likewise.
16219         * modules/openat-tests (Files): Likewise.
16220         * modules/pipe-filter-gi-tests (Files): Likewise.
16221         * modules/pipe-filter-ii-tests (Files): Likewise.
16222         * modules/pipe2-tests (Files): Likewise.
16223         * modules/popen-safer-tests (Files): Likewise.
16224         * modules/popen-tests (Files): Likewise.
16225         * modules/posixtm-tests (Files): Likewise.
16226         * modules/pread-tests (Files): Likewise.
16227         * modules/printf-frexp-tests (Files): Likewise.
16228         * modules/printf-frexpl-tests (Files): Likewise.
16229         * modules/printf-posix-tests (Files): Likewise.
16230         * modules/priv-set-tests (Files): Likewise.
16231         * modules/quotearg-tests (Files): Likewise.
16232         * modules/random_r-tests (Files): Likewise.
16233         * modules/rawmemchr-tests (Files): Likewise.
16234         * modules/rbtree-list-tests (Files): Likewise.
16235         * modules/rbtree-oset-tests (Files): Likewise.
16236         * modules/rbtreehash-list-tests (Files): Likewise.
16237         * modules/readlink-tests (Files): Likewise.
16238         * modules/remove-tests (Files): Likewise.
16239         * modules/rename-tests (Files): Likewise.
16240         * modules/renameat-tests (Files): Likewise.
16241         * modules/rmdir-tests (Files): Likewise.
16242         * modules/round-tests (Files): Likewise.
16243         * modules/roundf-tests (Files): Likewise.
16244         * modules/roundl-tests (Files): Likewise.
16245         * modules/safe-alloc-tests (Files): Likewise.
16246         * modules/setenv-tests (Files): Likewise.
16247         * modules/sigaction-tests (Files): Likewise.
16248         * modules/signbit-tests (Files): Likewise.
16249         * modules/sleep-tests (Files): Likewise.
16250         * modules/snprintf-posix-tests (Files): Likewise.
16251         * modules/snprintf-tests (Files): Likewise.
16252         * modules/sprintf-posix-tests (Files): Likewise.
16253         * modules/stat-tests (Files): Likewise.
16254         * modules/stat-time-tests (Files): Likewise.
16255         * modules/strcasestr-tests (Files): Likewise.
16256         * modules/strchrnul-tests (Files): Likewise.
16257         * modules/strerror-tests (Files): Likewise.
16258         * modules/striconv-tests (Files): Likewise.
16259         * modules/striconveh-tests (Files): Likewise.
16260         * modules/striconveha-tests (Files): Likewise.
16261         * modules/strsignal-tests (Files): Likewise.
16262         * modules/strstr-tests (Files): Likewise.
16263         * modules/strtod-tests (Files): Likewise.
16264         * modules/strverscmp-tests (Files): Likewise.
16265         * modules/symlink-tests (Files): Likewise.
16266         * modules/symlinkat-tests (Files): Likewise.
16267         * modules/trunc-tests (Files): Likewise.
16268         * modules/truncf-tests (Files): Likewise.
16269         * modules/truncl-tests (Files): Likewise.
16270         * modules/uname-tests (Files): Likewise.
16271         * modules/unicase/cased-tests (Files): Likewise.
16272         * modules/unicase/ignorable-tests (Files): Likewise.
16273         * modules/unicase/locale-language-tests (Files): Likewise.
16274         * modules/unicase/tolower-tests (Files): Likewise.
16275         * modules/unicase/totitle-tests (Files): Likewise.
16276         * modules/unicase/toupper-tests (Files): Likewise.
16277         * modules/unicase/u8-casecmp-tests (Files): Likewise.
16278         * modules/unicase/u8-casecoll-tests (Files): Likewise.
16279         * modules/unicase/u8-casefold-tests (Files): Likewise.
16280         * modules/unicase/u8-is-cased-tests (Files): Likewise.
16281         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
16282         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
16283         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
16284         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
16285         * modules/unicase/u8-tolower-tests (Files): Likewise.
16286         * modules/unicase/u8-totitle-tests (Files): Likewise.
16287         * modules/unicase/u8-toupper-tests (Files): Likewise.
16288         * modules/unicase/u16-casecmp-tests (Files): Likewise.
16289         * modules/unicase/u16-casecoll-tests (Files): Likewise.
16290         * modules/unicase/u16-casefold-tests (Files): Likewise.
16291         * modules/unicase/u16-is-cased-tests (Files): Likewise.
16292         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
16293         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
16294         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
16295         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
16296         * modules/unicase/u16-tolower-tests (Files): Likewise.
16297         * modules/unicase/u16-totitle-tests (Files): Likewise.
16298         * modules/unicase/u16-toupper-tests (Files): Likewise.
16299         * modules/unicase/u32-casecmp-tests (Files): Likewise.
16300         * modules/unicase/u32-casecoll-tests (Files): Likewise.
16301         * modules/unicase/u32-casefold-tests (Files): Likewise.
16302         * modules/unicase/u32-is-cased-tests (Files): Likewise.
16303         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
16304         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
16305         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
16306         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
16307         * modules/unicase/u32-tolower-tests (Files): Likewise.
16308         * modules/unicase/u32-totitle-tests (Files): Likewise.
16309         * modules/unicase/u32-toupper-tests (Files): Likewise.
16310         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
16311         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
16312         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
16313         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
16314         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
16315         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
16316         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
16317         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
16318         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
16319         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
16320         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
16321         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
16322         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
16323         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
16324         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
16325         * modules/unictype/bidicategory-name-tests (Files): Likewise.
16326         * modules/unictype/bidicategory-of-tests (Files): Likewise.
16327         * modules/unictype/bidicategory-test-tests (Files): Likewise.
16328         * modules/unictype/block-list-tests (Files): Likewise.
16329         * modules/unictype/block-of-tests (Files): Likewise.
16330         * modules/unictype/block-test-tests (Files): Likewise.
16331         * modules/unictype/category-C-tests (Files): Likewise.
16332         * modules/unictype/category-Cc-tests (Files): Likewise.
16333         * modules/unictype/category-Cf-tests (Files): Likewise.
16334         * modules/unictype/category-Cn-tests (Files): Likewise.
16335         * modules/unictype/category-Co-tests (Files): Likewise.
16336         * modules/unictype/category-Cs-tests (Files): Likewise.
16337         * modules/unictype/category-L-tests (Files): Likewise.
16338         * modules/unictype/category-Ll-tests (Files): Likewise.
16339         * modules/unictype/category-Lm-tests (Files): Likewise.
16340         * modules/unictype/category-Lo-tests (Files): Likewise.
16341         * modules/unictype/category-Lt-tests (Files): Likewise.
16342         * modules/unictype/category-Lu-tests (Files): Likewise.
16343         * modules/unictype/category-M-tests (Files): Likewise.
16344         * modules/unictype/category-Mc-tests (Files): Likewise.
16345         * modules/unictype/category-Me-tests (Files): Likewise.
16346         * modules/unictype/category-Mn-tests (Files): Likewise.
16347         * modules/unictype/category-N-tests (Files): Likewise.
16348         * modules/unictype/category-Nd-tests (Files): Likewise.
16349         * modules/unictype/category-Nl-tests (Files): Likewise.
16350         * modules/unictype/category-No-tests (Files): Likewise.
16351         * modules/unictype/category-P-tests (Files): Likewise.
16352         * modules/unictype/category-Pc-tests (Files): Likewise.
16353         * modules/unictype/category-Pd-tests (Files): Likewise.
16354         * modules/unictype/category-Pe-tests (Files): Likewise.
16355         * modules/unictype/category-Pf-tests (Files): Likewise.
16356         * modules/unictype/category-Pi-tests (Files): Likewise.
16357         * modules/unictype/category-Po-tests (Files): Likewise.
16358         * modules/unictype/category-Ps-tests (Files): Likewise.
16359         * modules/unictype/category-S-tests (Files): Likewise.
16360         * modules/unictype/category-Sc-tests (Files): Likewise.
16361         * modules/unictype/category-Sk-tests (Files): Likewise.
16362         * modules/unictype/category-Sm-tests (Files): Likewise.
16363         * modules/unictype/category-So-tests (Files): Likewise.
16364         * modules/unictype/category-Z-tests (Files): Likewise.
16365         * modules/unictype/category-Zl-tests (Files): Likewise.
16366         * modules/unictype/category-Zp-tests (Files): Likewise.
16367         * modules/unictype/category-Zs-tests (Files): Likewise.
16368         * modules/unictype/category-and-not-tests (Files): Likewise.
16369         * modules/unictype/category-and-tests (Files): Likewise.
16370         * modules/unictype/category-byname-tests (Files): Likewise.
16371         * modules/unictype/category-name-tests (Files): Likewise.
16372         * modules/unictype/category-none-tests (Files): Likewise.
16373         * modules/unictype/category-of-tests (Files): Likewise.
16374         * modules/unictype/category-or-tests (Files): Likewise.
16375         * modules/unictype/category-test-withtable-tests (Files): Likewise.
16376         * modules/unictype/combining-class-tests (Files): Likewise.
16377         * modules/unictype/ctype-alnum-tests (Files): Likewise.
16378         * modules/unictype/ctype-alpha-tests (Files): Likewise.
16379         * modules/unictype/ctype-blank-tests (Files): Likewise.
16380         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
16381         * modules/unictype/ctype-digit-tests (Files): Likewise.
16382         * modules/unictype/ctype-graph-tests (Files): Likewise.
16383         * modules/unictype/ctype-lower-tests (Files): Likewise.
16384         * modules/unictype/ctype-print-tests (Files): Likewise.
16385         * modules/unictype/ctype-punct-tests (Files): Likewise.
16386         * modules/unictype/ctype-space-tests (Files): Likewise.
16387         * modules/unictype/ctype-upper-tests (Files): Likewise.
16388         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
16389         * modules/unictype/decimal-digit-tests (Files): Likewise.
16390         * modules/unictype/digit-tests (Files): Likewise.
16391         * modules/unictype/mirror-tests (Files): Likewise.
16392         * modules/unictype/numeric-tests (Files): Likewise.
16393         * modules/unictype/property-alphabetic-tests (Files): Likewise.
16394         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
16395         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
16396         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
16397         Likewise.
16398         * modules/unictype/property-bidi-block-separator-tests (Files):
16399         Likewise.
16400         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
16401         Likewise.
16402         * modules/unictype/property-bidi-common-separator-tests (Files):
16403         Likewise.
16404         * modules/unictype/property-bidi-control-tests (Files): Likewise.
16405         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
16406         Likewise.
16407         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
16408         Likewise.
16409         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
16410         Likewise.
16411         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
16412         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
16413         Likewise.
16414         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
16415         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
16416         Likewise.
16417         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
16418         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
16419         * modules/unictype/property-bidi-segment-separator-tests (Files):
16420         Likewise.
16421         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
16422         * modules/unictype/property-byname-tests (Files): Likewise.
16423         * modules/unictype/property-combining-tests (Files): Likewise.
16424         * modules/unictype/property-composite-tests (Files): Likewise.
16425         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
16426         * modules/unictype/property-dash-tests (Files): Likewise.
16427         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
16428         * modules/unictype/property-default-ignorable-code-point-tests (Files):
16429         Likewise.
16430         * modules/unictype/property-deprecated-tests (Files): Likewise.
16431         * modules/unictype/property-diacritic-tests (Files): Likewise.
16432         * modules/unictype/property-extender-tests (Files): Likewise.
16433         * modules/unictype/property-format-control-tests (Files): Likewise.
16434         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
16435         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
16436         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
16437         * modules/unictype/property-hex-digit-tests (Files): Likewise.
16438         * modules/unictype/property-hyphen-tests (Files): Likewise.
16439         * modules/unictype/property-id-continue-tests (Files): Likewise.
16440         * modules/unictype/property-id-start-tests (Files): Likewise.
16441         * modules/unictype/property-ideographic-tests (Files): Likewise.
16442         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
16443         * modules/unictype/property-ids-trinary-operator-tests (Files):
16444         Likewise.
16445         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
16446         * modules/unictype/property-iso-control-tests (Files): Likewise.
16447         * modules/unictype/property-join-control-tests (Files): Likewise.
16448         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
16449         * modules/unictype/property-line-separator-tests (Files): Likewise.
16450         * modules/unictype/property-logical-order-exception-tests (Files):
16451         Likewise.
16452         * modules/unictype/property-lowercase-tests (Files): Likewise.
16453         * modules/unictype/property-math-tests (Files): Likewise.
16454         * modules/unictype/property-non-break-tests (Files): Likewise.
16455         * modules/unictype/property-not-a-character-tests (Files): Likewise.
16456         * modules/unictype/property-numeric-tests (Files): Likewise.
16457         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
16458         * modules/unictype/property-other-default-ignorable-code-point-tests
16459         (Files): Likewise.
16460         * modules/unictype/property-other-grapheme-extend-tests (Files):
16461         Likewise.
16462         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
16463         * modules/unictype/property-other-id-start-tests (Files): Likewise.
16464         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
16465         * modules/unictype/property-other-math-tests (Files): Likewise.
16466         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
16467         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
16468         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
16469         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
16470         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
16471         * modules/unictype/property-private-use-tests (Files): Likewise.
16472         * modules/unictype/property-punctuation-tests (Files): Likewise.
16473         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
16474         * modules/unictype/property-radical-tests (Files): Likewise.
16475         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
16476         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
16477         * modules/unictype/property-space-tests (Files): Likewise.
16478         * modules/unictype/property-terminal-punctuation-tests (Files):
16479         Likewise.
16480         * modules/unictype/property-test-tests (Files): Likewise.
16481         * modules/unictype/property-titlecase-tests (Files): Likewise.
16482         * modules/unictype/property-unassigned-code-value-tests (Files):
16483         Likewise.
16484         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
16485         * modules/unictype/property-uppercase-tests (Files): Likewise.
16486         * modules/unictype/property-variation-selector-tests (Files): Likewise.
16487         * modules/unictype/property-white-space-tests (Files): Likewise.
16488         * modules/unictype/property-xid-continue-tests (Files): Likewise.
16489         * modules/unictype/property-xid-start-tests (Files): Likewise.
16490         * modules/unictype/property-zero-width-tests (Files): Likewise.
16491         * modules/unictype/scripts-tests (Files): Likewise.
16492         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
16493         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
16494         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
16495         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
16496         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
16497         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
16498         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
16499         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
16500         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
16501         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
16502         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
16503         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
16504         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
16505         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
16506         * modules/uninorm/composition-tests (Files): Likewise.
16507         * modules/uninorm/decomposing-form-tests (Files): Likewise.
16508         * modules/uninorm/decomposition-tests (Files): Likewise.
16509         * modules/uninorm/filter-tests (Files): Likewise.
16510         * modules/uninorm/nfc-tests (Files): Likewise.
16511         * modules/uninorm/nfd-tests (Files): Likewise.
16512         * modules/uninorm/nfkc-tests (Files): Likewise.
16513         * modules/uninorm/nfkd-tests (Files): Likewise.
16514         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
16515         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
16516         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
16517         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
16518         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
16519         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
16520         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
16521         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
16522         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
16523         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
16524         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
16525         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
16526         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
16527         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
16528         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
16529         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
16530         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
16531         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
16532         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
16533         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
16534         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
16535         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
16536         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
16537         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
16538         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
16539         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
16540         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
16541         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
16542         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
16543         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
16544         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
16545         * modules/uniwidth/u8-width-tests (Files): Likewise.
16546         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
16547         * modules/uniwidth/u16-width-tests (Files): Likewise.
16548         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
16549         * modules/uniwidth/u32-width-tests (Files): Likewise.
16550         * modules/uniwidth/width-tests (Files): Likewise.
16551         * modules/unlink-tests (Files): Likewise.
16552         * modules/unsetenv-tests (Files): Likewise.
16553         * modules/usleep-tests (Files): Likewise.
16554         * modules/utimens-tests (Files): Likewise.
16555         * modules/utimensat-tests (Files): Likewise.
16556         * modules/vasnprintf-posix-tests (Files): Likewise.
16557         * modules/vasnprintf-tests (Files): Likewise.
16558         * modules/vasprintf-posix-tests (Files): Likewise.
16559         * modules/vasprintf-tests (Files): Likewise.
16560         * modules/vdprintf-posix-tests (Files): Likewise.
16561         * modules/vfprintf-posix-tests (Files): Likewise.
16562         * modules/vprintf-posix-tests (Files): Likewise.
16563         * modules/vsnprintf-posix-tests (Files): Likewise.
16564         * modules/vsnprintf-tests (Files): Likewise.
16565         * modules/vsprintf-posix-tests (Files): Likewise.
16566         * modules/wcrtomb-tests (Files): Likewise.
16567         * modules/wcsnrtombs-tests (Files): Likewise.
16568         * modules/wcsrtombs-tests (Files): Likewise.
16569         * modules/wctype-tests (Files): Likewise.
16570         * modules/wcwidth-tests (Files): Likewise.
16571         * modules/xmemdup0-tests (Files): Likewise.
16572         * modules/xprintf-posix-tests (Files): Likewise.
16573         * modules/xvasprintf-tests (Files): Likewise.
16574
16575 2009-12-24  Eric Blake  <ebb9@byu.net>
16576
16577         test-nanosleep: fix typo
16578         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
16579         patch.
16580         Reported by Bruno Haible.
16581
16582 2009-12-24  Bruno Haible  <bruno@clisp.org>
16583
16584         Reduce namespace pollution on glibc systems.
16585         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
16586         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
16587         systems.
16588         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
16589         <getopt.h> on glibc systems.
16590         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
16591         systems.
16592         * lib/fcntl.c: Include <unistd.h> here instead.
16593
16594 2009-12-24  Bruno Haible  <bruno@clisp.org>
16595
16596         * lib/stdlib.in.h (includes): Fix typo in today's commit.
16597
16598 2009-12-24  Eric Blake  <ebb9@byu.net>
16599
16600         tests: add signature checks
16601         * tests/signature.h (SIGNATURE_CHECK): New file.
16602         * modules/atexit-tests (Files): Use it.
16603         * modules/btowc-tests (Files): Likewise.
16604         * modules/canonicalize-lgpl-tests (Files): Likewise.
16605         * modules/ceilf-tests (Files): Likewise.
16606         * modules/ceill-tests (Files): Likewise.
16607         * modules/chown-tests (Files): Likewise.
16608         * modules/dprintf-posix-tests (Files): Likewise.
16609         * modules/dup2-tests (Files): Likewise.
16610         * modules/dup3-tests (Files): Likewise.
16611         * modules/duplocale-tests (Files): Likewise.
16612         * modules/fchdir-tests (Files): Likewise.
16613         * modules/fcntl-tests (Files): Likewise.
16614         * modules/fdopendir-tests (Files): Likewise.
16615         * modules/fflush-tests (Files): Likewise.
16616         * modules/flock-tests (Files): Likewise.
16617         * modules/floorf-tests (Files): Likewise.
16618         * modules/floorl-tests (Files): Likewise.
16619         * modules/fnmatch-tests (Files): Likewise.
16620         * modules/fopen-tests (Files): Likewise.
16621         * modules/fprintf-posix-tests (Files): Likewise.
16622         * modules/freopen-tests (Files): Likewise.
16623         * modules/frexp-nolibm-tests (Files): Likewise.
16624         * modules/frexp-tests (Files): Likewise.
16625         * modules/frexpl-nolibm-tests (Files): Likewise.
16626         * modules/frexpl-tests (Files): Likewise.
16627         * modules/fseek-tests (Files): Likewise.
16628         * modules/fseeko-tests (Files): Likewise.
16629         * modules/fsync-tests (Files): Likewise.
16630         * modules/ftell-tests (Files): Likewise.
16631         * modules/ftello-tests (Files): Likewise.
16632         * modules/futimens-tests (Files): Likewise.
16633         * modules/getaddrinfo-tests (Files): Likewise.
16634         * modules/getcwd-tests (Files): Likewise.
16635         * modules/getdelim-tests (Files): Likewise.
16636         * modules/getdtablesize-tests (Files): Likewise.
16637         * modules/getgroups-tests (Files): Likewise.
16638         * modules/gethostname-tests (Files): Likewise.
16639         * modules/getline-tests (Files): Likewise.
16640         * modules/getopt-posix-tests (Files): Likewise.
16641         * modules/gettimeofday-tests (Files): Likewise.
16642         * modules/glob-tests (Files): Likewise.
16643         * modules/iconv-tests (Files): Likewise.
16644         * modules/inet_ntop-tests (Files): Likewise.
16645         * modules/inet_pton-tests (Files): Likewise.
16646         * modules/isblank-tests (Files): Likewise.
16647         * modules/lchown-tests (Files): Likewise.
16648         * modules/ldexpl-tests (Files): Likewise.
16649         * modules/link-tests (Files): Likewise.
16650         * modules/linkat-tests (Files): Likewise.
16651         * modules/lseek-tests (Files): Likewise.
16652         * modules/lstat-tests (Files): Likewise.
16653         * modules/mbrtowc-tests (Files): Likewise.
16654         * modules/mbsinit-tests (Files): Likewise.
16655         * modules/mbsnrtowcs-tests (Files): Likewise.
16656         * modules/mbsrtowcs-tests (Files): Likewise.
16657         * modules/memchr-tests (Files): Likewise.
16658         * modules/memcmp-tests (Files): Likewise.
16659         * modules/memmem-tests (Files): Likewise.
16660         * modules/memrchr-tests (Files): Likewise.
16661         * modules/mkdir-tests (Files): Likewise.
16662         * modules/mkfifo-tests (Files): Likewise.
16663         * modules/mkfifoat-tests (Files): Likewise.
16664         * modules/mknod-tests (Files): Likewise.
16665         * modules/nanosleep-tests (Files): Likewise.
16666         * modules/nl_langinfo-tests (Files): Likewise.
16667         * modules/obstack-printf-tests (Files): Likewise.
16668         * modules/open-tests (Files): Likewise.
16669         * modules/openat-tests (Files): Likewise.
16670         * modules/perror-tests (Files): Likewise.
16671         * modules/pipe2-tests (Files): Likewise.
16672         * modules/poll-tests (Files): Likewise.
16673         * modules/popen-tests (Files): Likewise.
16674         * modules/posix_spawn-tests (Files): Likewise.
16675         * modules/posix_spawnp-tests (Files): Likewise.
16676         * modules/pread-tests (Files): Likewise.
16677         * modules/printf-posix-tests (Files): Likewise.
16678         * modules/pty-tests (Files): Likewise.
16679         * modules/random_r-tests (Files): Likewise.
16680         * modules/rawmemchr-tests (Files): Likewise.
16681         * modules/readlink-tests (Files): Likewise.
16682         * modules/remove-tests (Files): Likewise.
16683         * modules/rename-tests (Files): Likewise.
16684         * modules/renameat-tests (Files): Likewise.
16685         * modules/rmdir-tests (Files): Likewise.
16686         * modules/round-tests (Files): Likewise.
16687         * modules/roundf-tests (Files): Likewise.
16688         * modules/roundl-tests (Files): Likewise.
16689         * modules/select-tests (Files): Likewise.
16690         * modules/setenv-tests (Files): Likewise.
16691         * modules/sigaction-tests (Files): Likewise.
16692         * modules/sleep-tests (Files): Likewise.
16693         * modules/snprintf-posix-tests (Files): Likewise.
16694         * modules/snprintf-tests (Files): Likewise.
16695         * modules/sprintf-posix-tests (Files): Likewise.
16696         * modules/stat-tests (Files): Likewise.
16697         * modules/strcasestr-tests (Files): Likewise.
16698         * modules/strchrnul-tests (Files): Likewise.
16699         * modules/strerror-tests (Files): Likewise.
16700         * modules/strsignal-tests (Files): Likewise.
16701         * modules/strstr-tests (Files): Likewise.
16702         * modules/strtod-tests (Files): Likewise.
16703         * modules/strverscmp-tests (Files): Likewise.
16704         * modules/symlink-tests (Files): Likewise.
16705         * modules/symlinkat-tests (Files): Likewise.
16706         * modules/times-tests (Files): Likewise.
16707         * modules/trunc-tests (Files): Likewise.
16708         * modules/truncf-tests (Files): Likewise.
16709         * modules/truncl-tests (Files): Likewise.
16710         * modules/tsearch-tests (Files): Likewise.
16711         * modules/uname-tests (Files): Likewise.
16712         * modules/unlink-tests (Files): Likewise.
16713         * modules/unsetenv-tests (Files): Likewise.
16714         * modules/usleep-tests (Files): Likewise.
16715         * modules/utimensat-tests (Files): Likewise.
16716         * modules/vasprintf-tests (Files): Likewise.
16717         * modules/vdprintf-posix-tests (Files): Likewise.
16718         * modules/vfprintf-posix-tests (Files): Likewise.
16719         * modules/vprintf-posix-tests (Files): Likewise.
16720         * modules/vsnprintf-posix-tests (Files): Likewise.
16721         * modules/vsnprintf-tests (Files): Likewise.
16722         * modules/vsprintf-posix-tests (Files): Likewise.
16723         * modules/wcrtomb-tests (Files): Likewise.
16724         * modules/wcsnrtombs-tests (Files): Likewise.
16725         * modules/wcsrtombs-tests (Files): Likewise.
16726         * modules/wcwidth-tests (Files): Likewise.
16727         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
16728         * tests/test-isinf.c (isinf): Likewise.
16729         * tests/test-isnan.c (isnan): Likewise.
16730         * tests/test-signbit.c (signbit): Likewise.
16731         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
16732         declaration, either as macro or with correct signature.
16733         (select): Ensure function under test is declared with correct
16734         signature in correct header.
16735         * tests/test-atexit.c (atexit): Likewise.
16736         * tests/test-btowc.c (btowc): Likewise.
16737         * tests/test-canonicalize-lgpl.c (realpath)
16738         (canonicalize_file_name): Likewise.
16739         * tests/test-ceilf1.c (ceilf): Likewise.
16740         * tests/test-ceill.c (ceill): Likewise.
16741         * tests/test-chown.c (chown): Likewise.
16742         * tests/test-dprintf-posix.c (dprintf): Likewise.
16743         * tests/test-dup2.c (dup2): Likewise.
16744         * tests/test-dup3.c (dup3): Likewise.
16745         * tests/test-duplocale.c (duplocale): Likewise.
16746         * tests/test-fchdir.c (fchdir): Likewise.
16747         * tests/test-fchownat.c (fchownat): Likewise.
16748         * tests/test-fcntl.c (fcntl): Likewise.
16749         * tests/test-fdopendir.c (fdopendir): Likewise.
16750         * tests/test-fflush.c (fflush): Likewise.
16751         * tests/test-flock.c (flock): Likewise.
16752         * tests/test-floorf1.c (floorf): Likewise.
16753         * tests/test-floorl.c (floorl): Likewise.
16754         * tests/test-fnmatch.c (fnmatch): Likewise.
16755         * tests/test-fopen.c (fopen): Likewise.
16756         * tests/test-fprintf-posix.c (fprintf): Likewise.
16757         * tests/test-freopen.c (freopen): Likewise.
16758         * tests/test-frexp.c (frexp): Likewise.
16759         * tests/test-frexpl.c (frexpl): Likewise.
16760         * tests/test-fseek.c (fseek): Likewise.
16761         * tests/test-fseeko.c (fseeko): Likewise.
16762         * tests/test-fstatat.c (fstatat): Likewise.
16763         * tests/test-fsync.c (fsync): Likewise.
16764         * tests/test-ftell.c (ftell): Likewise.
16765         * tests/test-ftello.c (ftello): Likewise.
16766         * tests/test-futimens.c (futimens): Likewise.
16767         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
16768         (gai_strerror): Likewise.
16769         * tests/test-getcwd.c (getcwd): Likewise.
16770         * tests/test-getdelim.c (getdelim): Likewise.
16771         * tests/test-getdtablesize.c (getdtablesize): Likewise.
16772         * tests/test-getgroups.c (getgroups): Likewise.
16773         * tests/test-gethostname.c (gethostname): Likewise.
16774         * tests/test-getline.c (getline): Likewise.
16775         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
16776         Likewise.
16777         * tests/test-gettimeofday.c (gettimeofday): Likewise.
16778         * tests/test-glob.c (glob, globfree): Likewise.
16779         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
16780         * tests/test-inet_ntop.c (inet_ntop): Likewise.
16781         * tests/test-inet_pton.c (inet_pton): Likewise.
16782         * tests/test-isblank.c (isblank): Likewise.
16783         * tests/test-lchown.c (lchown): Likewise.
16784         * tests/test-ldexpl.c (ldexpl): Likewise.
16785         * tests/test-link.c (link): Likewise.
16786         * tests/test-linkat.c (linkat): Likewise.
16787         * tests/test-lseek.c (lseek): Likewise.
16788         * tests/test-lstat.c (lstat): Likewise.
16789         * tests/test-mbrtowc.c (mbrtowc): Likewise.
16790         * tests/test-mbsinit.c (mbsinit): Likewise.
16791         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
16792         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
16793         * tests/test-memchr.c (memchr): Likewise.
16794         * tests/test-memcmp.c (memcmp): Likewise.
16795         * tests/test-memmem.c (memmem): Likewise.
16796         * tests/test-memrchr.c (memrchr): Likewise.
16797         * tests/test-mkdir.c (mkdir): Likewise.
16798         * tests/test-mkdirat.c (mkdirat): Likewise.
16799         * tests/test-mkfifo.c (mkfifo): Likewise.
16800         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
16801         * tests/test-mknod.c (mknod): Likewise.
16802         * tests/test-nanosleep.c (nanosleep): Likewise.
16803         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
16804         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
16805         Likewise.
16806         * tests/test-open.c (open): Likewise.
16807         * tests/test-openat.c (openat): Likewise.
16808         * tests/test-perror.c (perror): Likewise.
16809         * tests/test-pipe2.c (pipe2): Likewise.
16810         * tests/test-poll.c (poll): Likewise.
16811         * tests/test-popen.c (popen, pclose): Likewise.
16812         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
16813         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
16814         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
16815         (posix_spawn_file_actions_destroy)
16816         (posix_spawn_file_actions_addclose)
16817         (posix_spawn_file_actions_addopen)
16818         (posix_spawn_file_actions_adddup2): Likewise.
16819         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
16820         * tests/test-pread.c (pread): Likewise.
16821         * tests/test-printf-posix.c (printf): Likewise.
16822         * tests/test-pty.c (openpty, forkpty): Likewise.
16823         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
16824         (random_r): Likewise.
16825         * tests/test-rawmemchr.c (rawmemchr): Likewise.
16826         * tests/test-readlink.c (readlink): Likewise.
16827         * tests/test-remove.c (remove): Likewise.
16828         * tests/test-rename.c (rename): Likewise.
16829         * tests/test-renameat.c (renameat): Likewise.
16830         * tests/test-rmdir.c (rmdir): Likewise.
16831         * tests/test-round1.c (round): Likewise.
16832         * tests/test-roundf1.c (roundf): Likewise.
16833         * tests/test-roundl.c (roundl): Likewise.
16834         * tests/test-setenv.c (setenv): Likewise.
16835         * tests/test-sigaction.c (sigaction): Likewise.
16836         * tests/test-sleep.c (sleep): Likewise.
16837         * tests/test-snprintf.c (snprintf): Likewise.
16838         * tests/test-sprintf-posix.c (sprintf): Likewise.
16839         * tests/test-stat.c (stat): Likewise.
16840         * tests/test-stpncpy.c (stpncpy): Likewise.
16841         * tests/test-strcasestr.c (strcasestr): Likewise.
16842         * tests/test-strchrnul.c (strchrnul): Likewise.
16843         * tests/test-strerror.c (strerror): Likewise.
16844         * tests/test-strsignal.c (strsignal): Likewise.
16845         * tests/test-strstr.c (strstr): Likewise.
16846         * tests/test-strtod.c (strtod): Likewise.
16847         * tests/test-strverscmp.c (strverscmp): Likewise.
16848         * tests/test-symlink.c (symlink): Likewise.
16849         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
16850         * tests/test-times.c (times): Likewise.
16851         * tests/test-trunc1.c (trunc): Likewise.
16852         * tests/test-truncf1.c (truncf): Likewise.
16853         * tests/test-truncl.c (truncl): Likewise.
16854         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
16855         Likewise.
16856         * tests/test-uname.c (uname): Likewise.
16857         * tests/test-unlink.c (unlink): Likewise.
16858         * tests/test-unlinkat.c (unlinkat): Likewise.
16859         * tests/test-unsetenv.c (unsetenv): Likewise.
16860         * tests/test-usleep.c (usleep): Likewise.
16861         * tests/test-utimensat.c (utimensat): Likewise.
16862         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
16863         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
16864         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
16865         * tests/test-vprintf-posix.c (vprintf): Likewise.
16866         * tests/test-vsnprintf.c (vsnprintf): Likewise.
16867         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
16868         * tests/test-wcrtomb.c (wcrtomb): Likewise.
16869         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
16870         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
16871         * tests/test-wcwidth.c (wcwidth): Likewise.
16872
16873         build: pull in conditional headers during GNULIB_POSIXCHECK
16874         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
16875         definitions from any conditionally-included headers.
16876         * lib/stdlib.in.h (includes): Likewise.
16877         * lib/unistd.in.h (includes): Likewise.
16878
16879 2009-12-24  Bruno Haible  <bruno@clisp.org>
16880
16881         * tests/test-argv-iter.c: Include header file being tested immediately
16882         after config.h.
16883         * tests/test-base64.c: Likewise.
16884         * tests/test-flock.c: Likewise.
16885         * tests/test-fsync.c: Likewise.
16886         * tests/test-getdate.c: Likewise.
16887         * tests/test-getndelim2.c: Likewise.
16888         * tests/test-isfinite.c: Likewise.
16889         * tests/test-isinf.c: Likewise.
16890         * tests/test-strerror.c: Likewise.
16891         * tests/test-strsignal.c: Likewise.
16892
16893 2009-12-23  Eric Blake  <ebb9@byu.net>
16894
16895         unistd: work around cygwin bug
16896         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
16897         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
16898         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
16899
16900 2009-12-23  Bruno Haible  <bruno@clisp.org>
16901
16902         localename: More tests.
16903         * tests/test-localename.c (SIZEOF): New macro.
16904         (categories): New variable.
16905         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
16906         test_locale_name_default): Add test w.r.t. thread locale.
16907         (test_locale_name_thread): New function.
16908         (main): Invoke it.
16909
16910         localename: Make aware of thread locale.
16911         * lib/localename.h (gl_locale_name_thread): New declaration.
16912         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
16913         behaviour with respect to thread locale.
16914         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
16915         <langinfo.h>, glthread/lock.h.
16916         (SIZE_BITS): New macro.
16917         (string_hash): New function.
16918         (struct hash_node): New type.
16919         (HASH_TABLE_SIZE): New macro.
16920         (struniq_hash_table, struniq_lock): New variables.
16921         (struniq): New function.
16922         (gl_locale_name_thread): New function.
16923         (gl_locale_name): Invoke it.
16924         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
16925         * modules/localename (Depends-on): Add lock.
16926         Reported by Mike Gran <spk121@yahoo.com>.
16927
16928 2009-12-23  Eric Blake  <ebb9@byu.net>
16929
16930         va-args: new module
16931         * modules/va-args: New file.
16932         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
16933         * MODULES.html.sh (Core language properties): Mention it.
16934
16935         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
16936         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
16937         named alias for __attribute__((__unused__)).
16938         * lib/chown.c: Update client.
16939         * lib/fchmodat.c: Likewise.
16940         * lib/fts.c: Likewise.
16941         * lib/getdate.y: Likewise.
16942         * lib/getgroups.c: Likewise.
16943         * lib/getopt.c: Likewise.
16944         * lib/getugroups.c: Likewise.
16945         * lib/mkdir.c: Likewise.
16946         * lib/mkfifo.c: Likewise.
16947         * lib/mkfifoat.c: Likewise.
16948         * lib/mknod.c: Likewise.
16949         * lib/mknodat.c: Likewise.
16950         * lib/readlink.c: Likewise.
16951         * lib/se-context.in.h: Likewise.
16952         * lib/se-selinux.in.h: Likewise.
16953         * lib/sockets.c: Likewise.
16954         * lib/symlink.c: Likewise.
16955         * lib/symlinkat.c: Likewise.
16956         * lib/unicodeio.c: Likewise.
16957         * lib/unistr.h: Likewise.
16958         * tests/test-areadlink.c: Likewise.
16959         * tests/test-areadlinkat.c: Likewise.
16960         * tests/test-filenamecat.c: Likewise.
16961         * tests/test-fseeko.c: Likewise.
16962         * tests/test-ftello.c: Likewise.
16963         * tests/test-getdate.c: Likewise.
16964         * tests/test-getgroups.c: Likewise.
16965         * tests/test-gethostname.c: Likewise.
16966         * tests/test-quotearg.c: Likewise.
16967         * tests/test-version-etc.c: Likewise.
16968         * tests/test-xalloc-die.c: Likewise.
16969         * tests/test-xfprintf-posix.c: Likewise.
16970         * tests/test-xprintf-posix.c: Likewise.
16971         * tests/test-xvasprintf.c: Likewise.
16972
16973         tests: avoid compiler warnings
16974         * tests/test-fcntl.c (main): Delete unused parameters.
16975         * tests/test-freopen-safer.c (main): Likewise.
16976         * tests/test-xalloc-die.c (main): Mark unused parameters.
16977         * tests/test-fseeko.c (main): Likewise.
16978         * tests/test-ftello.c (main): Likewise.
16979         * tests/test-nanosleep.c (main): Avoid declaration warning.
16980         * tests/test-sleep.c (main): Likewise.
16981         * tests/test-unsetenv.c (main): Silence warning about string
16982         literal.
16983         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
16984
16985 2009-12-23  Bruno Haible  <bruno@clisp.org>
16986
16987         * tests/test-localename.c (test_locale_name): New function, extracted
16988         from main. Also test mixed situations.
16989         (test_locale_name_posix, test_locale_name_environ,
16990         test_locale_name_default): New functions.
16991         (main): Invoke them all.
16992         * modules/localename-tests (configure.ac): Test for newlocale.
16993
16994 2009-12-23  Bruno Haible  <bruno@clisp.org>
16995
16996         unistd: Ensure getcwd gets declared before being overridden.
16997         * lib/unistd.in.h: Conditionally include <io.h>.
16998
16999 2009-12-22  Bruno Haible  <bruno@clisp.org>
17000
17001         wchar: Diagnose broken combination of glibc and gcc versions and flags.
17002         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
17003         (gl_WCHAR_H): Invoke it.
17004         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
17005         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
17006         Reported by Karl Berry <karl@freefriends.org>.
17007
17008 2009-12-22  Eric Blake  <ebb9@byu.net>
17009
17010         math, unistd: avoid redundant includes
17011         * lib/math.in.h (isnan): No need to re-include <math.h>.
17012         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
17013
17014         getsubopt: work around cygwin bug
17015         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
17016         avoid conflicting with system getsubopt.
17017         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
17018         bug.
17019
17020         getopt: synchronize from glibc
17021         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
17022         parameter order.  Adjust all callers.
17023         (_getopt_internal_r, main): Adjust quoting in error messages.
17024         Drop considerations for outdated POSIX 1003.2 error message.
17025         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
17026         callers.
17027         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
17028
17029         test-getopt: test stderr behavior
17030         * modules/getopt-posix-tests (Depends-on): Add dup2.
17031         * tests/test-getopt.c (ASSERT): Avoid stderr.
17032         (main): Move stderr to a temporary file.
17033         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
17034         Instead, add parameter to inform caller if output occurred.
17035         (test_getopt): Adjust all existing tests to expect silence, and
17036         add new tests of leading ":".
17037         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
17038         glibc shortcomings with leading "-:" or "+:" in optstring.
17039         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17040         Likewise.
17041         * doc/posix-functions/getopt.texi (getopt): Likewise.
17042
17043         test-getopt: enhance test
17044         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
17045         supports optind=0.
17046         * tests/test-getopt.c (OPTIND_MIN): Move...
17047         * tests/test-getopt.h (OPTIND_MIN): ...here.
17048         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
17049         Require that optind=0 works, since modern BSD supports it in
17050         addition to optreset, and since coreutils expects it.
17051         (test_getopt_long_only): New test.
17052         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
17053         glibc shortcomings with 'W;', and enforcement of optind=0.
17054         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17055         Likewise.
17056
17057 2009-12-21  Bruno Haible  <bruno@clisp.org>
17058
17059         localename: Improvements for MacOS X and Cygwin.
17060         * lib/localename.h (gl_locale_name_environ): New declaration.
17061         * lib/localename.c (gl_locale_name_environ): New function, extracted from
17062         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
17063         (gl_locale_name_posix): Invoke it.
17064         (gl_locale_name_default): Add comments. Use Windows native API also on
17065         Cygwin.
17066
17067 2009-12-21  Bruno Haible  <bruno@clisp.org>
17068
17069         Update list of Win32 locale ids.
17070         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
17071         (LANG_SAMI): Renamed from LANG_SAAMI.
17072         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
17073         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
17074         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
17075         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
17076         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
17077         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
17078         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
17079         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
17080         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
17081         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
17082         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
17083         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
17084         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
17085         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
17086         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
17087         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
17088         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
17089         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
17090         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
17091         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
17092         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
17093         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
17094         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
17095         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
17096         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
17097         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
17098         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
17099         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
17100         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
17101         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
17102         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
17103         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
17104         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
17105         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
17106         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
17107         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
17108         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
17109         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
17110         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
17111         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
17112         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
17113         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
17114         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
17115         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
17116         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
17117         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
17118         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
17119         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
17120         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
17121         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
17122         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
17123         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
17124         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
17125         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
17126         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
17127         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
17128         Add more languages and countries for Sami, Sorbian. Add more countries
17129         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
17130         for Pashto. Change country for Syriac, Tswana.
17131
17132 2009-12-21  Eric Blake  <ebb9@byu.net>
17133
17134         test-utimens: avoid spurious failure
17135         * tests/test-chown.h (nap): Factor...
17136         * tests/nap.h: ...into new file.
17137         * tests/test-lchown.h (nap): Avoid duplication.
17138         * tests/test-utimens-common.h (nap): Use shared implementation,
17139         necessary on file systems with 1-second resolution.
17140         * modules/chown-tests (Files): Include new file.
17141         * modules/fdutimensat-tests (Files): Likewise.
17142         * modules/futimens-tests (Files): Likewise.
17143         * modules/lchown-tests (Files): Likewise.
17144         * modules/openat-tests (Files): Likewise.
17145         * modules/utimens-tests (Files): Likewise.
17146         * modules/utimensat-tests (Files): Likewise.
17147
17148 2009-12-19  Eric Blake  <ebb9@byu.net>
17149
17150         futimens, utimensat: work around Linux bug
17151         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
17152         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17153         * lib/utimensat.c (rpl_utimensat): Work around it.
17154         * lib/futimens.c (rpl_futimens): Adjust comment.
17155
17156         utimens: work around Linux ctime bug
17157         * lib/utimens.c (detect_ctime_bug): New helper function.
17158         (update_timespec): Differentiate between workaround needed for
17159         this bug vs. what is needed for systems that lack utimensat.
17160         (fdutimens, lutimens): Work around bug.
17161
17162         utimens: check for ctime update
17163         * tests/test-utimens-common.h (check_ctime): Define.
17164         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
17165         * tests/test-futimens.h (test_futimens): Likewise.
17166         * tests/test-lutimens.h (test_lutimens): Likewise.
17167         * doc/posix-functions/futimens.texi (futimens): Document the bug.
17168         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
17169
17170 2009-12-19  Bruno Haible  <bruno@clisp.org>
17171
17172         dprintf-posix: Check against memory leak fixed on 2009-12-15.
17173         * tests/test-dprintf-posix2.sh: New file.
17174         * tests/test-dprintf-posix2.c: New file.
17175         * modules/dprintf-posix-tests (Files): Add them.
17176         (configure.ac): Check for getrlimit and setrlimit.
17177         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
17178
17179 2009-12-19  Bruno Haible  <bruno@clisp.org>
17180
17181         fprintf-posix: Check against memory leak fixed on 2009-12-15.
17182         * tests/test-fprintf-posix3.sh: New file.
17183         * tests/test-fprintf-posix3.c: New file.
17184         * modules/fprintf-posix-tests (Files): Add them.
17185         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
17186
17187 2009-12-19  Eric Blake  <ebb9@byu.net>
17188
17189         dirfd: fix prototype
17190         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
17191         * lib/dirfd.c (dirfd): Likewise.
17192
17193         canonicalize: reduce memory usage
17194         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
17195         allocation to size.
17196         Reported by Solar Designer <solar@openwall.com>.
17197
17198 2009-12-19  Bruno Haible  <bruno@clisp.org>
17199
17200         New module attribute 'Applicability'.
17201         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
17202         * gnulib-tool: New option --extract-applicability.
17203         (func_usage): Document it.
17204         (sed_extract_prog): Recognize it.
17205         (func_get_applicability): New function.
17206         (func_import): Generalize handling of 'link-warning' module.
17207         * modules/link-warning (Applicability): New section.
17208         * modules/arg-nonnull (Applicability): New section.
17209         Repoted by Simon Josefsson <simon@josefsson.org>.
17210
17211 2009-12-19  Bruno Haible  <bruno@clisp.org>
17212
17213         fflush: tweak
17214         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
17215         * lib/fseeko.c (rpl_fseeko): Likewise.
17216
17217 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
17218
17219         * lib/gl_list.h: Fix typo in comment.
17220
17221 2009-12-16  Eric Blake  <ebb9@byu.net>
17222
17223         fcntl: use to simplify other modules
17224         * modules/cloexec (Depends-on): Add fcntl.
17225         * modules/fchdir (Depends-on): Likewise.
17226         * modules/fd-safer-flag (Depends-on): Likewise.
17227         * modules/unistd-safer (Depends-on): Likewise.
17228         * modules/dup3 (configure.ac): Set module indicator.
17229         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
17230         missing.
17231         * lib/fchdir.c (_gl_register_dup): Fix comment.
17232         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
17233         * lib/dup-safer.c (dup_safer): Likewise.
17234         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
17235         * lib/dup3.c (dup3): Likewise.
17236         * tests/test-fchdir.c (main): Enhance test.
17237         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
17238
17239         fcntl: port portions of fcntl to mingw
17240         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
17241         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
17242         replacement for mingw.
17243         * modules/fcntl (Description): Update.
17244         (Depends-on): Add dup2.
17245         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
17246         * modules/fcntl-h (Makefile.am): Substitute it.
17247         * lib/fcntl.in.h (fcntl): Update declaration.
17248         (F_DUPFD, F_GETFD): New macros, when needed.
17249         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17250         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
17251         * tests/test-fcntl.c (check_flags, main): Enhance test for items
17252         we now guarantee.
17253
17254         fcntl: work around cygwin bug in F_DUPFD
17255         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
17256         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
17257         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
17258         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
17259         * doc/posix-functions/fcntl.texi (fcntl): Document it.
17260
17261         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
17262         * modules/fcntl (Files): List new files.
17263         (configure.ac): Run a test.
17264         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
17265         * lib/fcntl.c (rpl_fcntl): Likewise.
17266         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
17267         (gl_FCNTL_H): Always replace fcntl.h.
17268         * modules/fcntl-h (Makefile.am): Substitute witnesses.
17269         * lib/fcntl.in.h (fcntl): Declare replacement.
17270         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
17271         needed, plus a witness.
17272         * doc/posix-functions/fcntl.texi (fcntl): Document this.
17273         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
17274         * tests/test-fcntl.c: New file.
17275         * modules/fcntl-tests: Likewise.
17276
17277         binary-io: avoid potential compilation warning
17278         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
17279         directives.
17280
17281         fflush: avoid compilation error on NetBSD
17282         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
17283         between off_t and fpos_t, since the latter is sometimes a struct.
17284         * lib/fseeko.c (rpl_fseeko): Likewise.
17285         Reported by Alexander Nasonov <alnsn@yandex.ru>.
17286
17287 2009-12-15  Eric Blake  <ebb9@byu.net>
17288
17289         fcntl-h, stdio, sys_ioctl: fix declarations
17290         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
17291         function must not take arguments.
17292         * lib/sys_ioctl.in.h (ioctl): Likewise.
17293         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
17294         (open): Add a link warning.
17295
17296 2009-12-15  Jim Meyering  <meyering@redhat.com>
17297
17298         areadlink, areadlink-with-size: relax license to LGPLv2+
17299         * modules/areadlink (License): Relax to LGPLv2+.
17300         * modules/areadlink-with-size (License): Likewise.
17301
17302 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
17303             Bruno Haible  <bruno@clisp.org>
17304
17305         *printf: Fix memory leak.
17306         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
17307         * lib/vfprintf.c (vfprintf): Likewise.
17308         * lib/dprintf.c (dprintf): Likewise.
17309         * lib/vdprintf.c (vdprintf): Likewise.
17310
17311 2009-12-14  Eric Blake  <ebb9@byu.net>
17312
17313         accept4: adjust module dependencies
17314         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
17315
17316         utimens: one more try at avoiding compiler warning
17317         * lib/utimens.c (lutimens): Lower scope of result.
17318
17319 2009-12-13  Bruno Haible  <bruno@clisp.org>
17320
17321         Move the malloc checking from module 'list' to new module 'xlist'.
17322         * modules/xlist: New file.
17323         * lib/gl_xlist.h: New file.
17324         * lib/gl_xlist.c: New file.
17325         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
17326         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
17327         gl_list_add_last, gl_list_add_before, gl_list_add_after,
17328         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
17329         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
17330         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
17331         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
17332         gl_sortedlist_nx_add): New declarations.
17333         (struct gl_list_implementation): Rename and change methods accordingly.
17334         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
17335         (gl_list_nx_create): Renamed from gl_list_create.
17336         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
17337         (gl_list_nx_set_at): Renamed from gl_list_set_at.
17338         (gl_list_nx_add_first): Renamed from gl_list_add_first.
17339         (gl_list_nx_add_last): Renamed from gl_list_add_last.
17340         (gl_list_nx_add_before): Renamed from gl_list_add_before.
17341         (gl_list_nx_add_after): Renamed from gl_list_add_after.
17342         (gl_list_nx_add_at): Renamed from gl_list_add_at.
17343         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
17344         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
17345         gl_list_create_empty.
17346         (gl_list_nx_create): Renamed from gl_list_create.
17347         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
17348         (gl_list_nx_set_at): Renamed from gl_list_set_at.
17349         (gl_list_nx_add_first): Renamed from gl_list_add_first.
17350         (gl_list_nx_add_last): Renamed from gl_list_add_last.
17351         (gl_list_nx_add_before): Renamed from gl_list_add_before.
17352         (gl_list_nx_add_after): Renamed from gl_list_add_after.
17353         (gl_list_nx_add_at): Renamed from gl_list_add_at.
17354         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
17355         * lib/gl_array_list.c: Don't include xalloc.h.
17356         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
17357         NULL upon out-of-memory.
17358         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
17359         out-of-memory.
17360         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
17361         Change return type to 'int'.
17362         (gl_array_nx_set_at): Renamed from gl_array_set_at.
17363         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
17364         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
17365         upon out-of-memory.
17366         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
17367         upon out-of-memory.
17368         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
17369         upon out-of-memory.
17370         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
17371         upon out-of-memory.
17372         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
17373         out-of-memory.
17374         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
17375         Update.
17376         (gl_array_list_implementation): Update.
17377         * lib/gl_carray_list.c: Don't include xalloc.h.
17378         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
17379         Return NULL upon out-of-memory.
17380         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
17381         out-of-memory.
17382         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
17383         Change return type to 'int'.
17384         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
17385         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
17386         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
17387         upon out-of-memory.
17388         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
17389         upon out-of-memory.
17390         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
17391         out-of-memory.
17392         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
17393         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
17394         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
17395         Update.
17396         (gl_carray_list_implementation): Update.
17397         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
17398         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
17399         gl_linked_create_empty. Return NULL upon out-of-memory.
17400         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
17401         out-of-memory.
17402         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
17403         Change return type to 'int'. Return -1 upon out-of-memory.
17404         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
17405         out-of-memory.
17406         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
17407         upon out-of-memory.
17408         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
17409         upon out-of-memory.
17410         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
17411         NULL upon out-of-memory.
17412         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
17413         upon out-of-memory.
17414         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
17415         out-of-memory.
17416         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
17417         Update.
17418         * lib/gl_linked_list.c: Don't include xalloc.h.
17419         (gl_linked_list_implementation): Update.
17420         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
17421         (add_to_bucket): Change return type to 'int'.
17422         (gl_linkedhash_list_implementation): Update.
17423         * lib/gl_anytree_list1.h (free_subtree): New function.
17424         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
17425         gl_tree_create_empty. Return NULL upon out-of-memory.
17426         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
17427         Change return type to 'int'. Return -1 upon out-of-memory.
17428         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
17429         out-of-memory.
17430         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
17431         (gl_tree_remove_node): New function, moved here from
17432         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
17433         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
17434         Update.
17435         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
17436         malloc, not xmalloc. Return NULL upon out-of-memory.
17437         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
17438         out-of-memory.
17439         (gl_tree_remove_node_from_tree): New function, extracted from
17440         gl_tree_remove_node.
17441         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
17442         upon out-of-memory.
17443         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
17444         out-of-memory.
17445         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
17446         upon out-of-memory.
17447         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
17448         upon out-of-memory.
17449         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
17450         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
17451         not xmalloc. Return NULL upon out-of-memory.
17452         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
17453         out-of-memory.
17454         (gl_tree_remove_node_from_tree): New function, extracted from
17455         gl_tree_remove_node.
17456         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
17457         upon out-of-memory.
17458         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
17459         out-of-memory.
17460         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
17461         upon out-of-memory.
17462         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
17463         upon out-of-memory.
17464         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
17465         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
17466         gl_anytree_list1.h before gl_anyavltree_list2.h.
17467         (gl_avltree_list_implementation): Update.
17468         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
17469         gl_anytree_list1.h before gl_anyavltree_list2.h.
17470         (gl_rbtree_list_implementation): Update.
17471         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
17472         Change return type to 'int'. Return -1 upon out-of-memory. Use
17473         __builtin_expect.
17474         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
17475         (gl_avltreehash_list_implementation): Update.
17476         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
17477         (gl_rbtreehash_list_implementation): Update.
17478         * modules/array-list (Depends-on): Remove xalloc.
17479         * modules/carray-list (Depends-on): Likewise.
17480         * modules/linked-list (Depends-on): Likewise.
17481         * modules/linkedhash-list (Depends-on): Likewise.
17482         * modules/avltree-list (Depends-on): Likewise.
17483         * modules/rbtree-list (Depends-on): Likewise.
17484         * modules/avltreehash-list (Depends-on): Likewise.
17485         * modules/rbtreehash-list (Depends-on): Likewise.
17486
17487         * modules/xsublist: New file.
17488         * lib/gl_xsublist.h: New file.
17489         * lib/gl_xsublist.c: New file.
17490         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
17491         (gl_sublist_nx_create): New declaration.
17492         * lib/gl_sublist.c: Don't include xalloc.h.
17493         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
17494         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
17495         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
17496         Change return type to 'int'. Return -1 upon out-of-memory.
17497         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
17498         upon out-of-memory.
17499         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
17500         NULL upon out-of-memory.
17501         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
17502         upon out-of-memory.
17503         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
17504         NULL upon out-of-memory.
17505         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
17506         NULL upon out-of-memory.
17507         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
17508         upon out-of-memory.
17509         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
17510         (gl_sublist_list_implementation): Update.
17511         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
17512         upon out-of-memory.
17513         * modules/sublist (Depends-on): Remove xalloc.
17514
17515         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
17516         * tests/test-carray_list.c: Likewise.
17517         * tests/test-linked_list.c: Likewise.
17518         * tests/test-linkedhash_list.c: Likewise.
17519         * tests/test-avltree_list.c: Likewise.
17520         * tests/test-rbtree_list.c: Likewise.
17521         * tests/test-avltreehash_list.c: Likewise.
17522         * tests/test-rbtreehash_list.c: Likewise.
17523         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
17524         * modules/carray-list-tests (Makefile.am): Likewise.
17525         * modules/linked-list-tests (Makefile.am): Likewise.
17526         * modules/linkedhash-list-tests (Makefile.am): Likewise.
17527         * modules/avltree-list-tests (Makefile.am): Likewise.
17528         * modules/rbtree-list-tests (Makefile.am): Likewise.
17529         * modules/avltreehash-list-tests (Makefile.am): Likewise.
17530         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
17531
17532         * NEWS: Mention the changes.
17533
17534         * lib/clean-temp.c: Include gl_xlist.h.
17535         * modules/clean-temp (Depends-on): Add xlist.
17536
17537         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
17538         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
17539
17540         * tests/test-array_oset.c: Include gl_xlist.h.
17541         * modules/array-oset-tests (Depends-on): Add xlist.
17542
17543         Reported by José E. Marchesi <jemarch@gnu.org>.
17544
17545 2009-12-13  Bruno Haible  <bruno@clisp.org>
17546
17547         Move the malloc checking from module 'oset' to new module 'xoset'.
17548         * modules/xoset: New file.
17549         * lib/gl_xoset.h: New file.
17550         * lib/gl_xoset.c: New file.
17551         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
17552         declarations.
17553         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
17554         (struct gl_oset_implementation): Rename and change methods accordingly.
17555         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
17556         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
17557         'int'. Mark as __warn_unused_result__.
17558         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
17559         gl_oset_create_empty.
17560         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
17561         'int'.
17562         * lib/gl_array_oset.c: Don't include xalloc.h.
17563         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
17564         malloc, not xmalloc.
17565         (grow): Change return type to 'int'. Don't call xalloc_die.
17566         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
17567         to 'int'.
17568         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
17569         'int'.
17570         (gl_array_oset_implementation): Update.
17571         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
17572         gl_tree_create_empty.
17573         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
17574         'int'.
17575         * lib/gl_avltree_oset.c: Don't include xalloc.h.
17576         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
17577         xmalloc.
17578         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
17579         not xmalloc.
17580         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
17581         xmalloc.
17582         (gl_avltree_oset_implementation): Update.
17583         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
17584         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
17585         xmalloc.
17586         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
17587         not xmalloc.
17588         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
17589         xmalloc.
17590         (gl_rbtree_oset_implementation): Update.
17591         * modules/array-oset (Depends-on): Remove xalloc.
17592         * modules/avltree-oset (Depends-on): Likewise.
17593         * modules/rbtree-oset (Depends-on): Likewise.
17594         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
17595         * tests/test-avltree_oset.c: Likewise.
17596         * tests/test-rbtree_oset.c: Likewise.
17597         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
17598         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
17599         * modules/rbtree-oset-tests (Makefile.am): Likewise.
17600         * NEWS: Mention the change.
17601
17602 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
17603
17604         maint.mk: allow a project to override release-prep commands
17605         * top/maint.mk (alpha, beta, stable): Move release-preparatory
17606         commands into a new rule.
17607         (release-prep): New rule.
17608         (release-prep-hook): New overridable variable.
17609
17610 2009-12-13  Bruno Haible  <bruno@clisp.org>
17611
17612         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
17613
17614 2009-12-13  Jim Meyering  <meyering@redhat.com>
17615
17616         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
17617         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
17618
17619 2009-12-12  Bruno Haible  <bruno@clisp.org>
17620
17621         duplocale: Tweak.
17622         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
17623
17624 2009-12-12  Karl Berry  <karl@gnu.org>
17625
17626         * config/srclist.txt (strtoll.c): tab changes, no more sync.
17627
17628 2009-12-12  Bruno Haible  <bruno@clisp.org>
17629
17630         * m4/po.m4: Undo incorrect untabification.
17631
17632 2009-12-12  Bruno Haible  <bruno@clisp.org>
17633
17634         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
17635         * modules/c-strtod (Depends-on): Add locale.
17636         * modules/c-strtold (Depends-on): Likewise.
17637
17638 2009-12-12  Bruno Haible  <bruno@clisp.org>
17639
17640         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
17641
17642 2009-12-11  Eric Blake  <ebb9@byu.net>
17643
17644         setenv: relax requirement in light of POSIX ruling
17645         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
17646         not NULL.
17647         * tests/test-setenv.c (main): Relax test.
17648         * tests/test-unsetenv.c (main): Likewise.
17649         * doc/posix-functions/setenv.texi (setenv): Document this.
17650         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
17651
17652 2009-12-11  Bruno Haible  <bruno@clisp.org>
17653
17654         New module 'fd-safer-flag'.
17655         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
17656         * lib/dup-safer.c (dup_safer_flag): Remove function.
17657         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
17658         * lib/fd-safer.c (fd_safer_flag): Remove function.
17659         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
17660         * modules/cloexec (configure.ac): Drop indicator macro.
17661         * modules/fd-safer-flag: New file.
17662         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
17663         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
17664         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
17665
17666 2009-12-11  Bruno Haible  <bruno@clisp.org>
17667
17668         Tests for module 'nl_langinfo'.
17669         * modules/nl_langinfo-tests: New file.
17670         * tests/test-nl_langinfo.sh: New file.
17671         * tests/test-nl_langinfo.c: New file.
17672
17673         New module 'nl_langinfo'.
17674         * lib/nl_langinfo.c: New file.
17675         * m4/nl_langinfo.m4: New file.
17676         * modules/nl_langinfo: New file.
17677         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
17678
17679 2009-12-11  Bruno Haible  <bruno@clisp.org>
17680
17681         Tests for module 'langinfo'.
17682         * modules/langinfo-tests: New file.
17683         * tests/test-langinfo.c: New file.
17684
17685         New module 'langinfo'.
17686         * lib/langinfo.in.h: New file.
17687         * m4/langinfo_h.m4: New file.
17688         * modules/langinfo: New file.
17689         * doc/posix-headers/langinfo.texi: Mention the new module.
17690
17691 2009-12-11  Bruno Haible  <bruno@clisp.org>
17692
17693         * lib/config.charset: Untabify.
17694
17695 2009-12-11  Bruno Haible  <bruno@clisp.org>
17696
17697         * modules/unistd-safer (configure.ac): Drop indicator macro.
17698
17699 2009-12-11  Bruno Haible  <bruno@clisp.org>
17700
17701         Move pipe2-safer code to its own file.
17702         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
17703         * lib/pipe-safer.c (pipe2_safer): Remove function.
17704         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
17705         (Makefile.am): Add it to lib_SOURCES.
17706
17707 2009-12-10  Bruno Haible  <bruno@clisp.org>
17708
17709         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
17710
17711 2009-12-10  Bruno Haible  <bruno@clisp.org>
17712
17713         Declare which arguments expect non-NULL values, for GCC and clang.
17714         * build-aux/arg-nonnull.h: New file.
17715         * modules/arg-nonnull: New file.
17716         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
17717         (inet_ntop, inet_pton): Use it.
17718         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
17719         (closedir, dirfd, opendir, scandir, alphasort): Use it.
17720         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
17721         (open, openat): Use it.
17722         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
17723         (fnmatch): Use it.
17724         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
17725         (getopt, getopt_long, getopt_long_only): Use it.
17726         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
17727         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
17728         Use it.
17729         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
17730         (iconv_open): Use it.
17731         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
17732         (strtoimax, strtoumax): Use it.
17733         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
17734         (duplocale): Use it.
17735         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
17736         (frexp, frexpl): Use it.
17737         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
17738         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
17739         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
17740         (tsearch, tfind, tdelete, twalk): Use it.
17741         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
17742         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
17743         sigpending): Use it.
17744         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
17745         (posix_spawn, posix_spawnp, posix_spawnattr_init,
17746         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
17747         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
17748         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
17749         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
17750         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
17751         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
17752         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
17753         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
17754         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
17755         Use it.
17756         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
17757         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
17758         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
17759         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
17760         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
17761         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
17762         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
17763         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
17764         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
17765         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
17766         strtoull, unsetenv): Use it.
17767         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
17768         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
17769         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
17770         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
17771         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
17772         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
17773         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
17774         (strcasecmp, strncasecmp): Use it.
17775         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
17776         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
17777         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
17778         rpl_setsockopt): Use it.
17779         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
17780         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
17781         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
17782         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
17783         (gettimeofday): Use it.
17784         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
17785         (times): Use it.
17786         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
17787         (uname): Use it.
17788         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
17789         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
17790         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
17791         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
17792         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
17793         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
17794         unlinkat, write): Use it.
17795         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
17796         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
17797         * lib/argv-iter.h: Include arg-nonnull.h.
17798         (_ATTRIBUTE_NONNULL_): Remove macro.
17799         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
17800         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
17801         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
17802         optimization.
17803         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
17804         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
17805         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
17806         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
17807         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
17808         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
17809         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
17810         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
17811         * modules/arpa_inet (Depends-on): Add arg-nonnull.
17812         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
17813         * modules/dirent (Depends-on): Add arg-nonnull.
17814         (Makefile.am): Insert arg-nonnull.h into dirent.h.
17815         * modules/fcntl-h (Depends-on): Add arg-nonnull.
17816         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
17817         * modules/fnmatch (Depends-on): Add arg-nonnull.
17818         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
17819         * modules/getopt-posix (Depends-on): Add arg-nonnull.
17820         (Makefile.am): Insert arg-nonnull.h into getopt.h.
17821         * modules/glob (Depends-on): Add arg-nonnull.
17822         (Makefile.am): Insert arg-nonnull.h into glob.h.
17823         * modules/iconv_open (Depends-on): Add arg-nonnull.
17824         (Makefile.am): Insert arg-nonnull.h into iconv.h.
17825         * modules/inttypes (Depends-on): Add arg-nonnull.
17826         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
17827         * modules/locale (Depends-on): Add arg-nonnull.
17828         (Makefile.am): Insert arg-nonnull.h into locale.h.
17829         * modules/math (Depends-on): Add arg-nonnull.
17830         (Makefile.am): Insert arg-nonnull.h into math.h.
17831         * modules/netdb (Depends-on): Add arg-nonnull.
17832         (Makefile.am): Insert arg-nonnull.h into netdb.h.
17833         * modules/search (Depends-on): Add arg-nonnull.
17834         (Makefile.am): Insert arg-nonnull.h into search.h.
17835         * modules/signal (Depends-on): Add arg-nonnull.
17836         (Makefile.am): Insert arg-nonnull.h into signal.h.
17837         * modules/spawn (Depends-on): Add arg-nonnull.
17838         (Makefile.am): Insert arg-nonnull.h into spawn.h.
17839         * modules/stdio (Depends-on): Add arg-nonnull.
17840         (Makefile.am): Insert arg-nonnull.h into stdio.h.
17841         * modules/stdlib (Depends-on): Add arg-nonnull.
17842         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
17843         * modules/string (Depends-on): Add arg-nonnull.
17844         (Makefile.am): Insert arg-nonnull.h into string.h.
17845         * modules/strings (Depends-on): Add arg-nonnull.
17846         (Makefile.am): Insert arg-nonnull.h into strings.h.
17847         * modules/sys_socket (Depends-on): Add arg-nonnull.
17848         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
17849         * modules/sys_stat (Depends-on): Add arg-nonnull.
17850         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
17851         * modules/sys_time (Depends-on): Add arg-nonnull.
17852         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
17853         * modules/sys_times (Depends-on): Add arg-nonnull.
17854         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
17855         * modules/sys_utsname (Depends-on): Add arg-nonnull.
17856         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
17857         * modules/time (Depends-on): Add arg-nonnull.
17858         (Makefile.am): Insert arg-nonnull.h into time.h.
17859         * modules/unistd (Depends-on): Add arg-nonnull.
17860         (Makefile.am): Insert arg-nonnull.h into unistd.h.
17861         * modules/wchar (Depends-on): Add arg-nonnull.
17862         (Makefile.am): Insert arg-nonnull.h into wchar.h.
17863         * modules/argv-iter (Depends-on): Add arg-nonnull.
17864         * tests/test-canonicalize.c (null_ptr): New function.
17865         (main): Use it.
17866         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
17867         (main): Use it.
17868         * tests/test-memmem.c (null_ptr): New function.
17869         (main): Use it.
17870         Reported by Jim Meyering.
17871
17872 2009-12-10  Bruno Haible  <bruno@clisp.org>
17873
17874         Use spaces for indentation, not tabs.
17875         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
17876         * m4/*.m4: Untabify.
17877         * build-aux/*.h: Untabify.
17878         * tests/**/*.[hc]: Untabify.
17879         * README: New section "Indent with spaces, not TABs", based on
17880         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
17881         * NEWS: Mention the change.
17882
17883 2009-12-10  Bruno Haible  <bruno@clisp.org>
17884
17885         pty test: Fix link error.
17886         * modules/pty-tests (Makefile.am): Add the default LDADD value to
17887         test_pty_LDADD.
17888
17889 2009-12-07  Simon Josefsson  <simon@josefsson.org>
17890
17891         * modules/pty: New file.
17892         * modules/pty-tests: New file.
17893         * m4/pty.m4: New file.
17894         * tests/test-pty.c: New file.
17895         * doc/glibc-headers/pty.texi: Modified.
17896         * doc/glibc-functions/forkpty.texi: Modified.
17897         * doc/glibc-functions/openpty.texi: Modified.
17898
17899 2009-12-10  Bruno Haible  <bruno@clisp.org>
17900
17901         Avoid syntax error in C++ mode.
17902         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
17903
17904 2009-12-10  Bruno Haible  <bruno@clisp.org>
17905
17906         Use sed with option -e.
17907         * gnulib-tool (func_version, func_emit_copyright_notice,
17908         func_emit_initmacro_end, func_import, func_create_testdir): Pass
17909         option -e to sed.
17910         * modules/link-warning (Makefile.am): Likewise.
17911
17912 2009-12-10  Jim Meyering  <meyering@redhat.com>
17913
17914         mgetgroups: do not write bytes beyond end of malloc'd buffer
17915         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
17916         username, we call getgroups with a one-element-shorter buffer,
17917         but still told it the length was original, max_n_groups.
17918
17919 2009-12-09  Eric Blake  <ebb9@byu.net>
17920
17921         cloexec: relax license
17922         * modules/cloexec (Maintainer): Add myself.
17923         (License): Use LGPL, not GPL.
17924
17925         link-warning: optimize generation
17926         * modules/link-warning (Makefile.am): Reduce process usage.
17927
17928 2009-12-09  Bruno Haible  <bruno@clisp.org>
17929
17930         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
17931         workaround was added on 2009-11-17.
17932
17933 2009-12-09  Jim Meyering  <meyering@redhat.com>
17934             Bruno Haible  <bruno@clisp.org>
17935
17936         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
17937         * modules/link-warning (Makefile.am): Make the comment-removing sed
17938         command more robust in the face of bootstrap-prepended comment lines.
17939
17940 2009-12-09  Bruno Haible  <bruno@clisp.org>
17941
17942         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
17943         most one group.
17944
17945 2009-12-09  Simon Josefsson <simon@josefsson.org>
17946             Bruno Haible  <bruno@clisp.org>
17947
17948         * build-aux/link-warning.h: Add copyright notice.
17949         * modules/link-warning (Makefile.am): Generate link-warning.h from
17950         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
17951         * NEWS: Mention change in link-warning module.
17952         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
17953         * modules/dirent (Makefile.am): Add dependency to dirent.h.
17954         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
17955         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
17956         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
17957         * modules/math (Makefile.am): Add dependency to math.h.
17958         * modules/search (Makefile.am): Add dependency to search.h.
17959         * modules/signal (Makefile.am): Add dependency to signal.h.
17960         * modules/spawn (Makefile.am): Add dependency to spawn.h.
17961         * modules/stdio (Makefile.am): Add dependency to stdio.h.
17962         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
17963         * modules/string (Makefile.am): Add dependency to string.h.
17964         * modules/strings (Makefile.am): Add dependency to strings.h.
17965         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
17966         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
17967         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
17968         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
17969         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
17970         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
17971         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
17972         * modules/unistd (Makefile.am): Add dependency to unistd.h.
17973         * modules/wchar (Makefile.am): Add dependency to wchar.h.
17974
17975 2009-12-09  Bruno Haible  <bruno@clisp.org>
17976
17977         fchdir: Optimize away rpl_fstat when possible.
17978         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
17979         REPLACE_OPEN_DIRECTORY.
17980         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
17981
17982 2009-12-09  Bruno Haible  <bruno@clisp.org>
17983
17984         * lib/fchdir.c: Update comment.
17985
17986 2009-12-09  Bruno Haible  <bruno@clisp.org>
17987
17988         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
17989
17990 2009-12-08  Eric Blake  <ebb9@byu.net>
17991
17992         fchdir: avoid memory leak on re-registration.
17993         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
17994
17995 2009-12-08  Jim Meyering  <meyering@redhat.com>
17996
17997         init.sh: avoid Solaris 10 /bin/sh portability problem
17998         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
17999         sourced script:
18000           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
18001           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
18002           bar
18003         tests/init.sh relied on that, accepting a --set-path=DIR argument,
18004         and two tests used that idiom.
18005         * tests/init.sh: Update suggested usage comments.
18006         (path_prepend_): New function, to be used in place
18007         of the --src-path=DIR option.
18008         (setup_): Move PATH-prepending code into path_prepend_.
18009         * tests/test-pread.sh: Adapt to new usage.
18010         * tests/test-xalloc-die.sh: Likewise.
18011
18012 2009-12-08  Simon Josefsson  <simon@josefsson.org>
18013
18014         * doc/gnulib.texi (Glibc pty.h): Add.
18015         * doc/glibc-functions/forkpty.texi: Add.
18016         * doc/glibc-functions/openpty.texi: Add.
18017         Suggested by Bruno Haible.
18018
18019 2009-12-08  Eric Blake  <ebb9@byu.net>
18020
18021         fchdir: fix logic bugs
18022         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
18023         * tests/test-fchdir.c (main): Enhance test.
18024         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
18025         is in use.
18026
18027         dup2: fix logic bugs
18028         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
18029         REPLACE_DUP2 to decide when rpl_dup2 is needed.
18030         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
18031         exists.
18032         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
18033
18034 2009-12-07  Eric Blake  <ebb9@byu.net>
18035
18036         unlink: fix m4 detection
18037         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
18038
18039         unistd-safer: add unit test
18040         * modules/unistd-safer-tests: New file.
18041         * tests/test-dup-safer.c: Likewise.
18042         * tests/test-cloexec.c (setmode): Avoid compiler warning.
18043         * tests/test-dup2.c (setmode): Likewise.
18044         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
18045
18046         cloexec: preserve text vs. binary across dup_cloexec
18047         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
18048         mode.
18049         * modules/dup2-tests (Depends-on): Add binary-io.
18050         * modules/cloexec-tests (Depends-on): Likewise.
18051         * tests/test-dup2.c (setmode, is_mode): New helpers.
18052         (main): Add tests that translation mode is preserved.
18053         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
18054         Reported by Bruno Haible.
18055
18056         mgetgroups: reduce duplicate listings
18057         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
18058         resulting array.
18059         * tests/test-chown.h (test_chown): Simplify client.
18060         * tests/test-lchown.h (test_lchown): Likewise.
18061
18062 2009-12-06  Bruno Haible  <bruno@clisp.org>
18063
18064         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
18065         value.
18066
18067 2009-12-06  Bruno Haible  <bruno@clisp.org>
18068
18069         * lib/progname.c: Include stdio.h, stdlib.h.
18070         (set_program_name): Reject a NULL argument.
18071
18072 2009-12-05  Eric Blake  <ebb9@byu.net>
18073
18074         pipe2-safer: new module
18075         * modules/pipe2-safer: New file.
18076         * lib/unistd-safer.h (pipe2_safer): New prototype.
18077         * lib/unistd--.h (pipe2): New wrapper.
18078         * lib/pipe-safer.c (pipe2_safer): New function.
18079         * modules/pipe (Depends-on): Add pipe2-safer.
18080         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
18081
18082         stdlib-safer: preserve cloexec flag for mkostemp[s]
18083         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
18084         fd_safer_flag.
18085
18086         unistd-safer: allow preservation of cloexec status via flag
18087         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
18088         prototypes.
18089         * lib/dup-safer.c (dup_safer_flag): New function.
18090         * lib/fd-safer.c (fd_safer_flag): Likewise.
18091         * modules/cloexec (configure.ac): Set witness.
18092
18093         test-dup2: enhance test
18094         * modules/dup2-tests (Depends-on): Add cloexec.
18095         * tests/test-dup2.c (main): Enhance test.
18096
18097         cloexec: add dup_cloexec
18098         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
18099         header and comments.
18100         * lib/cloexec.c (set_cloexec_flag): Add comments.
18101         (dup_cloexec): New function, with mingw implementation borrowed
18102         from...
18103         * lib/w32spawn.h (dup_noinherit): ...here.
18104         * modules/execute (Depends-on): Add cloexec.
18105         * modules/pipe (Depends-on): Likewise.
18106         * modules/cloexec (Depends-on): Add dup2.
18107         * modules/cloexec-tests (Files): New file.
18108         * tests/test-cloexec.c: Likewise.
18109
18110         test-xalloc-die: fix test for mingw
18111         * modules/xalloc-die-tests (Files): Add tests/init.sh.
18112         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
18113         directory and .exe suffix off argv[0] output.
18114
18115         test-fseeko: fix test for mingw
18116         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
18117         than undefining fseek, so test will pass on mingw.
18118
18119 2009-12-05  Bruno Haible  <bruno@clisp.org>
18120
18121         * lib/progname.h (set_program_name): Clarify specification.
18122         * lib/progname.c (set_program_name): Likewise.
18123         Reported by Jim Meyering.
18124
18125 2009-12-05  Jim Meyering  <meyering@redhat.com>
18126
18127         maint.mk: backslash-escape parens in default regexp
18128         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
18129         backslash-escape the literal parentheses.
18130
18131         maint.mk: news-date-check: use grep -E
18132         * top/maint.mk (today): Define a Make variable, not a...
18133         (news-date-check): ...shell variable.
18134         (news-date-regexp): Use the Make variable.
18135         Use grep's -E option.  Change the failing diagnostic to mention
18136         the variable, $(news-date-regexp).
18137
18138 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
18139
18140         maintainer-makefile: allow customization of NEWS entry format
18141         * top/maint.mk (news-date-regexp): New overridable variable.
18142         (news-date-check): Use it.
18143
18144 2009-12-04  Eric Blake  <ebb9@byu.net>
18145
18146         mgetgroups: add xgetgroups, and avoid ENOSYS failures
18147         * lib/mgetgroups.h (xgetgroups): New prototype.
18148         * lib/mgetgroups.c (xgetgroups): New wrapper.
18149         (mgetgroups): Handle ENOSYS.
18150         * modules/mgetgroups (Depends-on): Add realloc.
18151         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
18152
18153         mgetgroups: avoid argument promotion issues with -1
18154         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
18155         for invalid gid_t.
18156         * tests/test-chown.h (getegid, test_chown): Likewise.
18157         * tests/test-lchown.h (getegid, test_lchown): Likewise.
18158
18159 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
18160
18161         exclude: Fix header file problems.
18162         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
18163
18164 2009-12-01  Jim Meyering  <meyering@redhat.com>
18165
18166         fts: fts_open: do not let an empty string cause immediate failure
18167         This is required in support of GNU rm, for which the command
18168         "rm A '' B" must process and remove both A and B, in spite of
18169         the empty string argument.
18170         * lib/fts.c (fts_open): Do not let the presence of an empty string
18171         cause fts_open to fail immediately.  Most fts-using tools must be
18172         able to process all arguments, in order, and can be expected to
18173         diagnose such arguments themselves.
18174
18175 2009-11-30  Eric Blake  <ebb9@byu.net>
18176
18177         utimens: fix compilation error
18178         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
18179         Declare variable at right scope.
18180
18181 2009-11-29  Jim Meyering  <meyering@redhat.com>
18182
18183         bootstrap: handle perl-5.11's changed --version output
18184         * build-aux/bootstrap (get_version): Handle perl separately,
18185         since perl-5.11's --version output is different.
18186
18187 2009-11-28  Jim Meyering  <meyering@redhat.com>
18188
18189         userspec: depend on the inttostr module, too
18190         * modules/userspec (Depends-on): Add inttostr.
18191
18192         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
18193         * lib/userspec.c (parse_with_separator): Do not accept a user ID
18194         number of MAXUID when it evaluates to (uid_t) -1.
18195         Likewise for group ID.  Reported by Matt McCutchen in
18196         <http://savannah.gnu.org/bugs/?28113>
18197
18198         userspec: reformat to use spaces, not TABs
18199         * lib/userspec.c: Expand TABs to spaces.
18200         Add Emacs' "indent-tabs-mode: nil" hint.
18201
18202 2009-11-27  Eric Blake  <ebb9@byu.net>
18203
18204         getopt-gnu: flush out another BSD bug
18205         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
18206         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
18207         flush out BSD bug.
18208         * tests/test-getopt.h (test_getopt): End lists with NULL.
18209         * tests/test-getopt_long.h (test_getopt_long): Likewise.
18210         (test_getopt_long_posix): Enhance test.
18211         * modules/getopt-posix-tests (Depends-on): Add stdbool.
18212         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
18213         getopt-gnu.
18214         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
18215         Likewise.
18216
18217 2009-11-27  Simon Josefsson  <simon@josefsson.org>
18218
18219         * modules/idpriv-droptemp-tests (Notice): Fix text.
18220
18221 2009-11-27  Jim Meyering  <meyering@redhat.com>
18222
18223         test-xalloc-die: avoid spurious failure due to libtool argv difference
18224         In a libtool-enabled project, this test would fail due to a difference
18225         in the emitted program name, e.g.,
18226         -test-xalloc-die: memory exhausted
18227         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
18228         Use program to avoid that.
18229         * modules/xalloc-die-tests (Depends-on): Add progname.
18230         * tests/test-xalloc-die.c: Include progname.h".
18231         (program_name): Remove decl.
18232         (main): Call set_program_name.
18233         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
18234
18235 2009-11-26  Richard Jones  <rjones@redhat.com>
18236
18237         w32sock: leave win32 error in place.
18238         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
18239
18240 2009-11-26  Eric Blake  <ebb9@byu.net>
18241
18242         init.sh: suggest to use skip_ and fail_ functions in comments
18243         * tests/init.sh: Add a sentence.
18244
18245 2009-11-25  Bruno Haible  <bruno@clisp.org>
18246
18247         init.sh: add documentation in comments
18248         * tests/init.sh: Add some developer and user documentation.
18249
18250 2009-11-26  Jim Meyering  <meyering@redhat.com>
18251
18252         init.sh: accommodate even those who specify bogus srcdir manually
18253         * tests/init.sh: Normally, srcdir is guaranteed by automake and
18254         configure-time tests to be sanitized, so that there is no need to
18255         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
18256         (with no double quotes) suffices.  However, since tests may be
18257         invoked manually, and since you may explicitly set srcdir to the
18258         name of a directory containing spaces, do quote its uses here.
18259         * tests/test-pread.sh: Likewise.
18260         Suggested by Bruno Haible.
18261
18262         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
18263         * tests/test-pread.sh: Write no data into the pipe, because
18264         test-pread actually reads none.  This avoids a diagnostic,
18265         "bash: echo: write error: Broken pipe", that arises in the unusual
18266         event something is ignoring SIGPIPE, and might be interpreted
18267         as some sort of failure.  Reported by Bruno Haible.
18268
18269 2009-11-25  Jim Meyering  <meyering@redhat.com>
18270
18271         test-pread: cover failure with ESPIPE and EINVAL
18272         * tests/test-pread.c (main): Test for failure, too.
18273         * tests/test-pread.sh: Invoke with stdin on a pipe.
18274         Suggested by Eric Blake.
18275
18276         pread: improvement and fix
18277         * modules/pread (Depends-on): Depend on lseek, for portability to
18278         e.g., mingw.  Suggested by Eric Blake.
18279         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
18280
18281         unistd.in.h: correct declaration of pread
18282         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
18283         Reported by Richard W.M. Jones.
18284
18285         test-pread.sh: distribute the test script
18286         * modules/pread-tests (Files): Include test-pread.sh.
18287
18288         test-pread.sh: clean up
18289         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
18290         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
18291         That is unnecessary, since it's always ".".
18292         Suggestion from Eric Blake.
18293
18294         test-pread.sh: make executable
18295         * tests/test-pread.sh: Set executable bit.
18296         Reported by Eric Blake.
18297
18298         correct typo in test-pread.sh
18299         * tests/test-pread.sh: Add #! line.
18300
18301         test pread
18302         * tests/test-pread.c: New file.
18303         * tests/test-pread.sh: Likewise.
18304         * modules/pread-tests: Likewise.
18305
18306         pread: new module
18307         * modules/pread: New file.
18308         * lib/unistd.in.h (pread): Define/declare.
18309         * lib/pread.c (pread): New file.
18310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
18311         * modules/unistd (Makefile.am): Substitute witnesses.
18312         * doc/posix-functions/pread.texi (pread): Update.
18313         * MODULES.html.sh: Add pread.
18314
18315 2009-11-25  Jim Meyering  <meyering@redhat.com>
18316
18317         tests/init.sh: new file to be used via most *.sh tests
18318         * tests/init.sh: New file.
18319
18320 2009-11-25  Eric Blake  <ebb9@byu.net>
18321
18322         utimens: work around older Linux failure with symlinks
18323         * lib/utimens.c (lutimensat_works_really): New variable.
18324         (fdutimens, lutimens): Use it to manage kernels that support
18325         nanosecond times on files, but not on symlinks.
18326         Reported by OndÅ™ej Vašík.
18327
18328         utimes: fix configure grammar
18329         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
18330
18331 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
18332
18333         regex: Fix fastmap for multibyte character ranges.
18334         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
18335         characters when a multibyte character range is included.
18336
18337 2009-11-22  Andy Wingo  <wingo@pobox.com>
18338
18339         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
18340         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
18341
18342 2009-11-24  Bruno Haible  <bruno@clisp.org>
18343
18344         doc: Most *_l functions exist in MacOS X 10.5.
18345         * doc/posix-functions/duplocale.texi: Update platforms list.
18346         * doc/posix-functions/freelocale.texi: Likewise.
18347         * doc/posix-functions/newlocale.texi: Likewise.
18348         * doc/posix-functions/uselocale.texi: Likewise.
18349         * doc/posix-functions/isalnum_l.texi: Likewise.
18350         * doc/posix-functions/isalpha_l.texi: Likewise.
18351         * doc/posix-functions/isblank_l.texi: Likewise.
18352         * doc/posix-functions/iscntrl_l.texi: Likewise.
18353         * doc/posix-functions/isdigit_l.texi: Likewise.
18354         * doc/posix-functions/isgraph_l.texi: Likewise.
18355         * doc/posix-functions/islower_l.texi: Likewise.
18356         * doc/posix-functions/isprint_l.texi: Likewise.
18357         * doc/posix-functions/ispunct_l.texi: Likewise.
18358         * doc/posix-functions/isspace_l.texi: Likewise.
18359         * doc/posix-functions/isupper_l.texi: Likewise.
18360         * doc/posix-functions/iswalnum_l.texi: Likewise.
18361         * doc/posix-functions/iswalpha_l.texi: Likewise.
18362         * doc/posix-functions/iswblank_l.texi: Likewise.
18363         * doc/posix-functions/iswcntrl_l.texi: Likewise.
18364         * doc/posix-functions/iswctype_l.texi: Likewise.
18365         * doc/posix-functions/iswdigit_l.texi: Likewise.
18366         * doc/posix-functions/iswgraph_l.texi: Likewise.
18367         * doc/posix-functions/iswlower_l.texi: Likewise.
18368         * doc/posix-functions/iswprint_l.texi: Likewise.
18369         * doc/posix-functions/iswpunct_l.texi: Likewise.
18370         * doc/posix-functions/iswspace_l.texi: Likewise.
18371         * doc/posix-functions/iswupper_l.texi: Likewise.
18372         * doc/posix-functions/iswxdigit_l.texi: Likewise.
18373         * doc/posix-functions/isxdigit_l.texi: Likewise.
18374         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
18375         * doc/posix-functions/strcasecmp_l.texi: Likewise.
18376         * doc/posix-functions/strcoll_l.texi: Likewise.
18377         * doc/posix-functions/strfmon_l.texi: Likewise.
18378         * doc/posix-functions/strftime_l.texi: Likewise.
18379         * doc/posix-functions/strncasecmp_l.texi: Likewise.
18380         * doc/posix-functions/strxfrm_l.texi: Likewise.
18381         * doc/posix-functions/tolower_l.texi: Likewise.
18382         * doc/posix-functions/toupper_l.texi: Likewise.
18383         * doc/posix-functions/towctrans_l.texi: Likewise.
18384         * doc/posix-functions/towlower_l.texi: Likewise.
18385         * doc/posix-functions/towupper_l.texi: Likewise.
18386         * doc/posix-functions/wcscoll_l.texi: Likewise.
18387         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
18388         * doc/posix-functions/wctrans_l.texi: Likewise.
18389         * doc/posix-functions/wctype_l.texi: Likewise.
18390         * doc/glibc-functions/strptime_l.texi: Likewise.
18391         * doc/glibc-functions/strtod_l.texi: Likewise.
18392         * doc/glibc-functions/strtof_l.texi: Likewise.
18393         * doc/glibc-functions/strtol_l.texi: Likewise.
18394         * doc/glibc-functions/strtold_l.texi: Likewise.
18395         * doc/glibc-functions/strtoll_l.texi: Likewise.
18396         * doc/glibc-functions/strtoul_l.texi: Likewise.
18397         * doc/glibc-functions/strtoull_l.texi: Likewise.
18398         * doc/glibc-functions/wcsftime_l.texi: Likewise.
18399         * doc/glibc-functions/wcstod_l.texi: Likewise.
18400         * doc/glibc-functions/wcstof_l.texi: Likewise.
18401         * doc/glibc-functions/wcstol_l.texi: Likewise.
18402         * doc/glibc-functions/wcstold_l.texi: Likewise.
18403         * doc/glibc-functions/wcstoll_l.texi: Likewise.
18404         * doc/glibc-functions/wcstoul_l.texi: Likewise.
18405         * doc/glibc-functions/wcstoull_l.texi: Likewise.
18406
18407 2009-11-24  Bruno Haible  <bruno@clisp.org>
18408
18409         duplocale: Fix logic bug.
18410         * lib/duplocale.c: Don't include <langinfo.h>.
18411         (_NL_LOCALE_NAME): Remove macro.
18412         (rpl_duplocale): Use setlocale instead of nl_langinfo.
18413         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
18414
18415 2009-11-23  Jim Meyering  <meyering@redhat.com>
18416
18417         test-update-copyright: don't hard-code /usr/bin/perl
18418         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
18419         perl to print the current year.  Gilles Espinasse reported that
18420         the replaced use of perl was hard-coded as /usr/bin/perl.
18421
18422 2009-11-23  Bruno Haible  <bruno@clisp.org>
18423
18424         duplocale: Add support for glibc 2.3.x.
18425         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
18426
18427 2009-11-22  Bruno Haible  <bruno@clisp.org>
18428
18429         vasnprintf: Tiny optimization.
18430         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
18431         MacOS X.
18432
18433 2009-11-22  Bruno Haible  <bruno@clisp.org>
18434
18435         Tests for module 'duplocale'.
18436         * modules/duplocale-tests: New file.
18437         * tests/test-duplocale.c: New file.
18438
18439         New module 'duplocale'.
18440         * m4/duplocale.m4: New file.
18441         * lib/locale.in.h (duplocale): New declaration.
18442         * lib/duplocale.c: New file.
18443         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
18444         gl_LOCALE_H_DEFAULTS): New macros.
18445         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
18446         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
18447         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
18448         REPLACE_DUPLOCALE.
18449         * modules/duplocale: New file.
18450         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
18451
18452 2009-11-22  Bruno Haible  <bruno@clisp.org>
18453
18454         * modules/locale-tests (configure.ac): Test for newlocale function.
18455         * tests/test-locale.c: When the system has extended locale functions,
18456         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
18457
18458         locale: Make locale_t available when possible.
18459         * lib/locale.in.h: Include <xlocale.h> when it exists.
18460         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
18461         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
18462         * modules/locale (Depends-on): Add extensions.
18463         (Makefile.am): Also substitute HAVE_XLOCALE_H.
18464         * doc/posix-headers/locale.texi: Document the problem with locale_t.
18465
18466 2009-11-22  Bruno Haible  <bruno@clisp.org>
18467
18468         Add comments.
18469         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
18470         invocation.
18471         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
18472         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18473         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18474
18475 2009-11-22  Bruno Haible  <bruno@clisp.org>
18476
18477         error: account for the possibility of freopen (stdout).
18478         * lib/error.c: Include <unistd.h>.
18479         (flush_stdout): New function, extracted from error and error_at_line.
18480         Determine stdout's fd dynamically.
18481         (error, error_at_line): Invoke flush_stdout.
18482         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
18483         * modules/error (Depends-on): Add unistd.
18484
18485 2009-11-22  Bruno Haible  <bruno@clisp.org>
18486
18487         diffseq: Add comment.
18488         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
18489
18490 2009-11-22  Jim Meyering  <meyering@redhat.com>
18491
18492         c-stack: avoid defining an unused static function
18493         * lib/c-stack.c (find_stack_direction): Do not define this function
18494         when it will not be used.
18495
18496         diffseq: avoid spurious gcc warnings
18497         * lib/diffseq.h (IF_LINT2): Define.
18498         (compareseq): Use it to initialize two members of "part".
18499         This avoids two used-uninitialized warnings.
18500
18501 2009-11-21  Jim Meyering  <meyering@redhat.com>
18502
18503         c-stack: avoid "ignoring return value of `write'" warning
18504         * lib/c-stack.c: Include "ignore-value.h".
18505         (die): Explicitly ignore each write return value.
18506         * modules/c-stack (Depends-on): Add ignore-value.
18507
18508 2009-11-21  Bruno Haible  <bruno@clisp.org>
18509
18510         diffseq: reduce scope of variable 'best'.
18511         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
18512         variable, earlier used for two different purposes.
18513
18514 2009-11-21  Jim Meyering  <meyering@redhat.com>
18515
18516         diffseq: remove useless assignment to "best"
18517         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
18518         assignment.  At that point "best" is already guaranteed to be zero.
18519
18520 2009-11-20  Eric Blake  <ebb9@byu.net>
18521
18522         build: mention ftp redirector in release announcements
18523         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
18524         values that used to come from cfg.mk; mention FTP redirect URL.
18525         * build-aux/announce-gen: Mention the mirror list.
18526         Suggested by Karl Berry.
18527
18528         nanosleep: improve port to mingw
18529         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
18530         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
18531         LIB_NANOSLEEP, but only when needed.
18532         * modules/select (Link): Document LIBSOCKET.
18533         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
18534         enough.
18535
18536         nanosleep: work around cygwin bug
18537         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
18538         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
18539         bug.
18540         (getnow): Delete, not needed.
18541         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
18542         LIB_CLOCK_GETTIME.
18543         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
18544         clock-time, gettime.
18545         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
18546         bug.
18547         * modules/nanosleep-tests: New test.
18548         * tests/test-nanosleep.c: New file.
18549
18550         sleep: work around cygwin bug
18551         * lib/sleep.c (rpl_sleep): Work around the bug.
18552         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
18553         (gl_PREREQ_SLEEP): Delete unused macro.
18554         * modules/sleep (Depends-on): Add verify.
18555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
18556         * modules/unistd (Makefile.am): Substitute witness.
18557         * lib/unistd.in.h (sleep): Update prototype.
18558         * doc/posix-functions/sleep.texi (sleep): Document the bug.
18559         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
18560         * modules/sleep-tests (Depends-on): Check for alarm.
18561
18562 2009-11-20  Jim Meyering  <meyering@redhat.com>
18563
18564         maint.mk: improve sc_prohibit_magic_number_exit
18565         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
18566         so it does not match uses like System.exit(1).
18567         Add comments showing how to correct all offenders.
18568
18569 2009-11-19  Eric Blake  <ebb9@byu.net>
18570
18571         xalloc-die-tests: add missing library
18572         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
18573
18574         test-xvasprintf: silence compiler warnings
18575         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
18576         empty string from gcc.
18577
18578 2009-11-19  Jim Meyering  <meyering@redhat.com>
18579
18580         xfreopen: new module, from coreutils
18581         * modules/xfreopen: New module.
18582         * lib/xfreopen.c: New file.
18583         * lib/xfreopen.h: New file.
18584         * MODULES.html.sh (File stream based Input/Output"): Add it.
18585
18586 2009-11-19  Eric Blake  <ebb9@byu.net>
18587
18588         manywarnings: depend on warnings
18589         * modules/manywarnings (Depends-on): Add warnings.
18590
18591         build: avoid compiler warnings
18592         * lib/select.c (rpl_select): Delete unused variable.
18593         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
18594
18595 2009-11-18  Eric Blake  <ebb9@byu.net>
18596
18597         tests: avoid false negative with --with-packager
18598         * tests/test-version-etc.sh: Discard packager information.
18599         * tests/test-argp-version-etc-1.sh: Likewise.
18600         Reported by Mike Frysinger.
18601
18602         utimens: fix regression on Solaris
18603         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
18604         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
18605         can only change fd timestamps via futimesat.  Instead, use an
18606         additional witness macro to avoid BSD bug.
18607         Reported by Jim Meyering.
18608
18609 2009-11-17  Eric Blake  <ebb9@byu.net>
18610
18611         usleep: use it to simplify tests
18612         * modules/stat-time-tests (Depends-on): Add usleep.
18613         (configure.ac): Drop usleep check.
18614         * modules/chown-tests (Depends-on, configure.ac): Likewise.
18615         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
18616         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
18617         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
18618         * modules/openat-tests (Depends-on, configure.ac): Likewise.
18619         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
18620         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
18621         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
18622         Likewise.
18623         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
18624         * tests/test-lchown.h (nap): Likewise.
18625         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
18626         * tests/test-stat-time.c (nap): Likewise.
18627         * tests/test-utimens-common.h (nap): Update comments.
18628
18629         usleep: new module
18630         * modules/usleep: New file.
18631         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
18632         * lib/usleep.c (usleep): Likewise.
18633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
18634         * modules/unistd (Makefile.am): Substitute witnesses.
18635         * lib/unistd.in.h (usleep): Add declaration.
18636         * doc/pastposix-functions/usleep.texi (usleep): Document this.
18637         * MODULES.html.sh (Date and time): Likewise.
18638         * modules/usleep-tests (Depends-on): New test.
18639         * tests/test-usleep.c: New file.
18640
18641         chown: work around OpenBSD bug
18642         * lib/chown.c (rpl_chown): Work around the bug.
18643         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
18644         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
18645         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
18646         * modules/chown (Depends-on): Add stdbool.
18647         * modules/lchown (Depends-on): Likewise.
18648         * doc/posix-functions/chown.texi (chown): Document the bug.
18649         * doc/posix-functions/lchown.texi (lchown): Likewise.
18650         * tests/test-lchown.h (test_chown): Relax test.
18651
18652         mkstemp: avoid conflict with C++ keyword template
18653         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
18654         * lib/mkostemp.c (mkostemp): Likewise.
18655         * lib/mkostemps.c (mkostemps): Likewise.
18656         * lib/mkstemp.c (mkstemp): Likewise.
18657         * lib/mkstemps.c (mkstemps): Likewise.
18658
18659         xalloc-die-tests: optimize
18660         * tests/test-xalloc-die.sh: Reduce number of processes.
18661
18662 2009-11-17  Simon Josefsson  <simon@josefsson.org>
18663
18664         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
18665         patch from ludo@gnu.org (Ludovic Courtès).
18666
18667 2009-11-17  Jim Meyering  <meyering@redhat.com>
18668
18669         version-etc: use proper license string
18670         * modules/version-etc (License): Use LGPL, not LGPLv3+.
18671         * modules/version-etc-fsf: Likewise.
18672
18673 2009-11-17  Simon Josefsson  <simon@josefsson.org>
18674
18675         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
18676         printed to stdout.  Deal with EOL differences.
18677
18678 2009-11-17  Eric Blake  <ebb9@byu.net>
18679
18680         unsetenv: work around Solaris bug
18681         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
18682         * lib/unsetenv.c (rpl_unsetenv): Work around it.
18683         Reported by Jim Meyering.
18684
18685         vasnprintf: avoid compiler warnings
18686         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
18687         variables.
18688         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
18689
18690 2009-11-17  Simon Josefsson  <simon@josefsson.org>
18691
18692         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
18693         settings since xalloc-die is no longer the self test,
18694         xalloc-die.sh is.
18695
18696 2009-11-17  Jim Meyering  <meyering@redhat.com>
18697
18698         test-xalloc-die.sh: make the code agree with the commit log
18699         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
18700         at the end, just in case you happen to have a test-xalloc-die
18701         program in some other PATH directory.
18702
18703         test-xalloc-die.sh: fix a portability bug
18704         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
18705         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
18706         Otherwise, argv[0] (as often seen in diagnostics) would be too
18707         system-dependent, sometimes with, and sometimes without the leading "./".
18708
18709         version-etc-fsf: relax license to LGPLv3+
18710         * modules/version-etc-fsf (License): Relax license.
18711
18712 2009-11-16  Eric Blake  <ebb9@byu.net>
18713
18714         xalloc-die-tests: avoid printing null pointer
18715         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
18716         shell script.
18717         * tests/test-xalloc-die.c (program_name): Declare.
18718         * tests/test-xalloc-die.sh (tmpfiles): New file.
18719
18720         setenv, unsetenv: work around various bugs
18721         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
18722         (setenv) [HAVE_SETENV]: Work around bugs.
18723         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
18724         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
18725         for bugs.
18726         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
18727         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
18728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
18729         * modules/stdlib (Makefile.am): Update substitutions.
18730         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
18731         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
18732         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
18733         * modules/setenv-tests: New test.
18734         * modules/unsetenv-tests: Likewise.
18735         * tests/test-setenv.c: New file.
18736         * tests/test-unsetenv.c: Likewise.
18737
18738 2009-11-16  Jim Meyering  <meyering@redhat.com>
18739
18740         version-etc: relax license to LGPLv3+
18741         * modules/version-etc (License): Relax license.
18742
18743         better AC_REQUIRE expanded-before-required-warning avoidance
18744         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
18745         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
18746         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
18747         which is no longer needed.
18748
18749 2009-11-16  Eric Blake  <ebb9@byu.net>
18750
18751         test-freading: clean up temporary file
18752         * tests/test-freading.c (main): Remove file on success, and use
18753         ASSERT more liberally.
18754         Reported by Jim Meyering.
18755
18756 2009-11-16  Jim Meyering  <meyering@redhat.com>
18757
18758         avoid new AC_REQUIRE expanded-before-required warnings
18759         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
18760         merely using it.
18761         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
18762         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
18763
18764 2009-11-15  Simon Josefsson  <simon@josefsson.org>
18765
18766         * tests/test-xalloc-die.c: New file.
18767         * modules/xalloc-die-tests: New file.
18768         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
18769         XFAIL_TESTS so it can be appended by modules.
18770
18771 2009-11-15  Simon Josefsson  <simon@josefsson.org>
18772
18773         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
18774         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
18775
18776 2009-11-14  Eric Blake  <ebb9@byu.net>
18777
18778         fnmatch: avoid compiler warning
18779         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
18780         to silence compiler warning about mismatch signedness in ?:.
18781         Reported by Robert Millan.
18782
18783         intprops: add double-inclusion guard
18784         * lib/intprops.h: Allow idempotent includes.
18785         Suggested by Bruce Korb.
18786
18787         openat: detect Solaris fchownat bug
18788         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
18789         penalizing glibc chownat when only lchownat is broken.
18790         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
18791         trailing slash bugs.
18792         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
18793         * modules/openat-tests (Files): Include more files.
18794         (Depends-on): Add mgetgroups, sleep, stat-time.
18795         (configure.ac): Add additional checks.
18796         (Makefile.am): Build new test.
18797         * tests/test-fchownat.c: New file.
18798
18799         lchown: detect Solaris and FreeBSD bug
18800         * lib/lchown.c (rpl_lchown): Work around bug.
18801         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
18802         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18803         * modules/unistd (Makefile.am): Populate it.
18804         * lib/unistd.in.h (lchown): Update declaration.
18805         * doc/posix-functions/lchown.texi (lchown): Document the bug.
18806         * modules/lchown-tests: New file.
18807         * tests/test-lchown.h (test_lchown): Likewise.
18808         * tests/test-lchown.c (main): Likewise.
18809
18810         chown: detect Solaris and FreeBSD bug
18811         * lib/chown.c (rpl_chown): Work around bug.
18812         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
18813         (gl_PREREQ_CHOWN): Delete.
18814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18815         * modules/unistd (Makefile.am): Populate it.
18816         * lib/unistd.in.h (chown): Update declaration.
18817         * lib/lchown.c (chown): Update client.
18818         * modules/lchown (Depends-on): Add lstat.
18819         * doc/posix-functions/chown.texi (chown): Document the bug.
18820         * doc/posix-functions/getgroups.texi (getgroups): Document
18821         getgroups pitfall.
18822         * modules/chown-tests: New file.
18823         * tests/test-chown.h (test_chown): Likewise.
18824         * tests/test-chown.c (main): Likewise.
18825
18826 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
18827
18828         gnulib-tool: correctly detect absence of m4 directories
18829         * gnulib-tool: Avoid extra newline on data passed to wc -l.
18830
18831 2009-11-14  Jim Meyering  <meyering@redhat.com>
18832
18833         maint.mk: Prohibit inclusion of "xalloc.h" without use.
18834         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
18835
18836 2009-11-14  John W. Eaton  <jwe@gnu.org>
18837
18838         strftime.h: wrap funtion declaration in extern "C" block
18839         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
18840
18841 2009-11-13  Eric Blake  <ebb9@byu.net>
18842
18843         getgroups: avoid compiler warning
18844         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
18845
18846         getgroups: work around FreeBSD bug
18847         * lib/getgroups.c (rpl_getgroups): Work around the bug.
18848         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
18849         * doc/posix-functions/getgroups.texi (getgroups): Document it.
18850         * tests/test-getgroups.c (main): Fix buffer overrun.
18851
18852         getgroups: avoid compilation failure
18853         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
18854         * modules/getgroups (Depends-on): Add stdint.
18855
18856 2009-11-13  Jim Meyering  <meyering@redhat.com>
18857
18858         test-getgroups: avoid compilation failure
18859         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
18860
18861 2009-11-13  Eric Blake  <ebb9@byu.net>
18862
18863         mgetgroups: new module, taken from coreutils
18864         * modules/mgetgroups: New file.
18865         * lib/mgetgroups.h: Likewise.
18866         * lib/mgetgroups.c (mgetgroups): Likewise.
18867         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
18868         * MODULES.html.sh (Users and groups): Mention it.
18869
18870         getgroups: don't expose GETGROUPS_T to user
18871         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
18872         an element at a time if GETGROUPS_T is wrong size.
18873         * lib/getugroups.h (getugroups): Change signature.
18874         * lib/unistd.in.h (getgroups): Likewise.
18875         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
18876         signature needs fixing.
18877         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
18878         AC_TYPE_GETGROUPS.
18879         * modules/group-member (Depends-on): Add getgroups.
18880         * lib/group-member.c (group_info, get_group_info): Use gid_t.
18881         (group_member): Rely on getgroups replacement.
18882         * lib/getugroups.c (getugroups): Use gid_t.
18883         * tests/test-getgroups.c (main): Likewise.
18884         * NEWS: Mention the signature change.
18885         * doc/posix-functions/getgroups.texi (getgroups): Mention the
18886         problem with signature.
18887         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
18888         GETGROUPS_T is still useful for setgroups.
18889
18890         getgroups, getugroups: provide stubs for mingw
18891         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
18892         * lib/getugroups.c (getugroups): Likewise.
18893         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
18894         function.  Modernize replacement scheme.
18895         (gl_PREREQ_GETGROUPS): Delete.
18896         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
18897         * modules/getgroups (configure.ac): Declare witness.
18898         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
18899         * modules/unistd (Depends-on): Substitute witness.
18900         * lib/unistd.in.h (getgroups): Declare replacement.
18901
18902         getgroups: avoid calling exit
18903         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
18904         drop xalloc.
18905         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
18906         dependencies.
18907         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
18908         exiting, in the rare case of malloc failure.
18909
18910         getgroups: fix logic error
18911         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
18912         has more than 20 groups.
18913         * modules/getgroups-tests: New test.
18914         * tests/test-getgroups.c: New file.
18915
18916 2009-11-13  Simon Josefsson  <simon@josefsson.org>
18917
18918         * tests/test-base64.c: Improve.
18919
18920 2009-11-13  Simon Josefsson  <simon@josefsson.org>
18921
18922         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
18923         Blake <ebb9@byu.net>.
18924
18925 2009-11-13  Simon Josefsson  <simon@josefsson.org>
18926
18927         * tests/test-xvasprintf.c: Add %s%s related checks.
18928
18929 2009-11-12  Eric Blake  <ebb9@byu.net>
18930
18931         version-etc: match standards.texi style
18932         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
18933         and use <> only for URLs.
18934
18935 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
18936
18937         fts: do not fail on a submount during traversal
18938         * lib/fts.c (fts_build): Read the stat info again after opening
18939         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
18940         Original report at http://bugzilla.redhat.com/501848.
18941
18942 2009-11-12  Jim Meyering  <meyering@redhat.com>
18943
18944         bootstrap: sync from coreutils
18945         * build-aux/bootstrap (bootstrap_epilogue): New function.
18946         Use git_modules_config in one more place.  This make bootstrap's
18947         --gnulib-srcdir option more useful for testing.
18948
18949         bootstrap: generalize autoheader check
18950         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
18951         AC_CONFIG_HEADERS.
18952
18953 2009-11-11  Eric Blake  <ebb9@byu.net>
18954
18955         mkfifoat: use new modules for Solaris and BSD bugs
18956         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
18957         * lib/mkfifoat.c (mknodat): Split...
18958         * lib/mknodat.c (mknodat): ...into new file.
18959         * modules/mkfifoat (Files): Ship new file.
18960         (Depends-on): Add mkfifo, mknod.
18961         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
18962         (Depends-on): Add symlink.
18963         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
18964         redundant with test_mkfifo.h.
18965         (do_mkfifoat, do_mknodat): New helpers.
18966
18967         mknod: new module
18968         * modules/mknod: New file.
18969         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
18970         * lib/mknod.c (mknod): Likewise.
18971         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
18972         defaults.
18973         * modules/sys_stat (Makefile.am): Substitute them.
18974         * lib/sys_stat.in.h (mknod): Declare replacement.
18975         * MODULES.html.sh (Support for systems lacking POSIX:2008):
18976         Document it.
18977         * doc/posix-functions/mknod.texi (mknod): Likewise.
18978         * modules/mknod-tests: New test.
18979         * tests/test-mknod.c: Likewise.
18980
18981         mkfifo: new module
18982         * modules/mkfifo: New file.
18983         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18984         * lib/mkfifo.c (mkfifo): Likewise.
18985         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
18986         defaults.
18987         * modules/sys_stat (Makefile.am): Substitute them.
18988         * lib/sys_stat.in.h (mkfifo): Declare replacement.
18989         * MODULES.html.sh (Support for systems lacking POSIX:2008):
18990         Document it.
18991         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
18992         * modules/mkfifo-tests: New test.
18993         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
18994         from test-mkfifoat.c.
18995         * tests/test-mkfifo.c: New file.
18996
18997         readlink: detect FreeBSD bug
18998         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
18999         slash on symlink.
19000         * doc/posix-functions/readlink.texi (readlink): Document the bug.
19001         * tests/test-readlink.h (test_readlink): Enhance test.
19002
19003         symlink: detect FreeBSD bug
19004         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
19005         slash on symlink.
19006         * doc/posix-functions/symlink.texi (symlink): Document the bug.
19007         * tests/test-symlink.h (test_symlink): Enhance test.
19008
19009 2009-11-10  Eric Blake  <ebb9@byu.net>
19010
19011         link: detect FreeBSD bug
19012         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
19013         symlink.
19014         * doc/posix-functions/link.texi (link): Document the bug.
19015         * tests/test-link.h (test_link): Enhance test.
19016         * tests/test-linkat.c (main): Update caller.
19017
19018         unlink, remove: detect FreeBSD bug
19019         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
19020         slash on symlink.
19021         * doc/posix-functions/unlink.texi (unlink): Document the bug.
19022         * doc/posix-functions/remove.texi (remove): Likewise.
19023         * tests/test-unlink.h (test_unlink): Enhance test.
19024         * tests/test-remove.c (main): Likewise.
19025
19026 2009-11-09  Eric Blake  <ebb9@byu.net>
19027
19028         rename: detect FreeBSD bug
19029         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
19030         slash on symlink.
19031         * modules/renameat-tests (Depends-on): Add filenamecat.
19032         * tests/test-rename.h (test_rename): Allow one more errno.
19033         * tests/test-renameat.c (main): Likewise.
19034         * doc/posix-functions/rename.texi (rename): Document the bug.
19035
19036         open: detect FreeBSD bug
19037         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
19038         symlink.
19039         * doc/posix-functions/open.texi (open): Document the bug.
19040         * doc/posix-functions/utimes.texi (utimes): Likewise.
19041         * tests/test-open.h (test_open): Add parameters, and test symlink
19042         handling.
19043         * tests/test-open.c (main): Adjust caller.
19044         * tests/test-fcntl-safer.c (main): Likewise.
19045         * modules/open-tests (Depends-on): Add stdbool, symlink.
19046         * modules/fcntl-safer-tests (Depends-on): Likewise.
19047         * tests/test-openat.c (main): Add test-open tests.
19048
19049         stat: detect FreeBSD bug
19050         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
19051         symlink.
19052         * doc/posix-functions/stat.texi (stat): Document the bug.
19053         * tests/test-stat.h (test_stat_func): Add argument.
19054         * tests/test-stat.c (main): Adjust caller.
19055         * tests/test-fstatat.c (main): Likewise.
19056         * modules/stat-tests (Depends-on): Add stdbool, symlink.
19057         Reported by Jim Meyering.
19058
19059 2009-11-09  James Youngman  <jay@gnu.org>
19060
19061         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
19062         * lib/strftime.c: Correct placement of #include "ignore-value.h".
19063
19064 2009-11-08  Jim Meyering  <meyering@redhat.com>
19065
19066         utimens: remove invalid futimesat call
19067         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
19068         It used the file descriptor of the target file as the DIR_FD
19069         parameter and NULL as the file name.  That caused failure with
19070         errno == EFAULT on FreeBSD-8.0-rc2
19071
19072 2009-11-07  Eric Blake  <ebb9@byu.net>
19073
19074         fflush, freadseek: use fseeko, not fseek
19075         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19076         (clear_ungetc_buffer): Avoid potential problems on large files.
19077         * lib/freadseek.c (freadseek): Likewise.
19078         * modules/freadseek (Depends-on): Add fseeko.
19079         * modules/fseek (configure.ac): Set a witness.
19080         * tests/test-fflush.c (main): Use fseeko.
19081         * tests/test-fpurge.c (fseek): Disable link warning.
19082         * tests/test-freadable.c (fseek): Likewise.
19083         * tests/test-freading.c (fseek): Likewise.
19084         * tests/test-fseeko.c (fseek): Likewise.
19085         * tests/test-ftell.c (fseek): Likewise.
19086         * tests/test-ftello.c (fseek): Likewise.
19087         * tests/test-fwritable.c (fseek): Likewise.
19088         * tests/test-fwriting.c (fseek): Likewise.
19089
19090 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19091
19092         * modules/memchr (Depends-on): Drop getpagesize dependency.
19093
19094 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19095
19096         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
19097         Reported by Ludovic Courtès.
19098         * build-aux/pmccabe2html: Improve example usage.
19099         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
19100
19101 2009-11-06  Jim Meyering  <meyering@redhat.com>
19102
19103         do-release-commit-and-tag: New module.
19104         Automate the release-commit and tag process.
19105         * build-aux/do-release-commit-and-tag: New script, from coreutils.
19106         * modules/do-release-commit-and-tag: New file.
19107         * MODULES.html.sh (Support for maintaining and releasing): Add it.
19108
19109 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19110
19111         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
19112         because test-select.c uses inet_pton.
19113
19114 2009-11-06  Simon Josefsson  <simon@josefsson.org>
19115
19116         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
19117         GETADDRINFO_LIB.  Bump serial number.
19118         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
19119         Suggested by Eric Blake <ebb9@byu.net>.
19120
19121 2009-11-05  Eric Blake  <ebb9@byu.net>
19122
19123         strtod: detect darwin bug
19124         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
19125         Reported by Leo Davis.
19126
19127         freopen-safer: new module
19128         * modules/freopen-safer: New module.
19129         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
19130         * lib/freopen-safer.c (freopen_safer): New file.
19131         * lib/stdio-safer.h (freopen_safer): New declaration.
19132         * lib/stdio--.h (freopen): New override.
19133         * MODULES.html.sh (File stream based Input/Output): Mention it.
19134         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
19135         freopen-safer module.
19136         * doc/posix-functions/stderr.texi (stderr): Likewise.
19137         * doc/posix-functions/stdin.texi (stdin): Likewise.
19138         * doc/posix-functions/stdout.texi (stdout): Likewise.
19139         * modules/freopen-safer-tests: New test.
19140         * tests/test-reopen-safer.c: New file.
19141
19142 2009-11-05  Jim Meyering  <meyering@redhat.com>
19143
19144         maint.mk: Prohibit inclusion of "close-stream.h" without use.
19145         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
19146
19147 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19148
19149         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
19150
19151 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19152
19153         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
19154
19155 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19156
19157         Fix link error.
19158         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
19159         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19160
19161 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19162
19163         * tests/test-func.c: Also test value of __func__.
19164
19165 2009-11-05  Simon Josefsson  <simon@josefsson.org>
19166
19167         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
19168         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
19169
19170 2009-11-05  Bruno Haible  <bruno@clisp.org>
19171
19172         Fix link error.
19173         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
19174         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
19175         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
19176
19177 2009-11-05  Bruno Haible  <bruno@clisp.org>
19178
19179         Tests for module 'inet_pton'.
19180         * modules/inet_pton-tests: New file.
19181         * tests/test-inet_pton.c: New file.
19182
19183 2009-11-05  Bruno Haible  <bruno@clisp.org>
19184
19185         Tests for module 'inet_ntop'.
19186         * modules/inet_ntop-tests: New file.
19187         * tests/test-inet_ntop.c: New file.
19188
19189 2009-11-04  Eric Blake  <ebb9@byu.net>
19190
19191         stdlib-safer: wrap all mkstemp variants
19192         * modules/mkostemp (configure.ac): Set witness.
19193         * modules/mkostemps (configure.ac): Likewise.
19194         * modules/mkstemps (configure.ac): Likewise.
19195         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
19196         (mkstemps_safer): Wrap more functions.
19197         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
19198         wrapping.
19199         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
19200         (mkstemps_safer): Implement the wrappers.
19201
19202         mkstemps, mkostemps: new modules
19203         * modules/mkostemps: New module.
19204         * modules/mkstemps: Likewise.
19205         * lib/mkostemps.c (mkostemps): New file.
19206         * lib/mkstemps.c (mkstemps): Likewise.
19207         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
19208         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
19209         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
19210         * modules/stdlib (Makefile.am): Substitute them.
19211         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
19212         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
19213         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
19214         * doc/gnulib.texi (Glibc stdlib.h): Include them.
19215         * MODULES.html.sh (File system functions): Mention them.
19216
19217         tempname: resync from glibc
19218         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
19219         same values for __GT_FILE as glibc.  Abort even when assertions
19220         are disabled.
19221         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
19222         match its value otherwise.  Allow idempotent inclusion.
19223         * lib/mkdtemp.c (mkdtemp): Adjust caller.
19224         * lib/mkostemp.c (mkostemp): Likewise.
19225         * lib/mkstemp.c (mkstemp): Likewise.
19226         * lib/tmpfile.c (tmpfile): Likewise.
19227         * NEWS: Document this.
19228
19229         utimens: fix use of futimens on older Linux
19230         * lib/utimens.c (fdutimens): Use updated, rather than original,
19231         timespec to avoid bug in older Linux kernel.
19232         Reported by Simon Josefsson.
19233
19234 2009-11-04  Bruno Haible  <bruno@clisp.org>
19235
19236         Make num_processors more flexible and consistent.
19237         * lib/nproc.h (enum nproc_query): New type.
19238         (num_processors): Add a 'query' argument.
19239         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
19240         (num_processors): Add a 'query' argument. Test the value of the
19241         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
19242         mingw, count the number of CPUs available for the current process.
19243         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
19244         Check for sched_getaffinity and sched_getaffinity_np.
19245         * modules/nproc (Depends-on): Add c-ctype, extensions.
19246         * NEWS: Mention the change.
19247
19248 2009-11-03  Bruno Haible  <bruno@clisp.org>
19249
19250         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
19251
19252 2009-11-03  Jim Meyering  <meyering@redhat.com>
19253
19254         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
19255         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
19256         if it is defined.
19257
19258 2009-11-02  Eric Blake  <ebb9@byu.net>
19259
19260         mktime, timegm: share common declaration
19261         * lib/mktime-internal.h: New file.
19262         * lib/mktime.c: Use it rather than open-coding a declaration.
19263         * lib/timegm.c: Likewise.
19264         * modules/mktime (Files): Ship it.
19265         * modules/timegm (Files): Likewise.
19266         Suggested by Bruno Haible.
19267
19268         test-update-copyright: update test to match script changes
19269         * tests/test-update-copyright.sh: Avoid hard-coding perl
19270         location.  Don't update *.bak created by earlier runs.
19271
19272 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
19273             Simon Josefsson  <simon@josefsson.org>
19274             Bruno Haible  <bruno@clisp.org>
19275
19276         Fix link error on Solaris 8.
19277         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
19278         also in libnsl. Define also INET_PTON_LIB.
19279         * modules/inet_pton (Link): New section.
19280
19281 2009-11-02  Simon Josefsson  <simon@josefsson.org>
19282             Bruno Haible  <bruno@clisp.org>
19283
19284         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
19285         * modules/inet_ntop (Link): New section.
19286         Reported by Boyan Kasarov <bkasarov@gmail.com>.
19287
19288 2009-11-02  Eric Blake  <ebb9@byu.net>
19289
19290         maint: avoid compiler warnings in m4 macros
19291         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
19292         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
19293
19294 2009-11-02  Simon Josefsson  <simon@josefsson.org>
19295
19296         * m4/pmccabe2html.m4: Remove file.
19297         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
19298         function.  Change maintainer.
19299         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
19300         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
19301         Courtès).
19302
19303 2009-10-31  Eric Blake  <ebb9@byu.net>
19304
19305         fseeko: fix m4 regression
19306         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
19307         regression from 2009-10-27.
19308         Reported by Ralf Wildenhues.
19309
19310 2009-10-31  Jim Meyering  <meyering@redhat.com>
19311
19312         inttostr: aesthetics and improved (compile-time) safety
19313         Define inttype_is_signed rather than inttype_is_unsigned,
19314         since the sole use is via "#if inttype_is_signed".
19315         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
19316         inttype_is_unsigned.
19317         * lib/offtostr.c (inttype_is_signed): Likewise.
19318         * lib/uinttostr.c (inttype_is_signed): Likewise.
19319         * lib/umaxtostr.c (inttype_is_signed): Likewise.
19320         * lib/inttostr.c (inttostr): Use verify to cross-check the
19321         inttype_is_signed value and the signedness of the actual type.
19322         * modules/inttostr (Depends-on): Add verify.
19323
19324 2009-10-30  Eric Blake  <ebb9@byu.net>
19325
19326         build: avoid compiler warnings
19327         * lib/fchmodat.c (lchmod): Mark unused variables.
19328         * lib/getopt.c (_getopt_initialize): Likewise.
19329         * lib/mktime.c (__mktime_internal): Provide prototype.
19330         * lib/inttostr.c (inttostr): Avoid compiler warning even with
19331         older gcc that do not understand #pragma GCC diagnostic.
19332         * lib/uinttostr.c (inttype_is_unsigned): Define.
19333         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
19334
19335 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
19336
19337         stat: fix compilation on AIX
19338         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
19339         only see struct stat64.
19340
19341 2009-10-30  Eric Blake  <ebb9@byu.net>
19342
19343         exclude: make more robust
19344         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
19345         rather than masking a coding bug.
19346         Suggested by Bruno Haible.
19347
19348 2009-10-30  Jim Meyering  <meyering@redhat.com>
19349
19350         perl scripts: remove #!/usr/bin/perl in favor of more portable...
19351         Rather than putting #!/usr/bin/perl on the first line,
19352         start with a variant of what's recommended by "man perlrun" that
19353         invokes the first "perl" program from your shell's search path.
19354         * build-aux/gitlog-to-changelog: Replace #!... as above.
19355         Add a "Local Variables" perl mode setting.
19356         Prompted by a patch from Ludovic Courtès.
19357         Improved by Eric Blake.
19358         * build-aux/useless-if-before-free: Likewise.
19359         * build-aux/announce-gen: Likewise.
19360         * build-aux/update-copyright: Likewise.
19361
19362 2009-10-29  Eric Blake  <ebb9@byu.net>
19363
19364         filenamecat-lgpl: adjust clients
19365         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
19366         filenamecat.
19367         * modules/renameat (Depends-on): Likewise.
19368
19369         filenamecat: split into filenamecat-lgpl
19370         * modules/filenamecat-lgpl: New module.
19371         * modules/filenamecat (Files): Move library-safe files into
19372         filenamecat-lgpl.
19373         (Depends-on): Add filenamecat-lgpl.
19374         (configure.ac): Declare witness.
19375         * lib/filenamecat.h (file_name_concat): Only declare when using
19376         GPL module.
19377         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
19378         Move...
19379         * lib/filenamecat-lgpl.c: ...into new file.
19380         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
19381         (gl_FILE_NAME_CONCAT): Use it.
19382         * MODULES.html.sh (File system functions): Mention new module.
19383
19384         argp: avoid memory leak
19385         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
19386         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
19387         base_name, since the latter malloc()s and can call exit().
19388         Leak introduced 2006-07-03.
19389
19390         dirname-lgpl: adjust clients that don't need full dirname
19391         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
19392         * modules/filenamecat (Depends-on): Likewise.
19393         * modules/linkat (Depends-on): Likewise.
19394         * modules/mkancesdirs (Depends-on): Likewise.
19395         * modules/mkdir (Depends-on): Likewise.
19396         * modules/openat (Depends-on): Likewise.
19397         * modules/savewd (Depends-on): Likewise.
19398         * modules/rename (Depends-on): Likewise.
19399         (License): Relax license.
19400         * modules/mkdir-tests (Depends-on): Drop progname.
19401         (Makefile.am): Delete unneeded LDADD.
19402         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
19403
19404         dirname: split into dirname-lgpl
19405         * modules/dirname-lgpl: New module.
19406         * modules/dirname (Files): Move library-safe files into
19407         dirname-lgpl.
19408         (Depends-on): Add dirname-lgpl.
19409         (configure.ac): Declare witness.
19410         * modules/double-slash-root (License): Relax license.
19411         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
19412         module.
19413         * lib/dirname.c (dir_len, mdir_name): Move...
19414         * lib/dirname-lgpl.c: ...into new file.
19415         * lib/basename.c (last_component, base_len): Move...
19416         * lib/basename-lgpl.c: ...into new file.
19417         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
19418         (gl_DIRNAME): Use it.
19419         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
19420         Mention new module.
19421         * modules/dirname-tests (Depends-on): Add progname.
19422         * tests/test-dirname.c (program_name): Delete.
19423
19424         mkdir: make safe for libraries
19425         * modules/mkdir (Depends-on): Drop xalloc.
19426         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
19427         exit.
19428
19429         tests: avoid some compiler warnings
19430         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
19431         literals.
19432         * tests/test-memchr.c (main): Avoid type mismatch.
19433         * tests/test-arpa_inet.c (main): Avoid unused parameters.
19434         * tests/test-base64.c (main): Likewise.
19435         * tests/test-getdelim.c (main): Likewise.
19436         * tests/test-gethostname.c (main): Likewise.
19437         * tests/test-getline.c (main): Likewise.
19438         * tests/test-netinet_in.c (main): Likewise.
19439         * tests/test-select.c (open_server_socket, main): Likewise.
19440         * tests/test-select-stdin.c (main): Likewise.
19441         * tests/test-sockets.c (main): Likewise.
19442         * tests/test-strsignal.c (main): Likewise.
19443         * tests/test-sys_select.c (main): Likewise.
19444         * tests/test-sys_socket.c (main): Likewise.
19445         * tests/test-u64.c (main): Likewise.
19446         * tests/test-xfprintf-posix.c (main): Likewise.
19447         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
19448
19449         sockets: avoid compiler warning
19450         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
19451
19452         maint: detect usage(1) and other suspicious exits
19453         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
19454
19455 2009-10-29  Jim Meyering  <meyering@redhat.com>
19456
19457         timespec: long-to-int truncation could make timespec_cmp malfunction
19458         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
19459         a multiple of 2^32 nanoseconds as no difference.
19460
19461 2009-10-28  Jim Meyering  <meyering@redhat.com>
19462
19463         fprintftime: wrap macro code argument in "do {...} while(0)"
19464         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
19465         cpy macro must be a statement that can be followed by a semicolon.
19466         Now that the else clause contains a comment and is hence longer
19467         than one line, I require curly braces.  That in turn requires
19468         that we wrap this code block in the standard do...while(0).
19469
19470         fprintftime: remove stray semicolon from previous change
19471         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
19472
19473         fprintftime: avoid a warning about ignored fwrite return value
19474         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
19475         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
19476         that is unsafe.
19477         * modules/fprintftime (Depends-on): Add ignore-value.
19478
19479         exclude: avoid an unwarranted warning
19480         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
19481
19482 2009-10-27  Eric Blake  <ebb9@byu.net>
19483
19484         fseek: avoid compilation failure when fflush is replaced
19485         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
19486         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
19487         module is in use.
19488         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
19489         module is not in use; since REPLACE_FSEEK worked otherwise.
19490         (GNULIB_FTELLO): Likewise for ftell.
19491         Reported by Ian Beckwith and others.
19492
19493 2009-10-27  Bruno Haible  <bruno@clisp.org>
19494
19495         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
19496         Reported by Jim Meyering.
19497
19498 2009-10-27  Jim Meyering  <jim@meyering.net>
19499             Bruno Haible  <bruno@clisp.org>
19500
19501         Avoid warning despite dropping the return value of fwrite.
19502         * lib/unicodeio.c: Include ignore-value.h.
19503         (fwrite_success_callback): Explicitly ignore fwrite's return value.
19504         * modules/unicodeio (Depends-on): Add ignore-value.
19505
19506 2009-10-26  Eric Blake  <ebb9@byu.net>
19507
19508         areadlinkat: fix fallback path
19509         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
19510         pointer and zero.
19511
19512 2009-10-22  Pádraig Brady  <P@draigBrady.com>
19513
19514         Use a better IO block size for modern systems
19515         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
19516         * lib/md2.c: Likewise.
19517         * lib/md4.c: Likewise.
19518         * lib/md5.c: Likewise.
19519         * lib/sha1.c: Likewise.
19520         * lib/sha256.c: Likewise.
19521         * lib/sha512.c: Likewise.
19522
19523 2009-10-22  Eric Blake  <ebb9@byu.net>
19524
19525         tests: avoid several compiler warnings
19526         * tests/test-getcwd.c (main): Avoid buffer underflow.
19527         * tests/test-getdate.c (main): String literals are not safe with
19528         putenv, so use setenv.  Declare unused argument.
19529         * modules/getdate-tests (Depends-on): Add setenv.
19530         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
19531         problems with string literals in char *.
19532         * tests/test-hash.c (main): Avoid shadowing declaration.
19533         (insert_new): Treat string literals as char const *.
19534         * tests/test-getopt.h (test_getopt): Likewise.
19535         (getopt_loop): Alter types to minimize casting elsewhere.
19536         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
19537         (test_getopt_long_posix): Likewise.
19538         (do_getopt_long): Add wrapper to minimize casting.
19539         * tests/test-atexit.c (clear_temp_file): Use void.
19540         * tests/test-areadlink-with-size.c (main): Declare unused
19541         arguments.
19542         * tests/test-areadlink.c (main): Likewise.
19543         * tests/test-areadlinkat-with-size.c (main): Likewise.
19544         * tests/test-areadlinkat.c (main): Likewise.
19545         * tests/test-canonicalize-lgpl.c (main): Likewise.
19546         * tests/test-canonicalize.c (main): Likewise.
19547         * tests/test-dirent-safer.c (main): Likewise.
19548         * tests/test-dirname.c (main): Likewise.
19549         * tests/test-dup2.c (main): Likewise.
19550         * tests/test-fchdir.c (main): Likewise.
19551         * tests/test-fcntl-h.c (main): Likewise.
19552         * tests/test-fcntl-safer.c (main): Likewise.
19553         * tests/test-fdopendir.c (main): Likewise.
19554         * tests/test-fdutimensat.c (main): Likewise.
19555         * tests/test-fflush.c (main): Likewise.
19556         * tests/test-filenamecat.c (main): Likewise.
19557         * tests/test-filevercmp.c (main): Likewise.
19558         * tests/test-fopen-safer.c (main): Likewise.
19559         * tests/test-fopen.c (main): Likewise.
19560         * tests/test-fpending.c (main): Likewise.
19561         * tests/test-fpurge.c (main): Likewise.
19562         * tests/test-freading.c (main): Likewise.
19563         * tests/test-fstatat.c (main): Likewise.
19564         * tests/test-fsync.c (main): Likewise.
19565         * tests/test-futimens.c (main): Likewise.
19566         * tests/test-getndelim2.c (main): Likewise.
19567         * tests/test-gettimeofday.c (main): Likewise.
19568         * tests/test-getopt.c (main): Likewise.
19569         * tests/test-i-ring.c (main): Likewise.
19570         * tests/test-inttypes.c (main): Likewise.
19571         * tests/test-link.c (main): Likewise.
19572         * tests/test-lstat.c (main): Likewise.
19573         * tests/test-math.c (main): Likewise.
19574         * tests/test-md5.c (main): Likewise.
19575         * tests/test-memchr2.c (main): Likewise.
19576         * tests/test-memrchr.c (main): Likewise.
19577         * tests/test-mkdir.c (main): Likewise.
19578         * tests/test-mkdirat.c (main): Likewise.
19579         * tests/test-mkfifoat.c (main): Likewise.
19580         * tests/test-open.c (main): Likewise.
19581         * tests/test-openat-safer.c (main): Likewise.
19582         * tests/test-openat.c (main): Likewise.
19583         * tests/test-quotearg.c (main): Likewise.
19584         * tests/test-rawmemchr.c (main): Likewise.
19585         * tests/test-readlink.c (main): Likewise.
19586         * tests/test-remove.c (main): Likewise.
19587         * tests/test-rename.c (main): Likewise.
19588         * tests/test-renameat.c (main): Likewise.
19589         * tests/test-rmdir.c (main): Likewise.
19590         * tests/test-sha1.c (main): Likewise.
19591         * tests/test-signal.c (main): Likewise.
19592         * tests/test-sigaction.c (main): Likewise.
19593         * tests/test-stat.c (main): Likewise.
19594         * tests/test-stat-time.c (main): Likewise.
19595         * tests/test-stddef.c (main): Likewise.
19596         * tests/test-stdint.c (main): Likewise.
19597         * tests/test-stdio.c (main): Likewise.
19598         * tests/test-stdlib.c (main): Likewise.
19599         * tests/test-strchrnul.c (main): Likewise.
19600         * tests/test-strerror.c (main): Likewise.
19601         * tests/test-string.c (main): Likewise.
19602         * tests/test-strtod.c (main): Likewise.
19603         * tests/test-strverscmp.c (main): Likewise.
19604         * tests/test-symlink.c (main): Likewise.
19605         * tests/test-symlinkat.c (main): Likewise.
19606         * tests/test-sys_stat.c (main): Likewise.
19607         * tests/test-sys_time.c (main): Likewise.
19608         * tests/test-time.c (main): Likewise.
19609         * tests/test-unistd.c (main): Likewise.
19610         * tests/test-unlink.c (main): Likewise.
19611         * tests/test-unlinkat.c (main): Likewise.
19612         * tests/test-utimens.c (main): Likewise.
19613         * tests/test-utimensat.c (main): Likewise.
19614         * tests/test-version-etc.c (main): Likewise.
19615         * tests/test-wchar.c (main): Likewise.
19616         * tests/test-wctype.c (main): Likewise.
19617         * tests/test-xprintf-posix.c (main): Likewise.
19618         * tests/test-posixtm.c (main): Likewise.
19619         (STREQ): Delete unused macro.
19620         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
19621         shadowed variables.
19622         * tests/test-memchr.c (main): Likewise.
19623
19624 2009-10-21  Eric Blake  <ebb9@byu.net>
19625
19626         areadlinkat: avoid failure on older glibc
19627         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
19628         rather than mis-comparing 0 against FUNC_RESULT of char*.
19629
19630 2009-10-21  Bruno Haible  <bruno@clisp.org>
19631
19632         * modules/stpncpy (License): Relicense under LGPLv2+.
19633         Reported by David Lutterkort <lutter@redhat.com>.
19634
19635 2009-10-20  Eric Blake  <ebb9@byu.net>
19636
19637         utimensat: work around Solaris 9 bug
19638         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
19639         has trailing slash bugs.
19640         * tests/test-lutimens.h (test_lutimens): Enhance test.
19641         * tests/test-utimens.h (test_utimens): Likewise.
19642         * doc/posix-functions/utime.texi (utime): Enhance documentation.
19643         * doc/posix-functions/utimes.texi (utimes): Likewise.
19644         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19645         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
19646         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
19647         * doc/posix-functions/futimens.texi (futimens): Likewise.
19648
19649         fdutimensat: new module
19650         * modules/fdutimensat: New file.
19651         * lib/fdutimensat.c (fdutimensat): Likewise.
19652         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
19653         * MODULES.html.sh (File system functions): Mention module.
19654         * modules/fdutimensat-tests: New test.
19655         * tests/test-fdutimensat.c: Likewise.
19656
19657         doc: regenerate INSTALL
19658         * doc/INSTALL: Reflect recent autoconf update.
19659         * doc/INSTALL.ISO: Likewise.
19660         * doc/INSTALL.UTF-8: Likewise.
19661
19662 2009-10-20  Pádraig Brady  <P@draigBrady.com>
19663
19664         acl: warn if ACL support is not detected
19665         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
19666
19667 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
19668
19669         * lib/nproc.h: Add extern "C" block for C++.
19670
19671 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
19672             Bruno Haible  <bruno@clisp.org>
19673
19674         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
19675         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
19676         * doc/posix-functions/isalpha.texi: Likewise.
19677         * doc/posix-functions/isblank.texi: Likewise.
19678         * doc/posix-functions/iscntrl.texi: Likewise.
19679         * doc/posix-functions/isdigit.texi: Likewise.
19680         * doc/posix-functions/isgraph.texi: Likewise.
19681         * doc/posix-functions/islower.texi: Likewise.
19682         * doc/posix-functions/isprint.texi: Likewise.
19683         * doc/posix-functions/ispunct.texi: Likewise.
19684         * doc/posix-functions/isspace.texi: Likewise.
19685         * doc/posix-functions/isupper.texi: Likewise.
19686         * doc/posix-functions/isxdigit.texi: Likewise.
19687
19688 2009-10-18  Bruno Haible  <bruno@clisp.org>
19689
19690         Tests for module 'isblank'.
19691         * modules/isblank-tests: New file.
19692         * tests/test-isblank.c: New file.
19693
19694         New module 'isblank'.
19695         * lib/isblank.c: New file.
19696         * m4/isblank.m4: New file.
19697         * modules/isblank: New file.
19698         * doc/posix-functions/isblank.texi: Mention the new module.
19699
19700 2009-10-18  Bruno Haible  <bruno@clisp.org>
19701
19702         New module 'ctype'.
19703         * lib/ctype.in.h: New file.
19704         * m4/ctype.m4: New file.
19705         * modules/ctype: New file.
19706         * doc/posix-headers/ctype.texi: Mention the new module.
19707
19708 2009-10-18  Jim Meyering  <meyering@redhat.com>
19709
19710         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
19711         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
19712         right after its initialization, rather than farther down.
19713         Keeping these in close proximity makes it easier to ensure
19714         that each such variable is initialized.  E.g.,
19715
19716             LIB_CLOCK_GETTIME=
19717             AC_SUBST([LIB_CLOCK_GETTIME])
19718
19719         This change also increments these serial numbers.
19720         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
19721         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
19722         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19723
19724 2009-10-18  Bruno Haible  <bruno@clisp.org>
19725
19726         Don't let environment variables perturb build.
19727         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
19728         (gl_PREREQ_GETHRXTIME): ... not here.
19729
19730 2009-10-18  Bruno Haible  <bruno@clisp.org>
19731
19732         Avoid symlink attack in localcharset module.
19733         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
19734         (O_NOFOLLOW): Define fallback.
19735         (get_charset_aliases): Don't open the file if it is a symbolic link.
19736         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
19737         gl_FCNTL_H.
19738         (gl_FCNTL_H): Require it.
19739         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
19740         * modules/localcharset (Files): Add m4/fcntl_h.m4.
19741         Reported by Fergal Glynn <fglynn@veracode.com>.
19742
19743 2009-10-18  Bruno Haible  <bruno@clisp.org>
19744
19745         Implement nproc for mingw.
19746         * lib/nproc.c: Include <windows.h>
19747         (num_processors): On native Windows platforms, try GetSystemInfo.
19748
19749 2009-10-18  Bruno Haible  <bruno@clisp.org>
19750
19751         Implement nproc for IRIX.
19752         * lib/nproc.c: Include <sys/sysmp.h>.
19753         (num_processors): On IRIX systems, try sysmp.
19754         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
19755
19756 2009-10-18  Bruno Haible  <bruno@clisp.org>
19757
19758         Implement nproc for HP-UX.
19759         * lib/nproc.c: Include <sys/pstat.h>
19760         (num_processors): On HP-UX systems, try pstat_getdynamic.
19761         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
19762         pstat_getdynamic.
19763
19764 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
19765             Bruno Haible  <bruno@clisp.org>
19766
19767         Implement nproc for NetBSD, OpenBSD.
19768         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
19769         (ARRAY_SIZE): New macro.
19770         (num_processors): On BSD systems, try sysctl of HW_NCPU.
19771         * m4/nproc.m4: New file.
19772         * modules/nproc (Files): Add m4/nproc.m4.
19773         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
19774         (Makefile.am): Instead, augment lib_SOURCES.
19775
19776 2009-10-18  Bruno Haible  <bruno@clisp.org>
19777
19778         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
19779         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
19780         sys/param.h.
19781
19782 2009-10-16  Eric Blake  <ebb9@byu.net>
19783
19784         utimensat: new module
19785         * modules/utimensat: New file.
19786         * lib/utimensat.c (utimensat): Likewise.
19787         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19788         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
19789         so we can work around Linux bugs.
19790         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
19791         * modules/sys_stat (Makefile.am): Substitute them.
19792         * lib/sys_stat.in.h (utimensat): Declare it.
19793         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19794         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19795         * modules/utimensat-tests: New test.
19796         * tests/test-utimensat.c: Likewise.
19797
19798         utimens: let lutimens work on non-symlinks
19799         * lib/utimens.c (lutimens): Fall back to utimens rather than
19800         failing with ENOSYS, when file is not a symlink.
19801         (utimens): Reduce redirection.
19802         * tests/test-lutimens.h (test_lutimens): Update test to cover
19803         non-symlinks.
19804         * tests/test-utimens.h (test_utimens): Update test to cover
19805         symlinks.
19806         * tests/test-utimens.c (main): Update caller.
19807
19808         utimens: cache whether utimensat syscall works
19809         * lib/utimens.c (utimensat_works_really): New cache variable.
19810         (fdutimens, lutimens): Use it to avoid failing syscall.
19811
19812         test-stat-time, test-utimens: improve portability
19813         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
19814         ext4 on alpha, and for cygwin.
19815         * tests/test-utimens-common.h: New file.
19816         (nap): Factor delays into single function.
19817         * tests/test-lutimens.h (test_lutimens): Use new header.
19818         * tests/test-futimens.h (test_futimens): Likewise.
19819         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
19820         timestamps to occur from same machine, as was done previously for
19821         test_utimens.
19822         * modules/utimens-tests (Files): Ship new file.
19823         * modules/futimens-tests (Files): Likewise.
19824         Reported in part by Jim Meyering.
19825
19826         sys_stat: sort replacement declarations
19827         * lib/sys_stat.in.h: Sort declarations.
19828         * lib/futimens.c (futimens): Fix typo.
19829
19830 2009-10-15  Jim Meyering  <meyering@redhat.com>
19831
19832         don't let environment settings perturb build
19833         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
19834         could cause a configure-time and/or build-time malfunction.
19835         Typically, a configure-time function-in-library test is performed
19836         via code like this:
19837
19838           LIB_VAR=
19839           AC_SUBST([LIB_VAR])
19840           prefix_saved_LIBS=$LIBS
19841             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
19842                        [test "$ac_cv_search_FUNC" = "none required" ||
19843                         LIB_VAR=$ac_cv_search_FUNC])
19844           LIBS=$prefix_saved_LIBS
19845
19846         However, in each of the files affected by this change, the LIB_VAR=
19847         initialization was omitted.  Thus, when set in the environment, its
19848         value would propagate into generated Makefiles when FUNC is not found
19849         in LIB_NAME.
19850         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
19851         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
19852         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19853
19854 2009-10-14  Eric Blake  <ebb9@byu.net>
19855
19856         fchdir: avoid infinite recursion in mingw
19857         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
19858         recursing.
19859
19860         test-stat-time: port to mingw
19861         * tests/test-stat-time.c (force_unlink): Return a value.
19862         (test_ctime) [W32]: Fix compilation error.
19863         (nap): Don't call usleep with too large an argument.  Use
19864         force_unlink.
19865         * doc/pastposix-functions/usleep.texi (usleep): Document the
19866         portability issue.
19867
19868 2009-10-13  Jim Meyering  <meyering@redhat.com>
19869
19870         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
19871         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
19872         * modules/pipe-filter-ii: Likewise.
19873         * modules/sys_socket-tests: Likewise.
19874         * modules/tsearch-tests: Likewise.
19875         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
19876         (check): Depend on it.
19877
19878 2009-10-12  Eric Blake  <ebb9@byu.net>
19879
19880         utimens-tests: port to NFS file systems
19881         * tests/test-utimens.h (test_utimens): Refactor utimecmp
19882         comparisons to avoid spurious failures from timestamp drift
19883         between NFS machines.
19884
19885 2009-10-12  Eric Blake  <ebb9@byu.net>
19886
19887         stat-time-tests: minor cleanups
19888         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
19889         * tests/test-stat-time.c (nap): Separate assignment from call.
19890         Suggested by Paolo Bonzini and Bruno Haible.
19891
19892         sys_stat: guarantee struct timespec
19893         * lib/sys_stat.in.h (includes): Always include <time.h>
19894         * modules/sys_stat (Depends-on): Add time.
19895         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
19896         mode_t permission values.
19897         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
19898         get at subsecond timestamps.
19899
19900 2009-10-10  Eric Blake  <ebb9@byu.net>
19901
19902         futimens: new module
19903         * modules/futimens: New file.
19904         * lib/futimens.c (futimens): Likewise.
19905         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
19906         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
19907         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 (futimens): Declare it.
19911         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
19912         * doc/posix-functions/futimens.texi (futimens): Likewise.
19913         * modules/futimens-tests: New test.
19914         * tests/test-futimens.c: Likewise.
19915
19916         utimens: introduce fdutimens
19917         * lib/utimens.h (fdutimens): New prototype.
19918         * lib/utimens.c (gl_futimens): Move guts...
19919         (fdutimens): ...to new interface.
19920         * tests/test-utimens.c (do_fdutimens): Use it.
19921
19922         utimens: add UTIME_NOW and UTIME_OMIT support
19923         * lib/utimens.c (validate_timespec, update_timespec): New helper
19924         functions.
19925         (gl_futimens, lutimens): Use them.
19926         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
19927         stdbool, sys_stat.
19928         (Link): Mention resulting library dependency.
19929         * modules/utimecmp (Link): Likewise.
19930         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
19931         (Makefile.am): Pick up library dependency.
19932         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
19933         definition.
19934         * tests/test-sys_stat.c: Test the definitions.
19935         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
19936         * NEWS: Document library dependency.
19937
19938         utimecmp: support symlink timestamps
19939         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
19940         hashing when possible.  Use pathconf when available.
19941         (SYSCALL_RESOLUTION): Recognize tighter resolution.
19942         * modules/utimecmp (Depends-on): Add lstat.
19943
19944         utimens: add lutimens interface
19945         * lib/utimens.c (lutimens): New function.
19946         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
19947         * lib/utimens.h (lutimens): Declare new interface.
19948         * tests/test-utimens.c (main): Enhance test.
19949         * tests/test-lutimens.h (test_lutimens): New file.
19950         * modules/utimens-tests (Files): Distribute it.
19951         (Depends-on): Add symlink.
19952         (configure.ac): Check for usleep.
19953
19954         utimens: validate futimens usage
19955         * lib/utimens.c (gl_futimens): Require valid fd up front, using
19956         fewer syscalls on failure later on.  Avoid compiler warning on
19957         mingw.
19958         * modules/utimens (Depends-on): Add dup2.
19959
19960         utimens: add test
19961         * modules/utimens-tests: New test.
19962         * tests/test-utimens.h: New file.
19963         * tests/test-futimens.h: Likewise.
19964         * tests/test-utimens.c: Likewise.
19965
19966         doc: mention timestamp portability issues
19967         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
19968         instead.
19969         * doc/posix-functions/utime.texi (utime): Likewise.
19970         * doc/posix-functions/utimes.texi (utimes): Likewise.
19971         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
19972         instead.
19973         * doc/posix-functions/futimens.texi (futimens): Mention utimens
19974         module.
19975         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
19976         Mention weakness with symlink timestamps.
19977         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
19978         to utimensat/futimens instead.
19979         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
19980
19981         test-dup2: enhance test
19982         * tests/test-dup2.c (main): Also check AT_FDCWD.
19983
19984         test-stat-time: avoid more spurious failures
19985         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
19986         xfs; and avoid race if the two timestamps cross quantization edge.
19987
19988         relocatable: prefer 'file system' over 'filesystem'
19989         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
19990         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
19991         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
19992         * doc/relocatable.texi (Enabling Relocatability): Likewise.
19993         * lib/relocatable.c (compute_curr_prefix): Likewise.
19994
19995 2009-10-10  Jim Meyering  <meyering@redhat.com>
19996
19997         stat-time-tests: check for the usleep function
19998         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
19999
20000 2009-10-10  Bruno Haible  <bruno@clisp.org>
20001
20002         * modules/xnanosleep: Put the Link section after the Include section.
20003
20004 2009-10-09  Eric Blake  <ebb9@byu.net>
20005
20006         dup2: work around FreeBSD 6.1 bug
20007         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
20008         * doc/posix-functions/dup2.texi (dup2): Document it.
20009         Reported by Nelson H. F. Beebe and Jim Meyering.
20010
20011         test-stat-time: port to buggy NFS clients
20012         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
20013         (test_ctime): Also skip test if mtime and ctime are skewed.
20014
20015         maint: prefer 'file system' over 'filesystem'
20016         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
20017         * doc/posix-functions/lstat.texi (lstat): Likewise.
20018         * lib/file-has-acl.c (file_has_acl): Likewise.
20019         * lib/fwriteerror.c [TEST]: Likewise.
20020         * tests/test-areadlink.h (test_areadlink): Likewise.
20021         * tests/test-areadlinkat-with-size.c (main): Likewise.
20022         * tests/test-areadlinkat.c (main): Likewise.
20023         * tests/test-canonicalize-lgpl.c (main): Likewise.
20024         * tests/test-canonicalize.c (main): Likewise.
20025         * tests/test-fstatat.c (main): Likewise.
20026         * tests/test-linkat.c (main): Likewise.
20027         * tests/test-lstat.h (test_lstat_func): Likewise.
20028         * tests/test-mkdir.h (test_mkdir): Likewise.
20029         * tests/test-readlink.h (test_readlink): Likewise.
20030         * tests/test-remove.c (main): Likewise.
20031         * tests/test-rename.h (test_rename): Likewise.
20032         * tests/test-renameat.c (main): Likewise.
20033         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20034         * tests/test-symlink.h (test_symlink): Likewise.
20035         * tests/test-symlinkat.c (main): Likewise.
20036         * tests/test-unlink.h (test_unlink_func): Likewise.
20037         * tests/test-unlinkat.c (main): Likewise.
20038
20039         maint: make realtime library usage explicit
20040         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
20041         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
20042         * modules/settime (Link): Likewise.
20043         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
20044
20045         test-stat-time: speed up execution
20046         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
20047         warning on mingw.
20048         (nap): New helper function.
20049         (prepare_test): Use it to reduce sleep time.
20050         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
20051         execution.
20052         * modules/stat-time-tests (configure.ac): Check for usleep.
20053
20054 2009-10-09  Jim Meyering  <meyering@redhat.com>
20055
20056         selinux-h: always use getfilecon wrappers
20057         * lib/getfilecon.c: New file.
20058         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
20059         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
20060         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
20061         (fgetfilecon): Provide a stub.
20062         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
20063         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
20064         file unconditionally.
20065         When <selinux/selinux.h> is found, arrange to use wrappers.
20066         * modules/selinux-h (Files): Add getfilecon.c.
20067         (Makefile.am): Substitute include-next-related bits
20068         into the now-always-generated selinux/selinux.h file.
20069         * doc/glibc-functions/lgetfilecon.texi: New file.
20070         * doc/glibc-functions/fgetfilecon.texi: New file.
20071         * doc/glibc-functions/getfilecon.texi: New file.
20072         * doc/glibc-functions/getfilecon-desc.texi: New file.
20073         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
20074         which to pull in the new files.
20075         * MODULES.html.sh (Misc): Add selinux-h.
20076
20077 2009-10-08  Jim Meyering  <meyering@redhat.com>
20078
20079         unistd: fix comment typo
20080         * lib/unistd.in.h (euidaccess): Fix a comment typo.
20081
20082 2009-10-08  Eric Blake  <ebb9@byu.net>
20083
20084         areadlink: use SIZE_MAX consistently
20085         * modules/areadlink (Depends-on): Add stdint.
20086         * modules/areadlink-with-size (Depends-on): Likewise.
20087         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
20088         gives NULL; drop sys/types, since unistd gives size_t; and add
20089         stdint for SIZE_MAX.
20090         (SIZE_MAX): Rely on headers.
20091         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
20092         and add stdint.
20093         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
20094         (SIZE_MAX): Likewise.
20095         (INITIAL_BUF_SIZE): Turn into enum.
20096         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
20097
20098 2009-10-08  Jim Meyering  <meyering@redhat.com>
20099
20100         areadlinkat: avoid compilation failure
20101         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
20102         Fix typo in comment.
20103
20104 2009-10-07  Eric Blake  <ebb9@byu.net>
20105
20106         areadlinkat-with-size: new module
20107         * modules/areadlinkat-with-size: New module.
20108         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
20109         * lib/areadlink.h (areadlinkat): Declare it.
20110         * MODULES.html.sh (File system functions): Mention it.
20111         * modules/areadlinkat-with-size-tests: New test.
20112         * tests/test-areadlinkat-with-size.c: New file.
20113
20114         xreadlinkat: new module
20115         * modules/xreadlinkat: New module.
20116         * lib/xreadlinkat.c (xreadlinkat): New file.
20117         * lib/xreadlink.h (xreadlinkat): Declare it.
20118         * MODULES.html.sh (File system functions): Mention it.
20119
20120         areadlinkat: new module
20121         * lib/at-func.c (FUNC_FAIL): New define.
20122         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
20123         * modules/areadlinkat: New module.
20124         * lib/linkat.c (areadlinkat): Move...
20125         * lib/areadlinkat.c (areadlinkat): ...to new file.
20126         * lib/areadlink.h (areadlinkat): Declare it.
20127         * modules/linkat (Depends-on): Add areadlinkat.
20128         * MODULES.html.sh (File system functions): Mention it.
20129         * modules/areadlinkat-tests: New test.
20130         * tests/test-areadlinkat.c: New file.
20131
20132         areadlink, areadlink-with-size: add tests
20133         * modules/areadlink-tests: New test.
20134         * modules/areadlink-with-size-tests: Likewise.
20135         * tests/test-areadlink.h: New file.
20136         * tests/test-areadlink.c: Likewise.
20137         * tests/test-areadlink-with-size.c: Likewise.
20138
20139         maint: minor cleanups
20140         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
20141         _UNUSED_PARAMETER_ instead.
20142         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
20143         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
20144         * modules/linkat-tests (Files): Distribute test-link.h.
20145
20146         openat, utimens: whitespace cleanup
20147         * lib/openat.c: Prefer space throughout, rather than mix of 8
20148         spaces vs. tabs.
20149         * lib/at-func.c: Likewise.
20150         * lib/utimens.c: Likewise.
20151
20152         openat: avoid using wrong fd
20153         * lib/openat.c (openat_permissive): Reject user's fd if saving the
20154         working directory chooses same fd.
20155         * lib/at-func.c (AT_FUNC_NAME): Likewise.
20156
20157         mkdir, mkdirat: fix cygwin 1.5.x bug
20158         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
20159         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
20160         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
20161         bug.
20162         (gl_PREREQ_MKDIR): Delete unused macro.
20163         * modules/mkdir (Files): Track file rename.
20164         (configure.ac): Update macro name.
20165         * modules/openat (Depends-on): Add mkdir.
20166         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
20167
20168         mkdir, mkdirat: add tests
20169         * modules/mkdir-tests: New test.
20170         * tests/test-mkdir.h: New file.
20171         * tests/test-mkdir.c: Likewise.
20172         * tests/test-mkdirat.c: Likewise.
20173         * modules/openat-tests (Files): Add new files.
20174         (Makefile.am): Run new test.
20175
20176 2009-10-06  Eric Blake  <ebb9@byu.net>
20177
20178         doc: tweak *at function documentation
20179         * doc/posix-functions/faccessat.texi (faccessat): Mention
20180         known issue with replacement.
20181         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
20182         * doc/posix-functions/linkat.texi (linkat): Likewise.
20183         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
20184         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
20185         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20186         * doc/posix-functions/renameat.texi (renameat): Likewise.
20187         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20188
20189         openat: fix GNU/Hurd bug in unlinkat
20190         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
20191         broken.
20192         * doc/posix-functions/unlink.texi (unlink): Document this.
20193         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
20194
20195         fdopendir: fix GNU/Hurd bug
20196         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
20197         allowing non-directory fds.
20198         * lib/fdopendir.c (rpl_fdopendir): Work around it.
20199         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
20200         * modules/dirent (Makefile.am): Substitute it.
20201         * lib/dirent.in.h (fdopendir): Declare replacement.
20202         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
20203         * tests/test-fdopendir.c (main): Test something other than
20204         /dev/null, since on Hurd that behaves like a directory.
20205
20206         test-symlink: port to GNU/Hurd
20207         * tests/test-symlink.h (test_symlink): Relax expected errno.
20208
20209         doc: tweak more cygwin information
20210         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
20211         now compatible with glibc.
20212         * doc/posix-functions/getopt.texi (getopt): Likewise.
20213
20214         getopt-gnu: add another test
20215         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
20216         guarantee behavior relied on by m4.
20217         * tests/test-getopt.c (main): Use it.
20218         * modules/getopt-posix-tests (Depends-on): Add setenv.
20219         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
20220
20221         getopt: fix compilation on darwin
20222         * lib/getopt.in.h (includes): Leave breadcrumbs during system
20223         include.
20224         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
20225         Reported by Ludovic Courtès.
20226
20227 2009-10-06  Bruno Haible  <bruno@clisp.org>
20228
20229         * modules/size_max (Description): Discourage its use.
20230         Reported by Simon Josefsson.
20231
20232 2009-10-06  Jim Meyering  <meyering@redhat.com>
20233
20234         linkat: avoid compilation failure
20235         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
20236
20237 2009-10-05  Eric Blake  <ebb9@byu.net>
20238
20239         linkat: support Linux 2.6.17
20240         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
20241         linkat on Linux, but allow cache variable override.
20242         * lib/linkat.c (rpl_linkat): Define override.
20243         * modules/linkat (Depends-on): Add symlinkat.
20244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
20245         * modules/unistd (Makefile.am): Substitute it.
20246         * lib/unistd.in.h (linkat): Declare replacement.
20247         Reported by Pádraig Brady.
20248
20249         quotearg: port test to systems with C.UTF-8 locale
20250         * tests/test-quotearg.c (struct result_strings): Add another
20251         member, differentiating between C.ASCII and C.UTF-8 handling.
20252         (compare_strings): Add parameter.
20253         (main): Adjust all callers.
20254
20255         getopt: avoid clash with FreeBSD _getopt_internal
20256         * lib/getopt.in.h (_getopt_internal): Override the name.
20257         * lib/getopt_int.h (includes): Pick up any overrides.
20258         Reported by Reuben Thomas.
20259
20260         hash: allow C89 compilation
20261         * lib/hash.c (check_tuning): Move declaration before statement.
20262         Reported by Reuben Thomas.
20263
20264 2009-10-05  Karl Berry  <karl@gnu.org>
20265
20266         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
20267
20268 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
20269             Bruno Haible  <bruno@clisp.org>
20270
20271         * lib/uname.c (uname): Use a table-driven algorithm to compute
20272         Windows NT versions.
20273
20274 2009-10-04  Bruno Haible  <bruno@clisp.org>
20275
20276         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
20277         program_invocation_short_name.
20278         * modules/progname (configure.ac): Test for presence of
20279         program_invocation_short_name.
20280         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
20281
20282 2009-10-04  Bruno Haible  <bruno@clisp.org>
20283
20284         * lib/progname.c (set_program_name): Fix comment.
20285         Reported by Jim Meyering.
20286
20287 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
20288             Bruno Haible  <bruno@clisp.org>
20289
20290         * lib/uname.c: Include <string.h>.
20291         (uname): Do only one call to GetVersionEx in the common case.
20292
20293 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
20294             Bruno Haible  <bruno@clisp.org>
20295
20296         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
20297         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
20298         (uname): Add support for Windows CE and various non-x86 CPU types.
20299
20300 2009-10-03  Bruno Haible  <bruno@clisp.org>
20301
20302         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
20303         invocation to tests/configure.ac.
20304         Reported by Ian Beckwith <ianb@erislabs.net>.
20305
20306 2009-10-02  Eric Blake  <ebb9@byu.net>
20307
20308         fchdir: avoid compiler warning
20309         * lib/fchdir.c (canonicalize_file_name)
20310         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
20311
20312         test-open: support mingw errno values
20313         * tests/test-open.h (test_open): Relax test.
20314         * tests/test-fopen.h (test_fopen): Likewise.
20315         * tests/test-openat-safer.c (main): Likewise.
20316
20317         open: fix opening directory on mingw
20318         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
20319
20320         test-open: on GNU/Hurd, /dev/null is a directory
20321         * tests/test-fopen.h (main): Rename...
20322         (test_fopen): ...to this.  Use a guaranteed non-directory when
20323         confirming open behavior on trailing slash.
20324         * tests/test-openat-safer.c (main): Likewise.
20325         * tests/test-open.h (main): Likewise....
20326         (test_open): ...to this.
20327         * tests/test-fopen.c (main): Adjust caller.
20328         * tests/test-fopen-safer.c (main): Likewise.
20329         * tests/test-open.c (main): Likewise.
20330         * tests/test-fcntl-safer.c (main): Likewise.
20331         Reported by Samuel Thibault.
20332
20333         rename, fchdir: don't ignore chdir failure
20334         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
20335         * lib/rename.c (rpl_rename) [W32]: Likewise.
20336         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
20337         an empty destination directory if source cannot be renamed,
20338         although there is still possibility for failure.
20339         * doc/posix-functions/rename.texi (rename): Document the race.
20340         Reported by Jim Meyering.
20341
20342         maint: cleanup whitespace in recent commits
20343         * lib/rename.c (rpl_rename): Remove tabs.
20344         * tests/test-link.h (test_link): Likewise.
20345         * lib/fchdir.c (get_name): Likewise.
20346         Reported by Jim Meyering.
20347
20348 2009-10-02  Ben Pfaff  <blp@gnu.org>
20349
20350         relocatable-prog-wrapper: Add missing dependency on
20351         double-slash-root.
20352         * modules/relocatable-prog-wrapper: Add dependency.
20353         Reported by Ian Beckwith <ianb@erislabs.net>.
20354
20355 2009-10-02  Eric Blake  <ebb9@byu.net>
20356
20357         renameat: fix Solaris bugs
20358         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
20359         needed fixing.
20360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
20361         * modules/stdio (Makefile.am): Substitute it.
20362         * lib/stdio.in.h (renameat): Declare replacement.
20363         * lib/renameat.c (rpl_renameat): Implement fix.
20364
20365         renameat: new module
20366         * modules/renameat: New file.
20367         * lib/renameat.c (renameat): Likewise.
20368         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
20369         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
20370         * modules/stdio (Makefile.am): Substitute them.
20371         * lib/stdio.in.h (renameat): Declare it.
20372         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20373         * doc/posix-functions/renameat.texi (renameat): Likewise.
20374         * modules/renameat-tests: New test.
20375         * tests/test-renameat.c: Likewise.
20376
20377         rename: fix mingw bugs
20378         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
20379         directory overwrite bugs.
20380
20381         rename: fix another cygwin 1.5 bug
20382         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
20383         checks.
20384         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
20385         unnecessary cygwin workarounds.  Also work around bug with moving
20386         full directory onto an empty one.
20387         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
20388
20389         rename-dest-slash: merge into rename module
20390         * modules/rename-dest-slash (Status): Mark obsolete.
20391         (Depends-on): Add rename.
20392         (Files): Let rename do it all.
20393         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
20394         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
20395         * m4/rename-dest-slash.m4: ...so this file can be deleted.
20396         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
20397         * lib/rename.c (rpl_rename): Update comments.
20398
20399         rename: fix cygwin 1.5.x bugs
20400         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
20401         * lib/rename.c (rpl_rename): Work around them.
20402         * modules/rename (Depends-on): Add same-inode.
20403
20404         rename: fix Solaris 10 bug
20405         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
20406         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
20407         was the only bug.
20408
20409         rename: fix Solaris 9 bug
20410         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
20411         on non-directory.  Avoid calling exit.
20412         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
20413         strdup.
20414         * modules/rename-tests (Depends-on): Drop lstat.
20415         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
20416         (gl_PREREQ_RENAME): Delete unused macro.
20417
20418         rename-dest-slash: fix NetBSD bug
20419         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
20420         links.
20421         * modules/rename-dest-slash (Depends-on): Add same-inode.
20422
20423         rename-tests: new test, exposes several platform bugs
20424         * modules/rename-tests: New file.
20425         * tests/test-rename.h: Likewise.
20426         * tests/test-rename.c: Likewise.
20427         * doc/posix-functions/rename.texi (rename): Improve documentation,
20428         including bugs that will eventually be fixed in gnulib.
20429
20430 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
20431
20432         * lib/uname.c: Include <stdlib.h>
20433         (uname): Assume version info is available.
20434
20435 2009-10-02  Jim Meyering  <meyering@redhat.com>
20436
20437         gnu-web-doc-update: correct --help output
20438         * build-aux/gnu-web-doc-update: Make --help output relevant.
20439
20440         gnu-web-doc-update: add standard options
20441         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
20442
20443         gnu-web-doc-update: New module.
20444         Use this script to automatically update the on-line web documentation
20445         for your GNU project at http://www.gnu.org/software/$pkg/manual/
20446         * modules/gnu-web-doc-update: New file, from coreutils.
20447         * build-aux/gnu-web-doc-update: New script.
20448
20449 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
20450
20451         link: LoadLibrary is not needed.
20452         * lib/link.c: Use GetModuleHandle.
20453
20454 2009-10-01  Eric Blake  <ebb9@byu.net>
20455
20456         getopt: bump serial number
20457         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
20458         change.
20459
20460         tests: tighten link, rmdir, and remove tests
20461         * tests/test-link.h (includes): No need to use <config.h> here.
20462         Clean up if directory hard link was created, otherwise test for
20463         trailing '.'.
20464         * tests/test-linkat.c (main): Simplify.
20465         * tests/test-remove.c (main): Enhance test for trailing '.'.
20466         * tests/test-rmdir.h (test_rmdir_func): Likewise.
20467
20468 2009-10-01  Jim Meyering  <meyering@redhat.com>
20469
20470         maint.mk: requiring "make major" was annoying, for a "minor" release.
20471         What is intended is "stable", to contrast with alpha and beta,
20472         so require "make stable", not "make major".
20473         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
20474         (get_tool_versions): Likewise.
20475         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
20476
20477 2009-09-30  Ben Pfaff  <blp@gnu.org>
20478
20479         Fix broken build of replacement for Windows tmpfile().
20480         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
20481         flags argument added along with the 'mkostemp' module.
20482
20483 2009-09-28  Bruno Haible  <bruno@clisp.org>
20484
20485         Avoid identifier clash with POSIX function 'remove' defined as a macro.
20486         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
20487         to 'remove_elt'.
20488         (gl_list_remove): Update.
20489         * lib/gl_list.c (gl_list_remove): Update.
20490         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
20491         to 'remove_elt'.
20492         (gl_oset_remove): Update.
20493         * lib/gl_list.c (gl_oset_remove): Update.
20494         Reported by Eric Blake.
20495
20496 2009-09-28  Eric Blake  <ebb9@byu.net>
20497
20498         doc: mention yet more cygwin 1.7 status
20499         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
20500         cygwin.
20501         * doc/glibc-functions/execvpe.texi (execvpe): New file.
20502         * doc/gnulib.texi (Glibc unistd.h): Mention it.
20503
20504         argp: fix test failure
20505         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
20506         that are not upper-case.  Pass correct range to tolower.
20507
20508 2009-09-27  Jim Meyering  <meyering@redhat.com>
20509
20510         test-yesno: work around sparc-dash here-document infelicity
20511         Without this change, the literal \177 byte in a here document
20512         would make dash 0.5.5.1-3 access uninitialized memory.
20513         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
20514         Instead, use a marker, "@", and filter through tr to create the desired
20515         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
20516
20517 2009-09-27  Bruno Haible  <bruno@clisp.org>
20518
20519         Disable untested support for new flavours of ACLs on AIX.
20520         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
20521         progress.
20522         * lib/set-mode-acl.c (qset_acl): Likewise.
20523
20524 2008-12-07  Bruno Haible  <bruno@clisp.org>
20525
20526         Add support for new flavours of ACLs on AIX. (Untested.)
20527         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
20528         (file_has_acl): Add support for newer AIX.
20529         * lib/set-mode-acl.c (qset_acl): Likewise.
20530         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
20531         Rainer Tammer <tammer@tammer.net>.
20532
20533 2009-09-26  Eric Blake  <ebb9@byu.net>
20534
20535         argp: fix compilation of getopt
20536         * lib/getopt.in.h (includes): Use different guard than glibc.
20537         Reported by Sergey Poznyakoff.
20538
20539         doc: mention more cygwin 1.7 status
20540         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
20541         bug.
20542         * doc/posix-functions/execl.texi (execl): Likewise.
20543         * doc/posix-functions/execle.texi (execle): Likewise.
20544         * doc/posix-functions/execlp.texi (execlp): Likewise.
20545         * doc/posix-functions/execv.texi (execv): Likewise.
20546         * doc/posix-functions/execve.texi (execve): Likewise.
20547         * doc/posix-functions/execvp.texi (execvp): Likewise.
20548         * doc/glibc-functions/canonicalize_file_name.texi
20549         (canonicalize_file_name): Cygwin 1.7 now provides this.
20550         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
20551         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
20552         on AT_SYMLINK_NOFOLLOW.
20553
20554 2009-09-24  Eric Blake  <ebb9@byu.net>
20555
20556         test-linkat: make test more robust
20557         * tests/test-linkat.c (main): Avoid collision with EEXIST.
20558
20559         getopt: fix inclusion guards for cygwin
20560         * modules/getopt-posix (Depends-on): Add include-next.
20561         (Makefile.am): Substitute more items in replacement header.
20562         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
20563         <getopt.h>.
20564         * lib/getopt.in.h (includes): Use split inclusion guard, and
20565         prefer <getopt.h> over include <unistd.h> when one is present.
20566         (option): Also override name of 'struct option'.
20567
20568         same-inode: revert prior change; it is not yet ready
20569         * NEWS: Undo mention of this change.
20570         * lib/same-inode.h (same-inode.h): Undo tri-state change.
20571         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
20572         * lib/cycle-check.c (cycle_check): Likewise.
20573         * lib/same.c (same_name): Likewise.
20574         * lib/at-func2.c (at_func2): Likewise.
20575
20576 2009-09-23  Eric Blake  <ebb9@byu.net>
20577
20578         linkat: new module
20579         * modules/linkat: New file.
20580         * lib/at-func2.c (at_func2): Likewise.
20581         * lib/linkat.c (linkat): Likewise.
20582         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
20583         * lib/openat-priv.h (at_func2): Add declaration.
20584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
20585         * modules/unistd (Makefile.am): Substitute them.
20586         * lib/unistd.in.h (linkat): Declare it.
20587         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20588         * doc/posix-functions/linkat.texi (linkat): Likewise.
20589         * doc/posix-functions/link.texi (link): Tweak wording.
20590         * tests/test-link.c (main): Move guts...
20591         * tests/test-link.h (test_link): ...into new file.
20592         * modules/linkat-tests: New test.
20593         * tests/test-linkat.c: Likewise.
20594         * modules/link-tests (Files): Ship new file.
20595         (Depends-on): Add stdbool.
20596
20597         dirname: add library-safe mdir_name
20598         * lib/dirname.h (mdir_name): New prototype.
20599         * lib/dirname.c (dir_name): Move guts...
20600         (mdir_name): ...to new function that avoids xalloc_die.
20601
20602         fchdir: another mingw fix
20603         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
20604         * lib/fchdir.c (get_name): New helper method; skips canonicalize
20605         on mingw (where it has not yet been ported), and make it optional
20606         elsewhere.
20607         (_gl_register_fd): Use it.
20608
20609         same-inode: make SAME_INODE tri-state, to port to mingw
20610         * NEWS: Mention this change.
20611         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
20612         st_ino always being 0.
20613         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
20614         * lib/cycle-check.c (cycle_check): Likewise.
20615         * lib/same.c (same_name): Likewise.
20616
20617         lstat: avoid mingw compilation error
20618         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
20619         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
20620         lstat ourselves.
20621         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
20622         was adequate.
20623         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
20624         the checks for lstat.
20625         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
20626
20627         link: fix test failure on Solaris 9
20628         * lib/link.c (rpl_link): Don't assume link will catch bogus
20629         trailing slash on source.
20630
20631         test-symlinkat: enhance test
20632         * tests/test-readlink.c (main): Move guts...
20633         * tests/test-readlink.h (test_readlink): ...into new file.
20634         * tests/test-symlink.c (main): Move guts...
20635         * tests/test-symlink.h (test_symlink): ...into new file.
20636         * tests/test-symlinkat.c (main): Use new files for further
20637         coverage.
20638         (do_symlink, do_readlink): New helper functions.
20639         * modules/symlink-tests (Files): Ship new file.
20640         (Depends-on): Add stdbool.
20641         * modules/readlink-tests (Files): Ship new file.
20642         (Depends-on): Add stdbool.
20643         * modules/symlinkat-tests (Files): Use new files.
20644
20645 2009-09-23  Eric Blake  <ebb9@byu.net>
20646
20647         readlink: document portability issue with symlink length
20648         * doc/posix-functions/lstat.texi (lstat): Mention that some file
20649         systems have bogus st_size on symlinks, and mention the
20650         areadlink-with-size module.
20651         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
20652         * doc/posix-functions/readlink.texi (readlink): Mention the
20653         areadlink module, and ERANGE failure.
20654         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
20655         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
20656
20657         readlink: fix Solaris 9 bug with trailing slash
20658         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
20659         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
20660         * doc/posix-functions/readlink.texi (readlink): Document this.
20661         * modules/readlink-tests: New test.
20662         * tests/test-readlink.c: Likewise.
20663
20664         readlink: fix cygwin 1.5.x bug with return type
20665         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
20666         * lib/unistd.in.h (readlink): Use ssize_t.
20667         * lib/readlink.c (readlink): Likewise.
20668         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20669         * modules/unistd (Makefile.am): Substitute it.
20670         * lib/unistd.in.h (readlink): Declare replacement.
20671         * doc/posix-functions/readlink.texi (readlink): Document this.
20672
20673         symlink: use throughout gnulib
20674         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
20675         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
20676         symlink is not used.
20677         * modules/symlinkat (Depends-on): Add symlink.
20678         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
20679         * modules/canonicalize-tests (Depends-on): Likewise.
20680         * modules/lstat-tests (Depends-on): Likewise.
20681         * modules/openat-tests (Depends-on): Likewise.
20682         * modules/remove-tests (Depends-on): Likewise.
20683         * modules/rmdir-tests (Depends-on): Likewise.
20684         * modules/unlink-tests (Depends-on): Likewise.
20685         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
20686         * tests/test-canonicalize.c (symlink): Likewise.
20687         * tests/test-fstatat.c (symlink): Likewise.
20688         * tests/test-lstat.c (symlink): Likewise.
20689         * tests/test-remove.c (symlink): Likewise.
20690         * tests/test-rmdir.c (symlink): Likewise.
20691         * tests/test-unlink.c (symlink): Likewise.
20692         * tests/test-unlinkat.c (symlink): Likewise.
20693
20694         symlink: new module, for Solaris 9 bug
20695         * modules/symlink: New file.
20696         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
20697         * lib/symlink.c: Likewise.
20698         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
20699         * modules/unistd (Makefile.am): Substitute them.
20700         * lib/unistd.in.h (symlink): Declare replacement.
20701         * MODULES.html.sh (File system functions): Mention it.
20702         * doc/posix-functions/symlink.texi (symlink): Likewise.
20703         * modules/symlink-tests: New test.
20704         * tests/test-symlink.c: Likewise.
20705
20706 2009-09-23  Bruno Haible  <bruno@clisp.org>
20707
20708         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
20709         when needed.
20710         Test case: gnulib-tool --import --with-tests atexit inttypes.
20711         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
20712
20713 2009-09-23  Bruno Haible  <bruno@clisp.org>
20714
20715         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
20716         subcommand, not in a subshell.
20717
20718 2009-09-22  Eric Blake  <ebb9@byu.net>
20719
20720         unistd: sort replacement declarations
20721         * lib/unistd.in.h: Sort declarations.
20722
20723         open, openat: minor optimization
20724         * lib/open.c (open): If open succeeded, len is non-zero.
20725         * lib/openat.c (rpl_openat): Likewise.
20726
20727         link-follow: ensure correct result
20728         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
20729         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
20730         distinguish between possible failures.
20731
20732 2009-09-21  Eric Blake  <ebb9@byu.net>
20733
20734         fts: avoid compiler warning
20735         * lib/fts.c (dirent_inode_sort_may_be_useful)
20736         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
20737
20738 2009-09-19  Bruno Haible  <bruno@clisp.org>
20739
20740         * lib/progreloc.c (canonicalize_file_name): New declaration.
20741
20742 2009-09-19  Eric Blake  <ebb9@byu.net>
20743
20744         link: fix quoting
20745         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
20746
20747         openat: fix openat bugs on Solaris 9
20748         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
20749         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
20750         * modules/openat (Depends-on): Add open.
20751         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
20752         * modules/fcntl-h (Makefile.am): Substitute it.
20753         * lib/fcntl.in.h (openat): Declare replacement.
20754         * doc/posix-functions/openat.texi (openat): Document this.
20755
20756         openat: move fstatat and unlinkat into correct files
20757         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
20758         compiled.
20759         * lib/openat.c (fstatat, unlinkat): Move...
20760         * lib/fstatat.c (fstatat): ...into correct files.
20761         * lib/unlinkat.c (unlinkat): Likewise.
20762
20763         openat: fix unlinkat bugs on Solaris 9
20764         * lib/unlinkat.c (unlinkat): New file.
20765         * modules/openat (Depends-on): Add unlink.
20766         (Files): Distribute it.
20767         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
20768         trailing slash behavior is broken.
20769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
20770         * modules/unistd (Makefile.am): Substitute it.
20771         * lib/unistd.in.h (unlinkat): Declare replacement.
20772         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
20773
20774         openat: fix fstatat bugs on Solaris 9
20775         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
20776         stat.
20777         * doc/posix-functions/fstatat.texi (fstatat): Document this.
20778
20779         test-unlinkat: enhance test, to expose Solaris 9 bug
20780         * tests/test-unlink.c (main): Factor guts...
20781         * tests/test-unlink.h (test_rmdir_func): ...into new file.
20782         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
20783         * tests/test-rmdir.c (main): Adjust caller.
20784         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
20785         (unlinker): New helper function.
20786         (rmdirat): Enhance check.
20787         * modules/rmdir-tests (Depends-on): Add stdbool.
20788         * modules/unlink-tests (Depends-on): Likewise.
20789         (Files): Add test-unlink.h.
20790         * modules/openat-tests (Files): Likewise.
20791         (Depends-on): Add unlinkdir.
20792
20793         test-fstatat: new test, to expose Solaris 9 bugs
20794         * tests/test-stat.c (main): Factor guts...
20795         * tests/test-stat.h (test_stat_func): ...into new file.
20796         * tests/test-lstat.c (main): Factor guts...
20797         * tests/test-lstat.h (test_lstat_func): ...into new file.
20798         * tests/test-fstatat.c: New file.
20799         * modules/stat-tests (Files): Add test-stat.h.
20800         * modules/lstat-tests (Files): Add test-lstat.h.
20801         (Depends-on): Add stdbool.
20802         * modules/openat-tests (Depends-on): Add pathmax.
20803         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
20804         (Makefile.am): Run new test.
20805
20806         remove: new module, for mingw and Solaris 9 bugs
20807         * modules/remove: New file.
20808         * lib/remove.c: Likewise.
20809         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
20810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
20811         * modules/stdio (Makefile.am): Use them.
20812         * lib/stdio.in.h (remove): Declare replacement.
20813         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20814         * doc/posix-functions/remove.texi (remove): Likewise.
20815         * modules/remove-tests: New test.
20816         * tests/test-remove.c: Likewise.
20817
20818         unlink: new module, for Solaris 9 bug
20819         * modules/unlink: New file.
20820         * lib/unlink.c: Likewise.
20821         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
20823         * modules/unistd (Makefile.am): Use them.
20824         * lib/unistd.in.h (stat): Declare replacement.
20825         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20826         * doc/posix-functions/unlink.texi (unlink): Likewise.
20827         * modules/unlink-tests: New test.
20828         * tests/test-unlink.c: Likewise.
20829
20830         lstat: fix Solaris 9 bug
20831         * lib/lstat.c (lstat): Also check for trailing slash on
20832         non-symlink, non-directories.  Use stat module to simplify logic.
20833         * doc/posix-functions/lstat.texi (lstat): Document it.
20834         * modules/lstat-tests (Depends-on): Add errno, same-inode.
20835         (configure.ac): Check for symlink.
20836         * tests/test-lstat.c (main): Add more tests.
20837
20838         stat: add as dependency to other modules
20839         * modules/chown (Depends-on): Add stat.
20840         * modules/euidaccess (Depends-on): Likewise.
20841         * modules/fchdir (Depends-on): Likewise.
20842         * modules/isdir (Depends-on): Likewise.
20843         * modules/link (Depends-on): Likewise.
20844         * modules/lstat (Depends-on): Likewise.
20845         * modules/mkdir-p (Depends-on): Likewise.
20846         * modules/modechange (Depends-on): Likewise.
20847         * modules/open (Depends-on): Likewise.
20848         * modules/readlink (Depends-on): Likewise.
20849         * modules/same (Depends-on): Likewise.
20850
20851         stat: fix Solaris 9 bug
20852         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
20853         slash.
20854         * lib/stat.c (rpl_stat): Work around it.
20855         * doc/posix-functions/stat.texi (stat): Update documentation.
20856
20857         stat: new module, for mingw bug
20858         * modules/stat: New file.
20859         * lib/stat.c: Likewise.
20860         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20861         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
20862         * modules/sys_stat (Makefile.am): Use them.
20863         * lib/sys_stat.in.h (stat): Declare replacement.
20864         * lib/openat.c (fstatat): Deal with lstat and stat being function
20865         macros.
20866         * modules/openat (Depends-on): Add inline.
20867         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
20868         * doc/posix-functions/stat.texi (stat): Likewise.
20869         * modules/stat-tests: New test.
20870         * tests/test-stat.c: Likewise.
20871
20872 2009-09-19  Jim Meyering  <meyering@redhat.com>
20873
20874         syntax-check: detect unnecessary inclusion of canonicalize.h
20875         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
20876
20877 2009-09-19  Eric Blake  <ebb9@byu.net>
20878
20879         canonicalize-lgpl: adjust clients to use correct header
20880         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
20881         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
20882         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
20883         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
20884         * lib/progreloc.c (includes): Likewise.
20885
20886 2009-09-19  Jim Meyering  <meyering@redhat.com>
20887
20888         test-posixtm.c: correct a comment
20889         * tests/test-posixtm.c: Correct first-line comment.
20890         Spotted by Eric Blake.
20891
20892 2009-09-16  Jim Meyering  <meyering@redhat.com>
20893
20894         posixtm-tests: make T const-correct; add a test case
20895         * tests/test-posixtm.c (T): Declare const.
20896         Add a test for -(2^31+1).
20897         Remove useless can-succeed-only-in-2002 test.
20898
20899         posixtm-tests: adjust the sole failing test
20900         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
20901         expected output matches what mktime now produces.  Cross-checked via
20902         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
20903
20904         posixtm: move #ifdef'd tests into a new module
20905         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
20906         * tests/test-posixtm.c: ... this new file.
20907         * modules/posixtm-tests: New module.
20908
20909 2009-09-19  Eric Blake  <ebb9@byu.net>
20910
20911         openat: simplify use of at-func.c
20912         * lib/at-func.c (includes): Include prerequisites here, to
20913         simplify requirements on client files.
20914         * lib/openat-priv.h: Add double-inclusion guard.
20915         * lib/faccessat.c (includes): Simplify.
20916         * lib/fchmodat.c (includes): Likewise.
20917         * lib/fchownat.c (includes): Likewise.
20918         * lib/mkdirat.c (includes): Likewise.
20919         * lib/mkfifoat.c (includes): Likewise.
20920         * lib/symlinkat.c (includes): Likewise.
20921
20922         openat: allow return of fd 0
20923         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
20924         * modules/save-cwd (Depends-on): Replace fcntl-safer with
20925         unistd-safer.
20926         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
20927         <fcntl.h>; this module does not leak fds.
20928         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
20929         must be allowed to return 0, leaving openat_safer to add the
20930         safety.
20931         (openat_permissive): Avoid writing to just-opened fd 2 if
20932         restoring the current directory fails.
20933         * lib/openat-die.c (openat_restore_fail): Add comment.
20934         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
20935         (save_cwd): Guarantee safe fd, but without use of open_safer.
20936         * tests/test-openat.c: New test.
20937         * modules/openat-tests (Files, Makefile.am): Distribute and build
20938         new file.
20939
20940         relocatable-prog-wrapper: fix build
20941         * modules/relocatable-prog-wrapper (Files): Update name of
20942         canonicalize m4 file, broken on 2009-09-17.
20943         Reported by emad hajjar <aleppos@hotmail.com>.
20944
20945 2009-09-19  Bruno Haible  <bruno@clisp.org>
20946
20947         * lib/safe-alloc.h: Use the standard header with GPL copyright.
20948         * lib/safe-alloc.c: Likewise.
20949         Reported by Ian Beckwith <ianb@erislabs.net>.
20950
20951 2009-09-18  Bruno Haible  <bruno@clisp.org>
20952
20953         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
20954         Reported by <erobles@sensacd.com.mx>.
20955
20956 2009-09-17  Eric Blake  <ebb9@byu.net>
20957
20958         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
20959         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
20960         slashes when checking if last component is missing.
20961         * tests/test-canonicalize.c (main): Test this.
20962
20963         canonicalize, canonicalize-lgpl: honor // if distinct from /
20964         * modules/canonicalize (Files): Add double-slash-root.m4.
20965         * modules/canonicalize-lgpl (Files): Likewise.
20966         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
20967         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
20968         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
20969         fallback definition.
20970         (canonicalize_filename_mode): Use it to protect //.
20971         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
20972         (__realpath): Likewise.
20973         * tests/test-canonicalize.c (main): Test this.
20974         * tests/test-canonicalize-lgpl.c (main): Likewise.
20975         * modules/canonicalize-tests (Depends-on): Add same-inode.
20976         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
20977
20978         canonicalize-lgpl: fix glibc bug with trailing slash
20979         * m4/canonicalize-lgpl.m4: Move contents...
20980         * m4/canonicalize.m4: ...here.
20981         (gl_CANONICALIZE_LGPL): Factor realpath check...
20982         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
20983         glibc 2.3.5 bug, fixed 2005-04-27.
20984         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
20985         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
20986         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
20987         * modules/canonicalize-lgpl (Files): Manage file rename.
20988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
20989         * modules/stdlib (Makefile.am): Substitute witness.
20990         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
20991         is needed.
20992         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
20993         replacement is required.
20994         * lib/canonicalize.c (canonicalize_file_name): Likewise.
20995         * doc/glibc-functions/canonicalize_file_name.texi
20996         (canonicalize_file_name): Document this.
20997         * doc/posix-functions/realpath.texi (realpath): Likewise.
20998
20999         canonicalize-lgpl: reject non-directory with trailing slash
21000         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
21001         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
21002         catches failures in glibc 2.3.5.
21003         * tests/test-canonicalize.c (main): Likewise.
21004
21005         canonicalize-lgpl: use native realpath if it works
21006         * lib/canonicalize-lgpl.c (realpath): Guard with
21007         FUNC_REALPATH_WORKS.
21008         * lib/stdlib.in.h (realpath): Make declaration optional based on
21009         HAVE_REALPATH.
21010         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
21011         native realpath works.
21012         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
21013         * modules/stdlib (Makefile.am): Substitute witness.
21014
21015         canonicalize, canonicalize-lgpl: use <stdlib.h>
21016         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
21017         (Include): Mention <stdlib.h>.
21018         (configure.ac): Mention functions we provide.
21019         * modules/canonicalize (configure.ac): Likewise.
21020         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
21021         realpath if canonicalize_file_name is missing.
21022         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
21023         * modules/stdlib (Makefile.am): Substitute witnesses.
21024         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
21025         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
21026         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
21027         * NEWS: Document this.
21028         * doc/glibc-functions/canonicalize_file_name.texi
21029         (canonicalize_file_name): Likewise.
21030         * doc/posix-functions/realpath.texi (realpath): Likewise.
21031         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
21032
21033         test-canonicalize: consolidate into single C program
21034         * tests/test-canonicalize.sh: Delete; move setup into...
21035         * tests/test-canonicalize.c (main): ...the program, making it
21036         easier to run in debugger.  Add some tests.
21037         * modules/canonicalize-tests (Files): Remove unused file.
21038         (Depends-on): Add progname.
21039         (configure.ac, Makefile.am): Simplify.
21040
21041         test-canonicalize-lgpl: consolidate into single C program
21042         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
21043         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
21044         easier to run in debugger.  Add some tests.
21045         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
21046         (configure.ac, Makefile.am): Simplify.
21047
21048         canonicalize: avoid resolvepath
21049         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
21050         unnecessary checks.
21051         * lib/canonicalize.c (includes): Simplify.
21052         (canonicalize_file_name): Drop resolvepath implementation.
21053         * modules/canonicalize (Depends-on): Drop filenamecat.
21054
21055         canonicalize: don't lose errno
21056         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
21057         over calls to free.
21058
21059         canonicalize: simplify errno handling
21060         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
21061         assignment.
21062
21063         canonicalize, canonicalize-lgpl: update module dependencies
21064         * modules/canonicalize (Depends-on): Add extensions, lstat,
21065         pathmax, stdlib.
21066         (Files): Drop pathmax.h.
21067         (configure.ac): Adjust macro name.
21068         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
21069         lstat, stdlib, sys_stat.
21070         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
21071         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
21072         extensions.
21073         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
21074         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
21075         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
21076         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
21077         declaration, if available.
21078         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
21079         we can rely on the readlink module.
21080         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
21081         (includes): Use <unistd.h> unconditionally.
21082
21083 2009-09-17  Eric Blake  <ebb9@byu.net>
21084
21085         maint: make Include sections of modules consistent
21086         * modules/alloca: Use only header name; no need to list #include.
21087         * modules/alloca-opt: Likewise.
21088         * modules/arpa_inet: Likewise.
21089         * modules/canon-host: Likewise.
21090         * modules/configmake: Likewise.
21091         * modules/dirent: Likewise.
21092         * modules/eealloc: Likewise.
21093         * modules/environ: Likewise.
21094         * modules/fchdir: Likewise.
21095         * modules/fcntl: Likewise.
21096         * modules/fcntl-h: Likewise.
21097         * modules/gethrxtime: Likewise.
21098         * modules/gettime: Likewise.
21099         * modules/ignore-value: Likewise.
21100         * modules/inet_ntop: Likewise.
21101         * modules/inet_pton: Likewise.
21102         * modules/inttypes: Likewise.
21103         * modules/isnand-nolibm: Likewise.
21104         * modules/isnanf-nolibm: Likewise.
21105         * modules/mbchar: Likewise.
21106         * modules/mbfile: Likewise.
21107         * modules/mbiter: Likewise.
21108         * modules/mbuiter: Likewise.
21109         * modules/netdb: Likewise.
21110         * modules/netinet_in: Likewise.
21111         * modules/nproc: Likewise.
21112         * modules/pagealign_alloc: Likewise.
21113         * modules/poll: Likewise.
21114         * modules/printf-frexp: Likewise.
21115         * modules/pthread: Likewise.
21116         * modules/putenv: Likewise.
21117         * modules/random_r: Likewise.
21118         * modules/relocatable-prog: Likewise.
21119         * modules/search: Likewise.
21120         * modules/select: Likewise.
21121         * modules/selinux-h: Likewise.
21122         * modules/settime: Likewise.
21123         * modules/signal: Likewise.
21124         * modules/size_max: Likewise.
21125         * modules/socklen: Likewise.
21126         * modules/ssize_t: Likewise.
21127         * modules/stdarg: Likewise.
21128         * modules/stdbool: Likewise.
21129         * modules/stddef: Likewise.
21130         * modules/stdint: Likewise.
21131         * modules/stdio: Likewise.
21132         * modules/stdlib: Likewise.
21133         * modules/string: Likewise.
21134         * modules/strings: Likewise.
21135         * modules/sys_file: Likewise.
21136         * modules/sys_ioctl: Likewise.
21137         * modules/sys_select: Likewise.
21138         * modules/sys_socket: Likewise.
21139         * modules/sys_stat: Likewise.
21140         * modules/sys_time: Likewise.
21141         * modules/sys_times: Likewise.
21142         * modules/sys_utsname: Likewise.
21143         * modules/sys_wait: Likewise.
21144         * modules/sysexits: Likewise.
21145         * modules/time: Likewise.
21146         * modules/times: Likewise.
21147         * modules/tmpfile: Likewise.
21148         * modules/trim: Likewise.
21149         * modules/unistd: Likewise.
21150         * modules/wchar: Likewise.
21151         * modules/wctype: Likewise.
21152
21153 2009-09-17  Bruno Haible  <bruno@clisp.org>
21154
21155         Make getdate.y compile on QNX and NetBSD 5 / i386.
21156         * m4/getdate.m4 (gl_GETDATE): Conditionally define
21157         TIME_T_FITS_IN_LONG_INT.
21158         * lib/getdate.y (long_time_t): New type.
21159         (relative_time): Change type of 'seconds' field to long_time_t.
21160         (get_date): Update types of local variables. Check against overflow
21161         during conversion from long_time_t to time_t.
21162         Reported by Matt Kraai <kraai@ftbfs.org>
21163         and Hasso Tepper <hasso@netbsd.org>.
21164
21165 2009-09-17  Bruno Haible  <bruno@clisp.org>
21166
21167         * modules/COPYING: Update copyright years.
21168         * modules/README: Likeiwse.
21169         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
21170         Reported by Ian Beckwith <ianb@erislabs.net>.
21171
21172 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
21173
21174         * users.txt: Update references for gnuit package.
21175
21176 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
21177
21178         * m4/getdelim.m4: Fix typo in copyright line.
21179
21180 2009-09-17  Bruno Haible  <bruno@clisp.org>
21181
21182         * lib/atoll.c: Use the standard header with GPL copyright.
21183         * lib/argz.in.h: Likewise.
21184         * lib/glob.c: Likewise.
21185         * lib/glob-libc.h: Likewise.
21186         * lib/random_r.c: Likewise.
21187         * lib/siglist.h: Likewise.
21188         * lib/strsignal.c: Likewise.
21189         Reported by Ian Beckwith <ianb@erislabs.net>.
21190
21191 2009-09-17  Eric Blake  <ebb9@byu.net>
21192
21193         rmdir: ensure correct dependency order
21194         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
21195
21196 2009-09-17  Bruno Haible  <bruno@clisp.org>
21197
21198         Disable assertion that fails on NetBSD 5 / i386.
21199         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
21200         Reported by Sam Steingold <sds@gnu.org>
21201         and Hasso Tepper <hasso@netbsd.org>.
21202
21203 2009-09-16  Eric Blake  <ebb9@byu.net>
21204
21205         unlinkdir: port to mingw
21206         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
21207         on which no one can unlink a directory.
21208
21209         stdlib: sort witness names
21210         * modules/stdlib (Makefile.am): Sort replacements.
21211         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
21212         * lib/stdlib.in.h: Likewise.
21213
21214         parse-duration-tests: avoid link failure
21215         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
21216         LIBINTL.
21217         Reported by Tom G. Christensen.
21218
21219         openat-tests: ensure unlinkat behaves like rmdir
21220         * tests/test-rmdir.c (main): Factor guts...
21221         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
21222         * modules/rmdir-tests (Files): Ship new file.
21223         * modules/openat-tests: New test.
21224         * tests/test-unlinkat.c: Likewise.
21225
21226         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
21227         * modules/rmdir-errno (Status, Notice): Now obsolete.
21228
21229         rmdir: work around cygwin 1.5.x and mingw bugs
21230         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
21231         * lib/rmdir.c (rmdir): Work around it.
21232         * modules/rmdir (Status, Notice): No longer obsolete.
21233         (Files): Add dos.m4.
21234         (Depends-on): Add unistd.
21235         (configure.ac): Set witnesses.
21236         (License): Relax to LGPLv2+.
21237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
21238         * modules/unistd (Makefile.am): Substitute witnesses.
21239         * lib/unistd.in.h (rmdir): Declare replacement.
21240         * doc/posix-functions/rmdir.texi (rmdir): Document this.
21241         * modules/rmdir-tests: New tests.
21242         * tests/test-rmdir.c: Likewise.
21243
21244 2009-09-15  Eric Blake  <ebb9@byu.net>
21245
21246         fchdir: improve use of replacement functions
21247         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
21248         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
21249         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
21250         REPLACE_CLOSEDIR.
21251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
21252         * modules/sys_stat (Makefile.am): Substitute correct witness.
21253         * modules/dirent (Makefile.am): Likewise.
21254         * modules/unistd (Makefile.am): Likewise.
21255         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
21256         * lib/unistd.in.h (dup): Likewise.
21257         * lib/sys_stat.in.h (fstat): Likewise.
21258
21259         maint: ignore gnulib-tool temp files
21260         * .gitignore: Ignore files created during gnulib-tool --test.
21261
21262 2009-09-13  Jim Meyering  <meyering@redhat.com>
21263
21264         posixtm: don't reject a time that specify "60" as the number of seconds
21265         * lib/posixtm.c (posixtime): The code to reject invalid dates
21266         would also reject a time specified with the .60 suffix.
21267         But POSIX allows that, in order to accommodate leap seconds.
21268         So don't reject it.
21269         (main): Adjust tests accordingly.
21270         * modules/posixtm (Depends-on): Add stpcpy.
21271
21272 2009-09-11  Jim Meyering  <meyering@redhat.com>
21273
21274         announce-gen: include [$release_type] in emitted Subject:
21275         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
21276         e.g., [stable] in the emitted Subject: line.
21277
21278 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21279
21280         Remove obsolete macros from several modules.
21281         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
21282         obsolete Autoconf macros with their modern counterparts.
21283         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
21284         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
21285         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
21286         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
21287         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
21288         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21289         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
21290         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21291         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
21292         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
21293         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
21294         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
21295         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
21296         * m4/sockets.m4 (gl_SOCKETS): Likewise.
21297         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
21298         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
21299         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
21300         * m4/time_r.m4 (gl_TIME_R): Likewise.
21301         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
21302         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
21303         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
21304
21305         Fix copyright header in build-aux scripts.
21306         * build-aux/git-version-gen: Fix copyright header to match GPLv3
21307         recommendation.
21308         * build-aux/ncftpput-ftp: Likewise.
21309         * build-aux/update-copyright: Likewise.
21310
21311 2009-09-09  Eric Blake  <ebb9@byu.net>
21312
21313         test-link: allow Linux choice of errno
21314         * tests/test-link.c (main): Relax test for alternate error.
21315
21316         strndup: fix improper m4 caching
21317         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
21318         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
21319         (gl_PREREQ_STRNDUP): Delete.
21320         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
21321         * modules/string (Makefile.am): Substitute it.
21322         * lib/string.in.h (strndup): Modernize prototype.
21323
21324         getcwd: port to mingw
21325         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
21326         different from the POSIX assumptions made throughout the getcwd
21327         module; fortunately, the mingw getcwd does not need replacement.
21328         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
21329         * modules/getcwd-tests: New test.
21330         * tests/test-getcwd.c: Likewise.
21331
21332         link: fix platform bugs
21333         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
21334         * lib/link.c (link): Work around them.  Fix related mingw bug.
21335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
21336         * modules/unistd (Makefile.am): Substitute it.
21337         * lib/unistd.in.h (link): Declare replacement.
21338         * doc/posix-functions/link.texi (link): Document this.
21339         * modules/link (Depends-on): Add strdup-posix, sys_stat.
21340
21341         test-link: consolidate into single C program, test more cases
21342         * tests/test-link.sh: Delete.
21343         * tests/test-link.c: Test more error conditions.  Exposes bugs on
21344         at least Cygwin and Solaris.
21345         * modules/link-tests (Files): Remove unused file.
21346         (Depends-on): Add errno, sys_stat.
21347         (Makefile.am): Simplify.
21348
21349 2009-09-08  Bruno Haible  <bruno@clisp.org>
21350
21351         Work around towlower, towupper bug on mingw.
21352         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
21353         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
21354         * doc/posix-functions/towlower.texi: Mention the mingw bug.
21355         * doc/posix-functions/towupper.texi: Likewise.
21356         Reported by Eric Blake.
21357
21358 2009-09-08  Jim Meyering  <meyering@redhat.com>
21359
21360         build: don't try to run autoheader if we don't use it
21361         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
21362         is not used in configure.ac.
21363
21364 2009-09-08  Eric Blake  <ebb9@byu.net>
21365
21366         euidaccess: fix compilation error
21367         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
21368
21369         rawmemchr: relax license
21370         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
21371         okay.
21372         Reported by Jim Meyering.
21373
21374         mkfifoat: new module
21375         * modules/mkfifoat: New file.
21376         * lib/mkfifoat.c: Likewise.
21377         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
21378         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
21379         * modules/sys_stat (Makefile.am): Use them.
21380         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
21381         * MODULES.html.sh (File system functions): Mention module.
21382         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
21383         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
21384         * modules/mkfifoat-tests: New test.
21385         * tests/test-mkfifoat.c: Likewise.
21386
21387         strchrnul: relax license
21388         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
21389         okay.
21390         Reported by Jim Meyering.
21391
21392 2009-09-08  Eric Blake  <ebb9@byu.net>
21393
21394         fstatat: fix compilation on Solaris
21395         * lib/fstatat.c (includes): Add fcntl.h.
21396         Reported by Pádraig Brady.
21397
21398 2009-09-07  Eric Blake  <ebb9@byu.net>
21399
21400         rename: modernize replacement
21401         * modules/rename (Depends-on): Add stdio.
21402         (configure.ac): Declare witness.
21403         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
21404         stdio take care of replacement.
21405         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
21406         * modules/stdio (Makefile.am): Substitute them.
21407         * lib/stdio.in.h (rename): Declare replacement.
21408         * lib/rename.c (includes): Allow cross-compilation to non-windows
21409         machines.
21410         * doc/posix-functions/rename.texi (rename): Improve
21411         documentation.
21412
21413         stdio: sort witness names
21414         * modules/stdio (Makefile.am): Sort replacements.
21415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21416         * lib/stdio.in.h: Likewise.
21417
21418         getcwd: minor cleanups
21419         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
21420         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
21421
21422         openat: provide more convenience names
21423         * modules/faccessat (configure.ac): Add C witness.
21424         * lib/unistd.in.h (readlinkat): Fix typo.
21425         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
21426         convenience wrappers.
21427         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
21428         wrappers in syntax checks.
21429
21430 2009-09-06  Eric Blake  <ebb9@byu.net>
21431
21432         doc: fix comments in recent patches
21433         * lib/faccessat.c: Mention correct function.
21434         * lib/fchmodat.c: Likewise.
21435         * lib/fchownat.c: Likewise.
21436         * lib/symlinkat.c: Likewise.
21437         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
21438         constants.
21439
21440         faccessat, symlinkat: continue cleanup of previous patch
21441         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
21442         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
21443         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
21444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
21445         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
21446         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
21447         set.
21448
21449 2009-09-06  Bruno Haible  <bruno@clisp.org>
21450
21451         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
21452         (fstatat): Declare if GNULIB_FSTATAT is set.
21453         (mkdirat): Declare if GNULIB_MKDIRAT is set.
21454         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
21455         (unlinkat): Declare if GNULIB_UNLINKAT is set.
21456         * modules/fcntl-h (Files): Remove m4/openat.m4.
21457         * modules/sys_stat (Files): Remove m4/openat.m4.
21458         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
21459         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
21460         * modules/unistd (Files): Remove m4/openat.m4.
21461         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
21462         GNULIB_OPENAT.
21463         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
21464         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
21465         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
21466         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
21467         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
21468         gl_OPENAT_DEFAULTS.
21469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
21470         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
21471         Don't require gl_OPENAT_DEFAULTS.
21472         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
21473         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
21474         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
21475         (gl_OPENAT_DEFAULTS): Remove macro.
21476
21477 2009-09-06  Bruno Haible  <bruno@clisp.org>
21478
21479         * modules/openat (configure.ac): Remove unneeded witness.
21480
21481 2009-09-06  Bruno Haible  <bruno@clisp.org>
21482
21483         Set errno to ENOSYS when a function is entirely unsupported.
21484         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
21485         EOPNOTSUPP.
21486         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
21487         * modules/chown (Depends-on): Remove errno.
21488
21489 2009-09-06  Bruno Haible  <bruno@clisp.org>
21490
21491         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
21492
21493 2009-09-06  Bruno Haible  <bruno@clisp.org>
21494
21495         * lib/sys_stat.in.h: Fix preprocessor command indentation.
21496
21497 2009-09-06  Ben Pfaff  <blp@gnu.org>
21498             Bruno Haible  <bruno@clisp.org>
21499
21500         Work around a glibc bug in strtok_r.
21501         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
21502         Undefine if UNDEFINE_STRTOK_R is set.
21503         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
21504         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
21505         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
21506         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
21507         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
21508         UNDEFINE_STRTOK_R.
21509         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
21510
21511 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
21512
21513         exclude: minor fix
21514         * lib/exclude.c: Include wctype.h
21515
21516 2009-09-06  Akim Demaille  <demaille@gostai.com>
21517
21518         bootstrap: improve error message
21519         * build-aux/bootstrap (find_tool): Upon failure, report the list
21520         of candidates.
21521         Honor the initial value of the envvar.
21522
21523 2009-09-05  Eric Blake  <ebb9@byu.net>
21524
21525         symlinkat: new module
21526         * modules/symlinkat: New file.
21527         * lib/symlinkat.c: Likewise.
21528         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
21529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
21530         * modules/unistd (Makefile.am): Use them.
21531         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
21532         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
21533         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
21534         * MODULES.html.sh (File system functions): Mention module.
21535         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21536         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
21537         * modules/symlinkat-tests: New test.
21538         * tests/test-symlinkat.c: Likewise.
21539
21540         test-openat-safer: add more checks
21541         * tests/test-openat-safer.c (main): Check more code paths.
21542
21543 2009-09-05  Jim Meyering  <meyering@redhat.com>
21544
21545         syntax-check: detect unnecessary inclusion of openat.h
21546         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
21547
21548 2009-09-05  Bruno Haible  <bruno@clisp.org>
21549
21550         Support towlower, towupper.
21551         * doc/posix-functions/towlower.texi: Mention module wctype.
21552         * doc/posix-functions/towupper.texi: Likewise.
21553         * lib/wctype.in.h (towlower, towupper): New functions.
21554         * tests/test-wctype.c: Include stdio.h, stdlib.h.
21555         (ASSERT): New macro.
21556         (e): New variable.
21557         (main): Test also towlower, towupper. Test WEOF argument.
21558         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21559
21560 2009-09-05  Bruno Haible  <bruno@clisp.org>
21561
21562         Fix conversion behaviour when the input is invalid.
21563         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
21564         mark occurring in first pass of indirect conversion.
21565         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
21566         input.
21567         Found by clang's static analyzer.
21568
21569 2009-09-05  Bruno Haible  <bruno@clisp.org>
21570
21571         * tests/test-striconveh.c (main): Test indirect conversion on platforms
21572         where direct conversion is possible.
21573
21574 2009-09-04  Eric Blake  <ebb9@byu.net>
21575
21576         openat: fail with ENOENT on empty name
21577         * lib/openat-proc.c (openat_proc_name): Special-case the empty
21578         buffer.
21579
21580         link-follow: fix logic bug in prior patch
21581         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
21582         reversed sense of yes and no in prior patch.  Avoid confusing
21583         compilation failure with desired semantics.
21584
21585         link-follow: accomodate mingw and cross-compilation
21586         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
21587         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
21588         cross-compilation results to -1, to make linkat easier to
21589         implement when cross-compiling.  Trivially support mingw.
21590         * modules/link-follow (configure.ac): Call new name.
21591         * NEWS: Mention this.
21592
21593 2009-09-03  Eric Blake  <ebb9@byu.net>
21594
21595         faccessat: compile replacement
21596         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
21597         needed.
21598
21599         fts: fix compilation error
21600         * lib/fts.c (includes): Re-add "openat.h", for
21601         openat_needs_fchdir.
21602
21603         faccessat: new module
21604         * modules/faccessat: New file.
21605         * lib/faccessat.c: Likewise.
21606         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
21607         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21608         * modules/unistd (Makefile.am): Use it.
21609         * lib/unistd.in.h (faccessat): Declare it.
21610         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
21611         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
21612         * MODULES.html.sh (File system functions): Mention it.
21613         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
21614         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
21615
21616         euidaccess: prefer POSIX over non-standard implementation
21617         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
21618         * lib/euidaccess.c (euidaccess): Use it if available.
21619
21620         openat: make template easier to use
21621         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
21622         AT_FUNC_F2 to be undefined.
21623         (VALIDATE_FLAG): New macro; use it to reject bad flags.
21624         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
21625         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
21626         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
21627         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
21628         Likewise.
21629         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
21630         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
21631         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
21632         Likewise.
21633
21634         openat: declare in POSIX headers
21635         * NEWS: Mention this.
21636         * modules/openat (configure.ac): Declare witnesses.
21637         (Depends-on): Add fcntl-h, sys_stat, unistd.
21638         (Include): Mention correct headers.
21639         * modules/fcntl-h (Depends-on): Add link-warning.
21640         (Files): Add openat.m4.
21641         (Makefile.am): Substitute witnesses.
21642         * modules/sys_stat (Files, Makefile.am): Likewise.
21643         * modules/unistd (Files, Makefile.am): Likewise.
21644         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
21645         (gl_OPENAT_DEFAULTS): New macro.
21646         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
21647         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
21648         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
21649         (SYS_STAT_H): Remove unused variable.
21650         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
21651         * lib/fcntl--.h (includes): Remove unneeded header.
21652         * lib/openat-safer.c (includes): Likewise.
21653         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
21654         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
21655         appropriate headers.
21656         (__OPENAT_PREFIX): Delete.
21657         * lib/fcntl.in.h (openat): Provide declaration.
21658         (AT_FDCWD): Fix Solaris bug.
21659         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
21660         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
21661         * lib/fchmodat.c (includes):  Adjust to find declaration.
21662         * lib/fchownat.c (includes): Likewise.
21663         * lib/mkdirat.c (includes): Likewise.
21664         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
21665         still visible.
21666
21667 2009-09-02  Eric Blake  <ebb9@byu.net>
21668
21669         errno: use consistently
21670         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
21671         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
21672         * lib/canonicalize.c (ELOOP): Likewise.
21673         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
21674         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
21675         * lib/lchown.c (EOPNOTSUPP): Likewise.
21676         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
21677         * lib/savewd.c (ESTALE): Likewise.
21678         * lib/settime.c (ENOSYS): Likewise.
21679         * lib/utimens.c (ENOSYS): Likewise.
21680         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
21681         * lib/chdir-safer.c (ELOOP): Likewise.
21682         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
21683         * modules/c-stack (Depends-on): Add errno.
21684         * modules/canonicalize (Depends-on): Likewise.
21685         * modules/chdir-safer (Depends-on): Likewise.
21686         * modules/fdopendir (Depends-on): Likewise.
21687         * modules/inet_ntop (Depends-on): Likewise.
21688         * modules/inet_pton (Depends-on): Likewise.
21689         * modules/lchown (Depends-on): Likewise.
21690         * modules/openat (Depends-on): Likewise.
21691         * modules/savewd (Depends-on): Likewise.
21692         * modules/settime (Depends-on): Likewise.
21693         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
21694
21695         fts: avoid leaking fds
21696         * modules/fts (Depends-on): Add cloexec.
21697         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
21698         flag.
21699
21700         fts: make directory fds more robust
21701         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
21702         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
21703
21704         backupfile, chdir-long, fts, savedir: make safer
21705         * lib/backupfile.c (includes): Use "dirent--.h", since
21706         numbered_backup can write to stderr during readdir.
21707         * lib/savedir.c (includes): Likewise.
21708         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
21709         emulation can write to stderr on failure.
21710         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
21711         * lib/getcwd.c: Document why opendir_safer is unused.
21712         * lib/glob.c: Likewise.
21713         * lib/scandir.c: Likewise.
21714         * lib/openat-proc.c: Likewise, for open_safer.
21715         * modules/backupfile (Depends-on): Add dirent-safer.
21716         * modules/savedir (Depends-on): Likewise.
21717         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
21718         * modules/chdir-long (Depends-on): Add openat-safer.
21719
21720         openat-safer: new module
21721         * modules/openat-safer: New file.
21722         * lib/openat-safer.c: Likewise.
21723         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
21724         * lib/fcntl-safer.h (openat_safer): Declare.
21725         * lib/fcntl--.h (openat): Override.
21726         * MODULES.html.sh (File descriptor based I/O): Mention it.
21727         * lib/openat.h: Add double-inclusion guards.
21728         * lib/openat.c (includes): Only include "fcntl-safer.h", not
21729         "fcntl--.h", so we can implement openat.
21730         * modules/openat-safer-tests: New test.
21731         * tests/test-openat-safer.c: New file.
21732
21733         dirent-safer: new module
21734         * modules/dirent-safer: New file.
21735         * lib/dirent--.h: Likewise.
21736         * lib/dirent-safer.h: Likewise.
21737         * lib/opendir-safer.c: Likewise.
21738         * m4/dirent-safer.m4: Likewise.
21739         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
21740         * modules/dirent-safer-tests: New test.
21741         * tests/test-dirent-safer.c: New file.
21742         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
21743
21744         fdopendir: optimize on mingw
21745         * lib/unistd.in.h (_gl_directory_name): New prototype.
21746         * lib/fchdir.c (_gl_directory_name): Implement it.
21747         (fchdir): Use it to simplify implementation.
21748         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
21749         fchdir, when available, to avoid calling [f]chdir().
21750
21751         fdopendir: split into its own module
21752         * lib/openat.c (fdopendir): Move...
21753         * lib/fdopendir.c: ...into new file.
21754         * modules/fdopendir: New module.
21755         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
21756         * modules/openat (Depends-on): Add fdopendir.
21757         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
21758         fdopendir here.
21759         * modules/savedir (Depends-on): Only need fdopendir, not full
21760         openat.
21761         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
21762         * lib/openat.h (fdopendir): Drop prototype.
21763         * lib/dirent.in.h (fdopendir): Provide prototype.
21764         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
21765         * modules/dirent (Makefile.am): Substitute them.
21766         * MODULES.html.sh (File system functions): Mention it.
21767         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
21768         * modules/fdopendir-tests: New file.
21769         * tests/test-fdopendir.c: Likewise.
21770
21771         fchdir: use more consistent macro convention
21772         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
21773         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
21774         REPLACE_FCHDIR, rather than relying on config.h macros.
21775         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
21776         inside a single make-time REPLACE_FCHDIR block, rather than using
21777         the config.h FCHDIR_REPLACEMENT.
21778         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
21779         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
21780         Manage fstat replacement.
21781         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
21782         REPLACE_FCHDIR.
21783         * modules/sys_stat (Files): Add m4/unistd_h.m4.
21784         (Makefile.am): Substitute REPLACE_FCHDIR.
21785         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
21786         FCHDIR_REPLACEMENT.
21787         * lib/dup-safer.c (dup_safer): Likewise.
21788         * lib/dup2.c (rpl_dup2): Likewise.
21789         * lib/dup3.c (rpl_dup3): Likewise.
21790         * lib/open.c (rpl_open): Likewise.
21791
21792         fchdir: simplify error handling, and support dup3
21793         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
21794         stdbool, malloc-posix, realloc-posix.
21795         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
21796         (ensure_dirs_slot): Return false on allocation failure.
21797         (rpl_dup2): Delete.
21798         (_gl_register_dup): New function.
21799         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
21800         (_gl_register_fd): Close fd on allocation failure.
21801         * lib/fcntl.in.h (_gl_register_fd): Update signature.
21802         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
21803         prototype.
21804         (rpl_dup2_fchdir): Delete prototype.
21805         * lib/open.c (open): Update caller.
21806         * lib/dup2.c (dup2): Track fchdir metadata.
21807         * lib/dup3.c (dup3): Likewise.
21808         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
21809         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
21810
21811 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21812
21813         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
21814         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
21815         don't pass arguments to AC_OUTPUT.
21816
21817 2009-09-02  Bruno Haible  <bruno@clisp.org>
21818
21819         * modules/mkdtemp (License): Relicense under LGPLv2+.
21820         Reported by Paolo Bonzini.
21821
21822 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21823
21824         Replace uses of obsolete autoconf macros in Jim's modules.
21825         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
21826         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
21827         can evoke a warning from autoconf when run with -Wobsolete
21828         enabled.  They were declared obsolete for good reasons (see
21829         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
21830         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
21831         should not continue using the deprecated macros.
21832         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
21833         obsolete Autoconf macros with modern counterparts.
21834         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
21835         * m4/dos.m4 (gl_AC_DOS): Likewise.
21836         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
21837         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
21838         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
21839         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
21840         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
21841         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
21842         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
21843         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
21844         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
21845         Likewise.
21846         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
21847         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
21848         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
21849         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
21850         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
21851         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
21852
21853 2009-09-01  Eric Blake  <ebb9@byu.net>
21854
21855         fchdir: fix off-by-one bug in previous patch
21856         * lib/fchdir.c (rpl_fstat): Use correct bounds.
21857         (_gl_unregister_fd): Delete useless if.
21858
21859 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
21860
21861         maint.mk: sort the list of syntax-check rules
21862         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
21863         easier to get a sense of progress when the rules are run sequentially
21864         and take a long time.
21865
21866 2009-09-01  Simon Josefsson  <simon@josefsson.org>
21867
21868         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
21869         * modules/netinet_in: Likewise.
21870         * modules/sys_file: Likewise.
21871         * modules/sys_ioctl: Likewise.
21872         * modules/sys_select: Likewise.
21873         * modules/sys_socket: Likewise.
21874         * modules/sys_stat: Likewise.
21875         * modules/sys_time: Likewise.
21876         * modules/sys_times: Likewise.
21877         * modules/sys_utsname: Likewise.
21878         * modules/sys_wait: Likewise.
21879
21880 2009-09-01  Jim Meyering  <meyering@redhat.com>
21881
21882         fts: help ensure that return values are not ignored
21883         * lib/fts_.h (__GNUC_PREREQ): Define.
21884         (__attribute_warn_unused_result__): Define.
21885         (fts_children, fts_close, fts_open, fts_read): Declare with
21886         __attribute_warn_unused_result__.
21887
21888         fts: fts_close now fails also when closing a dir file descriptor fails
21889         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
21890         and propagate to caller, along with errno.
21891
21892         announce-gen: correct formatting in --help output
21893         * build-aux/announce-gen (usage): Move the one-line description in
21894         --help output "up", to where it belongs, just after Usage:.
21895
21896 2009-08-31  Eric Blake  <ebb9@byu.net>
21897
21898         fchdir: port to mingw
21899         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
21900         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
21901         opened, then use a substitute.
21902         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
21903         replacement.
21904         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
21905         (_gl_register_fd): No need to check stat if open already filters
21906         all directories.
21907         (fchdir): Fix error condition to match POSIX.
21908         * modules/fchdir (Depends-on): Add sys_stat.
21909         * doc/posix-functions/open.texi (open): Document the limitation.
21910         * modules/fchdir-tests: New file.
21911         * tests/test-fchdir.c: Likewise.
21912
21913         canonicalize: allow cross-testing from cygwin to mingw
21914         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
21915         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
21916         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
21917         Likewise.
21918         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
21919         target does not support symlinks.
21920         * tests/test-canonicalize-lgpl.sh: Likewise.
21921
21922         chown: avoid compilation warning on mingw
21923         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
21924         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
21925         mingw.
21926         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
21927         * modules/chown (Depends-on): Add errno.
21928
21929 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
21930
21931         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
21932         command.
21933
21934 2009-08-31  Jim Meyering  <meyering@redhat.com>
21935
21936         canonicalize: remove useless initialization
21937         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
21938         initialization of local, "end".
21939
21940 2009-08-30  Bruno Haible  <bruno@clisp.org>
21941
21942         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
21943         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
21944         ENOSYS.
21945
21946 2009-08-30  Bruno Haible  <bruno@clisp.org>
21947
21948         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
21949         /usr/xpg4/bin/tr when it exists.
21950         * tests/test-pipe-filter-gi1.sh: Likewise.
21951
21952 2009-08-30  Bruno Haible  <bruno@clisp.org>
21953
21954         Work around deficient /usr/bin/id program on Solaris.
21955         * tests/test-file-has-acl.sh (ID): New variable.
21956         * tests/test-set-mode-acl.sh (ID): Likewise.
21957         * tests/test-copy-acl.sh (ID): Likewise.
21958         * tests/test-copy-file.sh (ID): Likewise.
21959
21960 2009-08-30  Bruno Haible  <bruno@clisp.org>
21961
21962         New module 'xstriconveh'.
21963         * lib/xstriconveh.h: New file.
21964         * lib/xstriconveh.c: New file.
21965         * modules/xstriconveh: New file.
21966
21967 2009-08-30  Bruno Haible  <bruno@clisp.org>
21968
21969         Make it easier to use mem_cd_iconveh.
21970         * lib/striconveh.h (iconveh_t): New type.
21971         (iconveh_open, iconveh_close): New declarations.
21972         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
21973         with a single 'const iconveh_t *' argument.
21974         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
21975         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
21976         with a single 'const iconveh_t *' argument.
21977         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
21978         * tests/test-striconveh.c (main): Update.
21979         * NEWS: Mention the change.
21980
21981 2009-08-30  Bruno Haible  <bruno@clisp.org>
21982
21983         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
21984         problem.
21985
21986 2009-08-30  Bruno Haible  <bruno@clisp.org>
21987
21988         Work around iconv_open problem on Solaris.
21989         * lib/iconv_open-solaris.gperf: New file.
21990         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
21991         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
21992         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
21993         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
21994         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
21995         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
21996
21997 2009-08-29  Jim Meyering  <meyering@redhat.com>
21998
21999         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
22000         * top/maint.mk (cvs-check): Remove target; it was just an alias
22001         to the better-named vc-diff-check.
22002         (maintainer-distcheck): Remove rule.  It was used only from
22003         the (alpha/beta/major) target, and all of its commands but one
22004         were coreutils-specific.
22005         (vc-dist): Remove rule.
22006         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
22007         Run vc-diff-check, not vc-dist.
22008         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
22009
22010 2009-08-27  Bruno Haible  <bruno@clisp.org>
22011
22012         * tests/test-bitrotate.c (main): Remove test that uses a shift count
22013         of 0.
22014
22015 2009-08-27  Bruno Haible  <bruno@clisp.org>
22016
22017         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
22018         compilers.
22019         * doc/func.texi: Document the SunPRO C bug.
22020
22021 2009-08-27  Bruno Haible  <bruno@clisp.org>
22022
22023         Fix link error on Solaris.
22024         * tests/test-parse-duration.c (xstrdup): Remove function.
22025
22026 2009-08-26  Pádraig Brady  <P@draigbrady.com>
22027
22028         ignore-value: handle pointer types, too
22029         * lib/ignore-value.h (__attribute__): Remove definition.
22030         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
22031         of a more concise and more-often effective "(void) i" statement.
22032         (ignore_ptr): New function to suppress warnings from functions that
22033         return pointers, and to make it explicit that one function doesn't
22034         handle all cases.
22035
22036 2009-08-25  Bruno Haible  <bruno@clisp.org>
22037
22038         dup2: work around a Linux bug.
22039         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
22040         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
22041         * doc/posix-functions/dup2.texi: Mention the Linux bug.
22042         Reported by Simon Josefsson.
22043
22044 2009-08-25  Jim Meyering  <meyering@redhat.com>
22045
22046         libguestfs uses gnulib
22047         * users.txt: Add libguestfs.
22048
22049 2009-08-24  Eric Blake  <ebb9@byu.net>
22050
22051         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
22052         * lib/pipe2.c (includes): Add binary-io.h.
22053         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
22054
22055 2009-08-24  Bruno Haible  <bruno@clisp.org>
22056
22057         Tolerate declared but missing accept4 syscall.
22058         * lib/accept4.c (accept4): Invoke original accept4 function first, if
22059         available.
22060         * lib/sys_socket.in.h (accept4): If the function is already present,
22061         override it.
22062         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
22063         * modules/accept4 (Makefile.am): Compile accept4.c always.
22064         Reported by Paolo Bonzini and Eric Blake.
22065
22066 2009-08-23  Bruno Haible  <bruno@clisp.org>
22067
22068         New module 'accept4'.
22069         * lib/sys_socket.in.h (accept4): New declaration.
22070         * lib/accept4.c: New file.
22071         * m4/accept4.m4: New file.
22072         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22073         GNULIB_ACCEPT4, HAVE_ACCEPT4.
22074         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
22075         HAVE_ACCEPT4.
22076         * modules/accept4: New file.
22077         * doc/glibc-functions/accept4.texi: Mention the new module.
22078
22079 2009-08-24  Jim Meyering  <meyering@redhat.com>
22080
22081         progname: also set global program_invocation_name, when possible
22082         Before this change, a libtool-enabled program that calls glibc's
22083         error function would report the program name as
22084         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
22085         * modules/progname (configure.ac): Check for a declaration of
22086         program_invocation_name.
22087         * lib/progname.c:  Include <errno.h>.
22088         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
22089         Set program_invocation_name.
22090
22091 2009-08-23  Bruno Haible  <bruno@clisp.org>
22092
22093         * lib/dup3.c: Include <string.h>.
22094
22095 2009-08-23  Bruno Haible  <bruno@clisp.org>
22096
22097         * lib/dup3.c (dup3): Test only once whether the system actually exists.
22098         * lib/pipe2.c (pipe2): Likewise.
22099         Suggested by Eric Blake.
22100
22101 2009-08-23  Bruno Haible  <bruno@clisp.org>
22102
22103         Tolerate declared but missing dup3 syscall.
22104         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
22105         * lib/unistd.in.h (dup3): If the function is already present,
22106         override it.
22107         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
22108         * modules/dup3 (Makefile.am): Compile dup3.c always.
22109         Reported by Paolo Bonzini.
22110
22111 2009-08-23  Bruno Haible  <bruno@clisp.org>
22112
22113         Tolerate declared but missing pipe2 syscall.
22114         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
22115         available.
22116         * lib/unistd.in.h (pipe2): If the function is already present,
22117         override it.
22118         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
22119         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
22120         Reported by Paolo Bonzini.
22121
22122 2009-08-23  Bruno Haible  <bruno@clisp.org>
22123
22124         * lib/pipe2.c (pipe2): Move #ifs inside function.
22125
22126 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
22127
22128         quotearg: document limitations of quote_these_too
22129         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
22130         those limitations are created.
22131         * lib/quotearg.h (set_char_quoting): Document that digits and
22132         letters that are special after backslash are not permitted.
22133         (quotearg_char): Cross-reference set_char_quoting documentation.
22134
22135 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
22136
22137         quotearg: implement custom_quoting_style
22138         * lib/quotearg.c: (struct quoting_options): Add left_quote and
22139         right_quote fields.
22140         (set_custom_quoting): New public function.
22141         (quotearg_buffer_restyled): Add left_quote and right_quote
22142         arguments, handle them very much like locale quoting, and update
22143         all uses.
22144         (quotearg_n_custom): New public function.
22145         (quotearg_n_custom_mem): New public function.
22146         (quotearg_custom): New public function.
22147         (quotearg_custom_mem): New public function.
22148         * lib/quotearg.h: Prototype and document new public functions.
22149         (enum quoting_style): For escape_quoting_style and
22150         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
22151         ignored even though they're otherwise like c_quoting_style.
22152         Add custom_quoting_style member and document with comparison to
22153         clocale_quoting_style.
22154         * tests/test-quotearg.c (custom_quotes): New array.
22155         (custom_results): New array.
22156         (main): Extend to test custom quoting.
22157
22158 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
22159
22160         quotearg: fix right quote escaping when it's in quote_these_too
22161         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
22162         quote, be sure to prepend only one backslash.
22163         * tests/test-quotearg.c (use_quote_double_quotes): New function.
22164         (main): Test it.
22165
22166 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
22167
22168         quotearg-tests: test escaping of embedded locale quotes
22169         * tests/test-quotearg.c (struct result_strings): Add member for
22170         new input.
22171         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
22172         (inputs): Add new input.
22173         (results_g): Add expected results.
22174         (flag_results): Likewise.
22175         (locale_results): Likewise.
22176         (compare_strings): Check those.
22177
22178 2009-08-23  Bruno Haible  <bruno@clisp.org>
22179
22180         Tests for module 'dup3'.
22181         * modules/dup3-tests: New file.
22182         * tests/test-dup3.c: New file.
22183
22184         New module 'dup3'.
22185         * lib/unistd.in.h (dup3): New declaration.
22186         * lib/dup3.c: New file.
22187         * m4/dup3.m4: New file.
22188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
22189         HAVE_DUP3.
22190         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
22191         * modules/dup3: New file.
22192         * doc/glibc-functions/dup3.texi: Mention the new module.
22193
22194 2009-08-23  Bruno Haible  <bruno@clisp.org>
22195
22196         Tweak the dup2 test.
22197         * tests/test-dup2.c (main): Create the test file empty. Verify that an
22198         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
22199         the test file is still empty. Fix argument order of lseek.
22200
22201 2009-08-23  Bruno Haible  <bruno@clisp.org>
22202
22203         Avoid test link errors when the modules getopt-gnu, gettext are used.
22204         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
22205         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22206
22207 2009-08-23  Bruno Haible  <bruno@clisp.org>
22208
22209         Fix getdtablesize() on mingw.
22210         * lib/getdtablesize.c (getdtablesize): Implement differently.
22211         * lib/unistd.in.h (getdtablesize): Improve comment.
22212
22213 2009-08-23  Bruno Haible  <bruno@clisp.org>
22214
22215         New module 'mkostemp'.
22216         Based on Ulrich Drepper's 2007-08-10 change in glibc.
22217         * lib/stdlib.in.h (mksotemp): New declaration.
22218         * lib/mkostemp.c: New file, from glibc with modifications.
22219         * lib/tempname.h (GT_FILE): Remove outdated comment.
22220         (gen_tempname): Add flags argument.
22221         * lib/tempname.c (__GT_BIGFILE): Remove macro.
22222         (__GT_FILE): Map to 1.
22223         (small_open, large_open): Remove macros.
22224         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
22225         * lib/mkstemp.c (mkstemp): Update.
22226         * lib/mkdtemp.c (mkdtemp): Likewise.
22227         * m4/mkostemp.m4: New file.
22228         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
22229         HAVE_MKOSTEMP.
22230         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
22231         HAVE_MKOSTEMP.
22232         * modules/mkostemp: New file, based on modules/mkstemp.
22233         * doc/glibc-functions/mkostemp.texi: Mention the new module.
22234         * NEWS: Mention the change.
22235
22236 2009-08-23  Bruno Haible  <bruno@clisp.org>
22237
22238         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
22239         Reported by Eric Blake.
22240
22241 2009-08-23  Bruno Haible  <bruno@clisp.org>
22242
22243         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
22244         Reported by Eric Blake.
22245
22246 2009-08-23  Bruno Haible  <bruno@clisp.org>
22247
22248         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
22249         * modules/pipe2 (Depends-on): Likewise.
22250
22251 2009-08-23  Eric Blake  <ebb9@byu.net>
22252
22253         fcntl-h: add O_TTY_INIT support
22254         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
22255         * tests/test-fcntl-h.c (o): Test it.
22256         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22257
22258         fcntl-h: rename from fcntl, in preparation for fcntl(2)
22259         * modules/fcntl: Move <fcntl.h> header replacement...
22260         * modules/fcntl-h: ...to new name, so as not to collide with
22261         like-named function.
22262         * tests/test-fcntl.c: Rename...
22263         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
22264         * modules/fcntl-tests: Rename...
22265         * modules/fcntl-h-tests: ...to this.  Update test file name.
22266         * modules/chdir-long (Depends-on): Update clients.
22267         * modules/chdir-safer (Depends-on): Likewise.
22268         * modules/fcntl-safer (Depends-on): Likewise.
22269         * modules/fts (Depends-on): Likewise.
22270         * modules/mkancesdirs (Depends-on): Likewise.
22271         * modules/mkdir-p (Depends-on): Likewise.
22272         * modules/open (Depends-on): Likewise.
22273         * modules/savewd (Depends-on): Likewise.
22274         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
22275         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
22276
22277 2009-08-22  Bruno Haible  <bruno@clisp.org>
22278
22279         * modules/binary-io (License): Relicense under LGPL.
22280         * modules/pipe2 (License): Likewise.
22281
22282 2009-08-22  Bruno Haible  <bruno@clisp.org>
22283
22284         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
22285         return value.
22286         * lib/pipe-filter-gi.c (filter_init): Likewise.
22287         Reported by Eric Blake.
22288
22289 2009-08-22  Bruno Haible  <bruno@clisp.org>
22290
22291         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
22292         * modules/pipe (Depends-on): Add pipe2.
22293
22294 2009-08-22  Bruno Haible  <bruno@clisp.org>
22295
22296         Tests for module 'pipe2'.
22297         * modules/pipe2-tests: New file.
22298         * tests/test-pipe2.c: New file.
22299
22300         New module 'pipe2'.
22301         * lib/unistd.in.h (pipe2): New declaration.
22302         * lib/pipe2.c: New file.
22303         * m4/pipe2.m4: New file.
22304         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
22305         HAVE_PIPE2.
22306         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
22307         * modules/pipe2: New file.
22308         * doc/glibc-functions/pipe2.texi: Mention the new module.
22309
22310 2009-08-22  Bruno Haible  <bruno@clisp.org>
22311
22312         Reference some new glibc functions.
22313         * doc/glibc-functions/accept4.texi: New file.
22314         * doc/glibc-functions/dup3.texi: New file.
22315         * doc/glibc-functions/mkostemp.texi: New file.
22316         * doc/glibc-functions/pipe2.texi: New file.
22317         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
22318         (Glibc sys/socket.h): Refer to accept4.
22319         (Glibc unistd.h): Refer to dup3, pipe2.
22320         Reported by Eric Blake.
22321
22322 2009-08-22  Jim Meyering  <meyering@redhat.com>
22323             Bruno Haible  <bruno@clisp.org>
22324
22325         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
22326         This makes it so packages using automake-1.11's silent-rules option
22327         can print e.g., a single "GEN    configmake.h" line, rather than
22328         the 30+ statements that perform the job.  If you want to see the
22329         actual commands, you can still run "make V=1".
22330         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
22331         so that make output is abbreviated when those variables are defined
22332         appropriately.
22333         * modules/argz: Likewise.
22334         * modules/arpa_inet: Likewise.
22335         * modules/byteswap: Likewise.
22336         * modules/configmake: Likewise.
22337         * modules/dirent: Likewise.
22338         * modules/errno: Likewise.
22339         * modules/fcntl: Likewise.
22340         * modules/float: Likewise.
22341         * modules/fnmatch: Likewise.
22342         * modules/getopt-posix: Likewise.
22343         * modules/glob: Likewise.
22344         * modules/iconv_open: Likewise.
22345         * modules/inttypes: Likewise.
22346         * modules/localcharset: Likewise.
22347         * modules/locale: Likewise.
22348         * modules/math: Likewise.
22349         * modules/netdb: Likewise.
22350         * modules/netinet_in: Likewise.
22351         * modules/poll: Likewise.
22352         * modules/posix_spawnp-tests: Likewise.
22353         * modules/sched: Likewise.
22354         * modules/search: Likewise.
22355         * modules/selinux-h: Likewise.
22356         * modules/signal: Likewise.
22357         * modules/spawn: Likewise.
22358         * modules/stdarg: Likewise.
22359         * modules/stdbool: Likewise.
22360         * modules/stddef: Likewise.
22361         * modules/stdint: Likewise.
22362         * modules/stdio: Likewise.
22363         * modules/stdlib: Likewise.
22364         * modules/string: Likewise.
22365         * modules/strings: Likewise.
22366         * modules/sys_file: Likewise.
22367         * modules/sys_ioctl: Likewise.
22368         * modules/sys_select: Likewise.
22369         * modules/sys_socket: Likewise.
22370         * modules/sys_stat: Likewise.
22371         * modules/sys_time: Likewise.
22372         * modules/sys_times: Likewise.
22373         * modules/sys_utsname: Likewise.
22374         * modules/sys_wait: Likewise.
22375         * modules/sysexits: Likewise.
22376         * modules/time: Likewise.
22377         * modules/unistd: Likewise.
22378         * modules/wchar: Likewise.
22379         * modules/wctype: Likewise.
22380
22381 2009-08-22  Jim Meyering  <meyering@redhat.com>
22382
22383         announce-gen: detect write failure
22384         * build-aux/announce-gen: Add Coda at end.
22385         Remove equivalent-but-more-verbose block at top.
22386
22387 2009-08-19  Akim Demaille  <demaille@gostai.com>
22388
22389         bootstrap: --help to stdout.
22390         * bootstrap (usage): Don't send --help to stderr.
22391         Use a here doc instead of a long string.
22392
22393 2009-08-21  Eric Blake  <ebb9@byu.net>
22394
22395         test-popen-safer: split from test-popen
22396         * tests/test-popen.c (main): Move...
22397         * tests/test-popen.h: ...into new file.
22398         * tests/test-popen-safer2.c: New file.
22399         * modules/popen-tests (Files): Add test-popen.h.
22400         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
22401         Suggested by Bruno Haible.
22402
22403         test-fcntl-safer: split from test-open
22404         * tests/test-open.c (main): Move...
22405         * tests/test-open.h: ...into new file.
22406         * tests/test-fcntl-safer.c: New file.
22407         * modules/open-tests (Files): Add test-open.h.
22408         * modules/fcntl-safer-tests: New file.
22409         Suggested by Bruno Haible.
22410
22411         test-fopen-safer: split from test-fopen
22412         * tests/test-fopen.c (main): Move...
22413         * tests/test-fopen.h: ...into new file.
22414         * tests/test-fopen-safer.c: New file.
22415         * modules/fopen-tests (Files): Add test-fopen.h.
22416         * modules/fopen-safer-tests: New file.
22417         Suggested by Bruno Haible.
22418
22419 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
22420
22421         popen-safer: test O_CLOEXEC at run-time.
22422         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
22423
22424 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
22425
22426         fcntl: move more flags to the header
22427         * lib/cloexec.c: Do not define FD_CLOEXEC here.
22428         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
22429         * lib/fcntl.in.h: Do both things here.
22430
22431 2009-08-21  Jim Meyering  <meyering@redhat.com>
22432
22433         consistently remove $@-t before redirecting to it
22434         * modules/argz: Remove $@-t and $@ before redirecting to the former.
22435         * modules/alloca-opt: Likewise.
22436         * modules/byteswap: Likewise.
22437         * modules/fnmatch: Likewise.
22438         * modules/getopt-posix: Likewise.
22439         * modules/glob: Likewise.
22440         * modules/poll: Likewise.
22441         * modules/posix_spawnp-tests: Likewise.
22442         * modules/sys_socket: Likewise.
22443         * modules/sysexits: Likewise.
22444
22445 2009-08-21  Eric Blake  <ebb9@byu.net>
22446
22447         popen: simplify access to original popen
22448         * lib/popen.c (rpl_popen): No need to worry about popen being a
22449         macro.
22450         Reported by Bruno Haible.
22451
22452 2009-08-20  Eric Blake  <ebb9@byu.net>
22453
22454         build: avoid some compiler warnings
22455         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
22456         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
22457         type.
22458         (new_exclude_segment, excluded_file_pattern_p)
22459         (excluded_file_name_p): Reduce scope.
22460         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
22461         old-style declaration.
22462
22463 2009-08-20  Simon Josefsson  <simon@josefsson.org>
22464
22465         * tests/test-exclude1.sh: Handle Windows EOL.
22466         * tests/test-exclude2.sh: Likewise.
22467         * tests/test-exclude3.sh: Likewise.
22468         * tests/test-exclude4.sh: Likewise.
22469         * tests/test-exclude5.sh: Likewise.
22470         * tests/test-exclude6.sh: Likewise.
22471         * tests/test-exclude7.sh: Likewise.
22472
22473 2009-08-19  Akim Demaille  <demaille@gostai.com>
22474
22475         bootstrap: find sha1sum when named gsha1sum.
22476         * bootstrap (find_tool): New.
22477         ($SHA1SUM): New.
22478         Use it.
22479
22480 2009-08-20  Jim Meyering  <meyering@redhat.com>
22481
22482         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
22483         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
22484         expression that converts "." in a file name to "\." in the resulting
22485         regexp.  Start with a dummy statement, so that prior shell variable
22486         definitions are expanded portably.  Reported by Simon Josefsson.
22487
22488 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
22489
22490         Fix polling for writeability of a screen buffer.
22491         * lib/poll.c: Distinguish input and screen buffers for the
22492         Win32 implementation.
22493         * lib/select.c: Likewise.
22494
22495 2009-08-19  Eric Blake  <ebb9@byu.net>
22496
22497         popen-safer: prevent popen from clobbering std descriptors
22498         * modules/popen-safer: New file.
22499         * lib/popen-safer.c: Likewise.
22500         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
22501         * lib/stdio--.h (popen): Provide override.
22502         * lib/stdio-safer.h (popen_safer): Provide declaration.
22503         * tests/test-popen.c (includes): Partially test this.
22504         * modules/popen-safer-tests: New file, for more tests.
22505         * tests/test-popen-safer.c: Likewise.
22506         * MODULES.html.sh (file stream based Input/Output): Mention it.
22507
22508         tests: test some of the *-safer modules
22509         * modules/fopen-safer (Depends-on): Add fopen.
22510         * modules/fcntl-safer (Depends-on): Add fcntl.
22511         * modules/stdlib-safer (Depends-on): Add stdlib.
22512         (configure.ac): Set indicator.
22513         * modules/unistd-safer (configure.ac): Likewise.
22514         * modules/tmpfile-safer (configure.ac): Likewise.
22515         (Depends-on): Add tmpfile.
22516         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
22517         active.
22518         * tests/test-fopen.c (includes): Test safer versions when they are
22519         in use.
22520         * tests/test-open.c (includes): Likewise.
22521
22522         popen: fix cygwin 1.5 bug when stdin closed
22523         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
22524         * modules/popen: New file.
22525         * modules/popen-tests: Likewise.
22526         * tests/test-popen.c: Likewise.
22527         * m4/popen.m4: Likewise.
22528         * lib/popen.c: Likewise.
22529         * lib/stdio.in.h (popen): New declaration.
22530         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
22531         * modules/stdio (Makefile.am): Likewise.
22532         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
22533
22534 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
22535
22536         maint.mk: give full control over update-copyright exclusions
22537         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
22538         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
22539         (update-copyright): Don't force inclusion of top-level
22540         ChangeLog.  Don't force exclusion of all COPYING files, but make
22541         them the default exclusion instead.
22542
22543 2009-08-16  Bruno Haible  <bruno@clisp.org>
22544
22545         Fix test failures on Solaris 10.
22546         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
22547         tests when Solaris iconv() is used.
22548         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
22549         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
22550         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
22551         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
22552         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
22553
22554 2009-08-16  Bruno Haible  <bruno@clisp.org>
22555
22556         Fix test failures on Solaris 10.
22557         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
22558         'tr' program and pass it as first argument.
22559         * tests/test-pipe-filter-gi1.sh: Likewise.
22560         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
22561         program as first argument.
22562         * tests/test-pipe-filter-gi1.c (main): Likewise.
22563
22564 2009-08-16  Eric Blake  <ebb9@byu.net>
22565
22566         fpurge: fix previous commits
22567         * modules/fpurge (Makefile.am): Make replacement conditional,
22568         partially reverting 2007-04-29 change; missed in previous
22569         attempt.
22570         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
22571         is missing.
22572
22573 2009-08-16  Bruno Haible  <bruno@clisp.org>
22574
22575         Clarify fpurge's effect on the file position.
22576         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
22577         * tests/test-fpurge.c (main): Make a second pass for checking the file
22578         position.
22579
22580 2009-08-16  Bruno Haible  <bruno@clisp.org>
22581
22582         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
22583         declaration of fpurge is missing.
22584         * tests/test-fpurge.c (main): Check that the file has not more contents
22585         than expected. Close the file before removing it.
22586
22587 2009-08-15  Eric Blake  <ebb9@byu.net>
22588
22589         fpurge: don't wrap working cygwin implementation
22590         * lib/fpurge.c (fpurge): Fix comment typo.
22591         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
22592         1.7 to avoid replacement.
22593         * tests/test-fpurge.c (main): Enhance test.
22594
22595 2009-08-15  Eric Blake  <ebb9@byu.net>
22596         and Jim Meyering  <meyering@redhat.com>
22597
22598         test-update-copyright: skip if perl is insufficient
22599         * tests/test-update-copyright.sh: Failure to run maintainer tool
22600         should not cause testsuite failure on cygwin 1.5.
22601
22602 2009-08-14  Eric Blake  <ebb9@byu.net>
22603
22604         doc: mention more functions added in cygwin 1.7.0
22605         * doc/posix-headers/limits.texi (limits.h): Update for recent
22606         cygwin additions.
22607         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
22608         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
22609         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
22610         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
22611         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
22612
22613 2009-08-14  Eric Blake  <ebb9@byu.net>
22614
22615         maint.mk: simplify update-copyright rule
22616         * top/maint.mk (update-copyright-local): Delete, and document how
22617         to do it in cfg.mk instead.
22618         (update-copyright-exclude-regexp): Delete, and document how to do
22619         it in .x-update-copyright instead.
22620         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
22621         exclude ChangeLog.
22622
22623 2009-08-14  Bruno Haible  <bruno@clisp.org>
22624
22625         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
22626
22627 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
22628
22629         maint.mk: support update-copyright-env
22630         * top/maint.mk (update-copyright-env): Define place-holder.
22631         (update-copyright): Expand $(update-copyright-env) before
22632         invoking update-copyright.
22633
22634 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
22635
22636         update-copyright: implement forced reformatting
22637         * build-aux/update-copyright: Implement and document
22638         UPDATE_COPYRIGHT_FORCE.
22639         * tests/test-update-copyright.sh: Test it.
22640
22641 2009-08-14  Eric Blake  <ebb9@byu.net>
22642         and Bruno Haible  <bruno@clisp.org>
22643
22644         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
22645         * tests/test-locale.c: Revert previous patch related to NULL.
22646         * tests/test-stdio.c: Likewise.
22647         * tests/test-stdlib.c: Likewise.
22648         * tests/test-string.c: Likewise.
22649         * tests/test-unistd.c: Likewise.
22650         * modules/time-tests (Depends-on): Add verify.
22651         * modules/wchar-tests (Depends-on): Likewise.
22652         * tests/test-time.c: Test for NULL compliance.
22653         * tests/test-wchar.c: Likewise.
22654         * modules/locale (Depends-on): Add stddef.
22655         * modules/stdio (Depends-on): Likewise.
22656         * modules/stdlib (Depends-on): Likewise.
22657         * modules/string (Depends-on): Likewise.
22658         * modules/time (Depends-on): Likewise.
22659         * modules/unistd (Depends-on): Likewise.
22660         * modules/wchar (Depends-on): Likewise.
22661         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
22662         * lib/stdlib.in.h (includes): Likewise.
22663         * lib/string.in.h (includes): Likewise.
22664         * lib/time.in.h (includes): Likewise.
22665         * lib/unistd.in.h (includes): Likewise.
22666         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
22667         replaced.
22668         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22669         * m4/stddef_h.m4: New file.
22670         * modules/stddef: Likewise.
22671         * lib/stddef.in.h: Likewise.
22672         * modules/stddef-tests: Likewise.
22673         * tests/test-stddef.c: Likewise.
22674         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
22675         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
22676         * doc/posix-headers/locale.texi (locale.h): Likewise.
22677         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
22678         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
22679         * doc/posix-headers/string.texi (string.h): Likewise.
22680         * doc/posix-headers/time.texi (time.h): Likewise.
22681         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
22682         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
22683
22684 2009-08-14  Eric Blake  <ebb9@byu.net>
22685
22686         doc: improve git diff of texinfo files
22687         * .gitattributes: Add rule for *.texi files, with hint on how to
22688         use it.
22689         Copied from m4, and based on a report by Bruno Haible.
22690
22691 2009-08-14  Bruno Haible  <bruno@clisp.org>
22692
22693         Disable multithread support by default on Cygwin 1.5.x for real.
22694         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
22695
22696 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
22697
22698         update-copyright: much ado about intervals
22699         * build-aux/update-copyright: Implement and document
22700         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
22701         of copyright year intervals.
22702         Also, document UPDATE_COPYRIGHT_YEAR.
22703         * tests/test-update-copyright.sh: Test it.
22704
22705         update-copyright: convert 2-digit to 4-digit years
22706         * build-aux/update-copyright: Implement and document.
22707         * tests/test-update-copyright.sh: Update.
22708
22709 2009-08-14  Jim Meyering  <meyering@redhat.com>
22710
22711         test-exclude: avoid coreutils "make check" failure
22712         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
22713         just as in test-argmatch.c.
22714
22715 2009-08-13  Eric Blake  <ebb9@byu.net>
22716
22717         test-dup2: fix bad assumption
22718         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
22719         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
22720
22721         test-version-etc: fix CRLF portability issue
22722         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
22723         recognize \r.
22724         * tests/test-argp-version-etc-1.sh: Likewise.
22725
22726         getopt: update client modules
22727         * modules/argp (Depends-on): Use getopt-gnu.
22728         * modules/git-merge-changelog (Depends-on): Likewise.
22729         * modules/long-options (Depends-on): Likewise.
22730         * modules/xstrtol (Depends-on): Likewise.
22731
22732 2009-08-13  Simon Josefsson  <simon@josefsson.org>
22733
22734         * tests/test-version-etc.sh: Don't fail on different
22735         project/version.  Don't fail on CRLF differences.  Rewrite to use
22736         multiple -e instead of multiple sed forks, suggested by Eric Blake
22737         <ebb9@byu.net>.
22738         * tests/test-argp-version-etc-1.sh: Likewise.
22739
22740 2009-08-13  Simon Josefsson  <simon@josefsson.org>
22741
22742         * tests/test-version-etc.sh: Don't fail on different
22743         project/version.
22744
22745 2009-08-12  Bruno Haible  <bruno@clisp.org>
22746
22747         Tests for modules 'getopt-posix', 'getopt-gnu'.
22748         * modules/getopt-posix-tests: New file.
22749         * tests/test-getopt.c: New file.
22750         * tests/test-getopt.h: New file.
22751         * tests/test-getopt_long.h: New file.
22752
22753         New modules 'getopt-posix', 'getopt-gnu'.
22754         * modules/getopt-gnu: New file, renamed from modules/getopt.
22755         * modules/getopt-posix: New file.
22756         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
22757         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
22758         (gl_GETOPT): Remove macro.
22759         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
22760         Disable the test against BSD systems that declare optreset. Test
22761         against mingw bug. Test against lack of support of optional arguments
22762         on many platforms.
22763         * doc/glibc-headers/getopt.texi: Update module name and list of
22764         relevant platforms.
22765         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
22766         'getopt-gnu' and more portability problems.
22767         * NEWS: Mention the changes.
22768
22769 2009-08-12  Bruno Haible  <bruno@clisp.org>
22770
22771         Ensure that optarg etc. get declared by <unistd.h>.
22772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
22773         AC_USE_SYSTEM_EXTENSIONS.
22774         * modules/getopt (Depends-on): Add 'extensions'.
22775
22776 2009-08-12  Bruno Haible  <bruno@clisp.org>
22777
22778         Avoid test link errors.
22779         * modules/pipe-filter-ii-tests (Makefile.am): Define
22780         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
22781         * modules/pipe-filter-gi-tests (Makefile.am): Define
22782         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
22783         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22784
22785 2009-08-12  Bruno Haible  <bruno@clisp.org>
22786
22787         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
22788         gl_GETOPT_SUBSTITUTE before.
22789         (gl_GETOPT): Use it.
22790         * m4/argp.m4 (gl_ARGP): Update.
22791         Reported by Sergey Poznyakoff.
22792
22793         * m4/getopt.m4: Reorder macros.
22794         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
22795         (gl_GETOPT_SUBSTITUTE): Remove macro.
22796
22797 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
22798
22799         Minor improvement in gitlog-to-changelog
22800
22801         * build-aux/gitlog-to-changelog: New option `--format' makes
22802         output format string configurable.
22803
22804 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
22805
22806         Optimize exclude: use hash tables for non-wildcard patterns.
22807
22808         * lib/exclude.c: Include hash.h and mbuiter.h
22809         (struct exclude_pattern, exclude_segment): New data types.
22810         (struct exclude): Rewrite.
22811         (fnmatch_pattern_has_wildcards): New function.
22812         (new_exclude_segment, free_exclude_segment): New functions.
22813         (excluded_file_pattern_p, excluded_file_name_p): New functions.
22814         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
22815         * lib/exclude.h (is_fnmatch_pattern): New prototype.
22816         * modules/exclude: Depend on hash and mbuiter.
22817
22818         * modules/exclude-tests: New file.
22819         * tests/test-exclude.c: New file.
22820         * tests/test-exclude1.sh: New file.
22821         * tests/test-exclude2.sh: New file.
22822         * tests/test-exclude3.sh: New file.
22823         * tests/test-exclude4.sh: New file.
22824         * tests/test-exclude5.sh: New file.
22825         * tests/test-exclude6.sh: New file.
22826         * tests/test-exclude7.sh: New file.
22827
22828 2009-08-12  Bruno Haible  <bruno@clisp.org>
22829
22830         Ensure that getopt() gets declared by <unistd.h>.
22831         * lib/unistd.in.h: Conditionally include getopt.h.
22832         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
22833         Set GNULIB_UNISTD_H_GETOPT.
22834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22835         GNULIB_UNISTD_H_GETOPT.
22836         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
22837
22838 2009-08-12  Bruno Haible  <bruno@clisp.org>
22839
22840         Clarify logic.
22841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
22842         gl_replace_getopt instead of GETOPT_H.
22843
22844 2009-08-12  Bruno Haible  <bruno@clisp.org>
22845
22846         * m4/getopt.m4: Add comments.
22847
22848 2009-08-12  Bruno Haible  <bruno@clisp.org>
22849
22850         Disable multithread support by default on Cygwin 1.5.x.
22851         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
22852         set gl_use_threads=no if not specified otherwise.
22853
22854 2009-08-11  Bruno Haible  <bruno@clisp.org>
22855
22856         Avoid compilation error on NetBSD 5.0.
22857         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
22858         * tests/test-stdio.c: Likewise.
22859         * tests/test-stdlib.c: Likewise.
22860         * tests/test-string.c: Likewise.
22861         * tests/test-unistd.c: Likewise.
22862         Reported by Greg Troxel <gdt@ir.bbn.com>
22863         at <https://savannah.gnu.org/support/?106973>.
22864
22865 2009-08-11  Bruno Haible  <bruno@clisp.org>
22866
22867         * modules/dup2-tests (Depends-on): Remove close.
22868
22869         Undo 2009-07-19 commit.
22870         * modules/acl-tests (Depends-on): Remove close.
22871         * modules/binary-io-tests (Depends-on): Likewise.
22872         * modules/closein-tests (Depends-on): Likewise.
22873         * modules/flock-tests (Depends-on): Likewise.
22874         * modules/fsync-tests (Depends-on): Likewise.
22875         * modules/lseek-tests (Depends-on): Likewise.
22876         * modules/pipe-tests (Depends-on): Likewise.
22877         * modules/posix_spawn-tests (Depends-on): Likewise.
22878         * modules/posix_spawnp-tests (Depends-on): Likewise.
22879         * modules/stat-time-tests (Depends-on): Likewise.
22880         * modules/yesno-tests (Depends-on): Likewise.
22881
22882 2009-08-10  Bruno Haible  <bruno@clisp.org>
22883
22884         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
22885
22886 2009-08-10  Bruno Haible  <bruno@clisp.org>
22887
22888         Fix a gcc warning.
22889         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
22890
22891 2009-08-10  Bruno Haible  <bruno@clisp.org>
22892
22893         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
22894         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
22895         not only the first time.
22896         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
22897         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
22898         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
22899         is 1, not only the the first time.
22900
22901 2009-08-10  Bruno Haible  <bruno@clisp.org>
22902
22903         Make it possible to use module 'gethostname' without module 'close'.
22904         * lib/unistd.in.h (close): Evoke a link error only if
22905         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
22906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22907         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
22908         * modules/unistd (Makefile.am): Substitute
22909         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
22910         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
22911         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
22912         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
22913         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
22914         * modules/sys_ioctl (Makefile.am): Substitute
22915         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
22916         * modules/socket (configure.ac): On native Windows, set
22917         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
22918         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
22919         Reported by Sam Steingold <sds@gnu.org>.
22920
22921 2009-08-10  Bruno Haible  <bruno@clisp.org>
22922
22923         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
22924         * modules/ioctl (configure.ac): Likewise.
22925
22926 2009-08-10  Bruno Haible  <bruno@clisp.org>
22927
22928         Avoid collision between gnulib wrapper and libintl wrapper.
22929         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
22930         already defined in intl/printf.c.
22931         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
22932         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
22933
22934 2009-08-09  Bruno Haible  <bruno@clisp.org>
22935
22936         Make <sys/select.h> really self-contained, also on Solaris 10.
22937         * lib/sys_select.in.h: Include <string.h>.
22938         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
22939         Solaris 10 problem.
22940         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
22941         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
22942         Reported by Jim Meyering.
22943
22944 2009-08-09  Bruno Haible  <bruno@clisp.org>
22945
22946         Avoid warnings from 'aclocal' that are due to a use of macro name
22947         AM_XGETTEXT_OPTION that is not defined in automake.
22948         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
22949         automake.
22950         * modules/error (configure.ac): Likewise.
22951         * modules/propername (configure.ac): Likewise.
22952         * modules/vasprintf (configure.ac): Likewise.
22953         * modules/verror (configure.ac): Likewise.
22954         * modules/xprintf (configure.ac): Likewise.
22955         * modules/xvasprintf (configure.ac): Likewise.
22956
22957 2009-08-08  Bruno Haible  <bruno@clisp.org>
22958
22959         Avoid compilation error in C++ mode.
22960         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
22961         Reported by Sam Steingold <sds@gnu.org>.
22962
22963 2009-08-08  Bruno Haible  <bruno@clisp.org>
22964
22965         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
22966         for the various Unix platforms.
22967         * doc/posix-headers/limits.texi: Update platforms list regarding
22968         HOST_NAME_MAX.
22969         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22970
22971 2009-08-07  Jim Meyering  <meyering@redhat.com>
22972
22973         selinux-at: fix typo in a comment
22974         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
22975         Spotted by Paolo Bonzini.
22976
22977         selinux-at: remove redundant m4 code, add documentation
22978         * modules/selinux-at (configure.ac): Remove redundant code.
22979         LIB_SELINUX is already set via the dependent module, selinux-h.
22980         (Include): Add quotes around selinux-at.h.
22981         * lib/selinux-at.h: Add documentation.
22982         Reported by Bruno Haible in
22983         http://marc.info/?l=gnulib-bug&m=124958988300749
22984
22985 2009-08-07  Bruno Haible  <bruno@clisp.org>
22986
22987         Avoid link error on MacOS X 10.3 and 10.4.
22988         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
22989         on non-ELF systems.
22990         * lib/argp-pv.c (argp_program_version): Likewise.
22991         Reported by Simon Josefsson.
22992
22993 2009-08-07  Simon Josefsson  <simon@josefsson.org>
22994
22995         * tests/test-version-etc.sh: Use $EXEEXT.
22996
22997 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
22998
22999         update-copyright: update documentation to point to maint.mk
23000         * build-aux/update-copyright: Here.
23001
23002 2009-08-06  Jim Meyering  <meyering@redhat.com>
23003
23004         maint.mk: support update-copyright-local
23005         * top/maint.mk (update-copyright-local): Define place-holder.
23006         (update-copyright): Depend on $(update-copyright-local).
23007
23008 2009-08-06  Jim Meyering  <meyering@redhat.com>
23009
23010         selinux-at: new module
23011         Initially written for coreutils, this module will soon be
23012         used by findutils, too.
23013         * MODULES.html.sh [Misc]: Add selinux-at.
23014         * lib/selinux-at.h: New file, from coreutils.
23015         * lib/selinux-at.c: Likewise.
23016         * modules/selinux-at: Likewise.
23017         (License): Change from LGPL to GPL, since it depends
23018         on the GPL'd openat module.
23019
23020         doc: update README
23021         * README: Remove references to cogito.
23022         Remove cvs-repo-updating instructions from 2007.
23023         Don't imply that CVS is better if you have limited disk space.
23024
23025 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23026
23027         update-copyright: support C-style comments
23028         * build-aux/update-copyright: Implement and document.
23029         * tests/test-update-copyright.sh: Test.
23030
23031 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23032
23033         update-copyright: support omitted "(C)"
23034         * build-aux/update-copyright: Implement and document.  Also,
23035         allow variable whitespace before "(C)".
23036         * tests/test-update-copyright.sh: Test.
23037
23038 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23039
23040         update-copyright: don't trip on non-FSF copyright statements
23041         * build-aux/update-copyright: Fix so that the first correctly
23042         formatted FSF copyright statement is recognized no matter what
23043         appears before it.  Update documentation.
23044         * tests/test-update-copyright.sh: Test that.
23045
23046 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23047
23048         update-copyright: clean up code a little
23049         * build-aux/update-copyright: Append "_re" to the name of any
23050         variable holding a regular expression.
23051         Replace "old" and "new" with "stmt" in variable names.
23052         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
23053         handled correctly.
23054         Format code more consistently.
23055
23056 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
23057
23058         update-copyright-tests: improve portability
23059         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
23060         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
23061
23062 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
23063
23064         update-copyright: support @copyright{} and &copy;
23065         * build-aux/update-copyright: Implement and document.
23066         * tests/test-update-copyright.sh: Test.
23067
23068 2009-08-04  Jim Meyering  <meyering@redhat.com>
23069
23070         update-copyright-tests: correctly test EOL=\r\n handling
23071         * tests/test-update-copyright.sh: Put \r at the end of some lines
23072         for the dos-eol tests.  Based on a patch by Joel E. Denny.
23073
23074         maint.mk: make update-copyright exclusion list more configurable
23075         * top/maint.mk (update-copyright): Default to excluding COPYING,
23076         but allow an override, in case someone does want to update that file.
23077
23078         maint.mk: don't update copyright date in COPYING
23079         * top/maint.mk (update-copyright): Exclude COPYING.
23080
23081         maint.mk: add a copyright-updating rule
23082         * top/maint.mk (update-copyright): New rule.
23083         Derived from coreutils/Makefile.am.
23084
23085         update-copyright: rename some variables
23086         * build-aux/update-copyright: Rename a few variables for clarity.
23087         Tweak syntax.  List Joel E. Denny as coauthor.
23088
23089 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
23090
23091         update-copyright: fix bug for 2-digit last year and add tests
23092         * build-aux/update-copyright: Fix bug.
23093         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
23094         specified.
23095         * modules/update-copyright-tests: New
23096         * tests/test-update-copyright.sh: New.
23097
23098 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
23099
23100         update-copyright: handle leading tabs in line prefix
23101         * build-aux/update-copyright: Count leading tabs as 8 spaces
23102         when computing margin.  This helps with the formatting of
23103         ChangeLogs, for example.
23104         Fix documentation a little.
23105
23106 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
23107
23108         update-copyright: support EOL=\r\n
23109         * build-aux/update-copyright: Implement that.
23110
23111 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
23112
23113         update-copyright: automatically format copyright statements
23114         * build-aux/update-copyright: Implement that.
23115         Also, be a little more predictable and safer by always failing
23116         when the full copyright format is not perfectly recognized as an
23117         unbroken whole.  Discussed at
23118         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
23119         Rewrite documentation.
23120
23121 2009-08-03  Bruno Haible  <bruno@clisp.org>
23122
23123         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
23124
23125 2009-08-02  Bruno Haible  <bruno@clisp.org>
23126
23127         Tests for module 'uname'.
23128         * modules/uname-tests: New file.
23129         * tests/test-uname.c: New file.
23130
23131         New module 'uname'.
23132         * lib/uname.c: New file.
23133         * m4/uname.m4: New file.
23134         * modules/uname: New file.
23135         * doc/posix-functions/uname.texi: Mention the new module.
23136
23137 2009-08-02  Bruno Haible  <bruno@clisp.org>
23138
23139         Tests for module 'sys_utsname'.
23140         * modules/sys_utsname-tests: New file.
23141         * tests/test-sys_utsname.c: New file.
23142
23143         New module 'sys_utsname'.
23144         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
23145         * m4/sys_utsname_h.m4: New file.
23146         * modules/sys_utsname: New file.
23147         * doc/posix-headers/sys_utsname.texi: Mention the new module.
23148
23149 2009-08-02  Bruno Haible  <bruno@clisp.org>
23150
23151         Implicitly initialize the sockets library.
23152         * lib/gethostname.c: Include sockets.h.
23153         (rpl_gethostname): Invoke gl_sockets_startup.
23154         * lib/socket.c: Include sockets.h.
23155         (rpl_socket): Invoke gl_sockets_startup.
23156         * modules/gethostname (Depends-on): Add sockets.
23157         * modules/socket (Depends-on): Likewise.
23158         * tests/test-poll.c: Don't include sockets.h.
23159         (main): Don't invoke gl_sockets_startup.
23160         * tests/test-select.c: Don't include sockets.h.
23161         (main): Don't invoke gl_sockets_startup.
23162
23163 2009-08-02  Bruno Haible  <bruno@clisp.org>
23164
23165         Allow multiple calls to gl_sockets_startup.
23166         * lib/sockets.c (initialized_sockets_version): New variable.
23167         (gl_sockets_startup): Do nothing if already called for this or a higher
23168         version.
23169         (gl_sockets_cleanup): Reset initialized_sockets_version.
23170
23171 2009-08-03  Simon Josefsson  <simon@josefsson.org>
23172
23173         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
23174         different project/version.
23175
23176 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
23177             Bruno Haible  <bruno@clisp.org>
23178
23179         Tests for module 'pipe-filter-gi'.
23180         * modules/pipe-filter-gi-tests: New file.
23181         * tests/test-pipe-filter-gi1.sh: New file.
23182         * tests/test-pipe-filter-gi1.c: New file.
23183         * tests/test-pipe-filter-gi2.sh: New file.
23184         * tests/test-pipe-filter-gi2-main.c: New file.
23185         * tests/test-pipe-filter-gi2-child.c: New file.
23186
23187         New module 'pipe-filter-gi'.
23188         * lib/pipe-filter-gi.c: New file.
23189         * modules/pipe-filter-gi: New file.
23190
23191 2009-08-02  Bruno Haible  <bruno@clisp.org>
23192             Paolo Bonzini  <bonzini@gnu.org>
23193
23194         Tests for module 'pipe-filter-ii'.
23195         * modules/pipe-filter-ii-tests: New file.
23196         * tests/test-pipe-filter-ii1.sh: New file.
23197         * tests/test-pipe-filter-ii1.c: New file.
23198         * tests/test-pipe-filter-ii2.sh: New file.
23199         * tests/test-pipe-filter-ii2-main.c: New file.
23200         * tests/test-pipe-filter-ii2-child.c: New file.
23201
23202         New module 'pipe-filter-ii'.
23203         * lib/pipe-filter.h: New file.
23204         * lib/pipe-filter-ii.c: New file.
23205         * lib/pipe-filter-aux.h: New file.
23206         * modules/pipe-filter-ii: New file.
23207
23208 2009-08-02  Simon Josefsson  <simon@josefsson.org>
23209
23210         * lib/gc-libgcrypt.c: Change copyright to FSF.
23211         * lib/gc-gnulib.c: Likewise.
23212
23213 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
23214
23215         * lib/gethostname.c: Include limits.h.
23216
23217 2009-08-02  Simon Josefsson  <simon@josefsson.org>
23218             Bruno Haible  <bruno@clisp.org>
23219
23220         Ensure HOST_NAME_MAX as part of the gethostname module.
23221         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
23222         define also HOST_NAME_MAX.
23223         * tests/test-gethostname.c: Include <limits.h>.
23224         (main): Check also HOST_NAME_MAX.
23225         * doc/posix-headers/limits.texi: Document the mingw problem.
23226
23227 2009-08-02  Bruno Haible  <bruno@clisp.org>
23228
23229         * lib/gethostname.c (gethostname): Fix handling of large len argument.
23230         Add comments.
23231
23232 2009-03-31  Simon Josefsson  <simon@josefsson.org>
23233
23234         * lib/gethostname.c: Add Windows wrapper.
23235         * m4/gethostname.m4: Look for gethostname in -lws2_32.
23236         * modules/gethostname: Depend on sys_socket & errno, for also
23237         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
23238         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
23239
23240 2009-07-31  Jim Meyering  <meyering@redhat.com>
23241
23242         getloadavg: fix symbol name in comment
23243         * lib/getloadavg.c: Correct a typo I introduced when adding
23244         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
23245         Matt Kraai spotted the problem.
23246
23247 2009-07-29  Matt Kraai  <mkraai@beckman.com>
23248
23249         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
23250         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
23251         code also if ! defined N_NAME_POINTER.
23252         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
23253         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
23254         but the n_name member is a 12-byte array.
23255
23256 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
23257
23258         update-copyright: generalize comment handling
23259         * build-aux/update-copyright: Handle copyright statements
23260         within more comment styles.
23261         Document usage.
23262         Report any file with an external copyright holder or parse failure.
23263
23264 2009-07-29  Jim Meyering  <meyering@redhat.com>
23265
23266         mktime: correct setting of REPLACE_MKTIME
23267         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
23268
23269         update-copyright: new module
23270         * modules/update-copyright: New file.
23271         * build-aux/update-copyright: New file.
23272         * MODULES.html.sh (maint+release support): Add update-copyright.
23273
23274 2009-07-27  Bruno Haible  <bruno@clisp.org>
23275
23276         Fix compilation error when <ctime> is used and mktime is replaced.
23277         * lib/time.in.h (mktime): New declaration.
23278         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
23279         REPLACE_MKTIME instead of defining mktime in config.h.
23280         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
23281         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
23282         Reported by Ross McFarland <rwmcfa1@neces.com>.
23283
23284 2009-07-27  Bruno Haible  <bruno@clisp.org>
23285
23286         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
23287         Reported by Matt Kraai <mkraai@beckman.com>.
23288
23289 2009-07-25  Jim Meyering  <meyering@redhat.com>
23290
23291         maint.mk: avoid warnings about missing files
23292         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
23293         diagnostic when .prev-version does not exist.
23294         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
23295         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
23296         nonexistent cfg.mk.
23297         Suggestions from Simon Josefsson.
23298
23299 2009-07-25  Bruno Haible  <bruno@clisp.org>
23300
23301         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
23302         defined as macros. Needed on QNX 6.4.1.
23303         Reported by Matt Kraai <mkraai@beckman.com>.
23304
23305 2009-07-23  Jim Meyering  <meyering@redhat.com>
23306
23307         maint.mk: invoke "make dist" with a working value of XZ_OPT
23308         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
23309
23310 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
23311
23312         Make fseeko.c compile on QNX.
23313         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
23314
23315 2009-07-22  Peter Simons  <simons@cryp.to>
23316
23317         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
23318         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
23319         * lib/md4.h: Likewise.
23320         * lib/md5.h: Likewise.
23321         * lib/sha1.h: Likewise.
23322         * lib/sha256.h: Likewise.
23323         * lib/sha512.h: Likewise.
23324
23325         tests-sha1: don't assign literal string to 'char *' variable
23326         * tests/test-sha1.c (main): Declare locals with "const" to match
23327         attributes of the right hand side.
23328
23329 2009-07-21  Eric Blake  <ebb9@byu.net>
23330
23331         dup2: fix more mingw problems
23332         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
23333         fd to itself.
23334         * doc/posix-functions/dup2.texi (dup2): Document the bug.
23335         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
23336         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
23337         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
23338         care of mingw bugs.
23339
23340 2009-07-21  Jim Meyering  <meyering@redhat.com>
23341
23342         vc-list-files: avoid failure when /bin/sh is dash
23343         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
23344         On some Debian based systems, /bin/sh is a symlink to dash, and running
23345         this command would omit the "/" following each 'tests' prefix:
23346           dash -x build-aux/vc-list-files -C . tests
23347         That is because bash and dash work differently:
23348           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
23349           bash ok
23350           dash odd
23351
23352 2009-07-21  Eric Blake  <ebb9@byu.net>
23353
23354         dup2-tests: test previous patch
23355         * modules/dup2-tests: New file.
23356         * tests/test-dup2.c: Likewise.
23357         * tests/test-open.c (main): Avoid unspecified behavior.
23358         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
23359         test.
23360
23361         dup2: work around mingw and cygwin 1.5 bug
23362         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
23363         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23364         * modules/unistd (Makefile.am): Substitute it.
23365         * lib/unistd.in.h (dup2): Declare the replacement.
23366         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
23367         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
23368         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
23369         * modules/execute (Depends-on): Add dup2.
23370         * modules/fseterr (Depends-on): Likewise.
23371         * modules/pipe (Depends-on): Likewise.
23372         * modules/posix_spawn-internal (Depends-on): Likewise.
23373
23374 2009-07-21  Bruno Haible  <bruno@clisp.org>
23375
23376         * modules/.gitattributes: New file.
23377
23378 2009-07-20  Bruno Haible  <bruno@clisp.org>
23379
23380         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
23381         (main): Use it.
23382
23383 2009-07-20  Eric Blake  <ebb9@byu.net>
23384
23385         test-pipe: make a bit more robust.
23386         * tests/test-pipe.c (myerr): Allow error messages regardless of
23387         what we do to stderr.
23388         (test_pipe): Rearrange to avoid deadlock.
23389         (child_main): Try a larger read, to ensure we avoided deadlock.
23390         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
23391         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
23392         if misused.
23393
23394 2009-07-19  Jim Meyering  <meyering@redhat.com>
23395
23396         fts: avoid false-positive cycle-detection
23397         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
23398         for each new command line argument.
23399
23400 2009-07-19  Bruno Haible  <bruno@clisp.org>
23401
23402         Fix build error on mingw with the modules sys_select and unistd.
23403         * modules/acl-tests (Depends-on): Add close.
23404         * modules/binary-io-tests (Depends-on): Likewise.
23405         * modules/closein-tests (Depends-on): Likewise.
23406         * modules/flock-tests (Depends-on): Likewise.
23407         * modules/fsync-tests (Depends-on): Likewise.
23408         * modules/lseek-tests (Depends-on): Likewise.
23409         * modules/pipe-tests (Depends-on): Likewise.
23410         * modules/posix_spawn-tests (Depends-on): Likewise.
23411         * modules/posix_spawnp-tests (Depends-on): Likewise.
23412         * modules/stat-time-tests (Depends-on): Likewise.
23413         * modules/yesno-tests (Depends-on): Likewise.
23414
23415 2009-07-19  Bruno Haible  <bruno@clisp.org>
23416
23417         Unify conditionals.
23418         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
23419         macros, not at the compiler macros.
23420         * lib/pipe.c: Likewise.
23421         * lib/execute.c: Likewise.
23422         * lib/spawni.c: Likewise.
23423
23424 2009-07-19  Bruno Haible  <bruno@clisp.org>
23425
23426         Fix handling of closed stdin/stdout/stderr on mingw.
23427         * lib/w32spawn.h: Include unistd.h.
23428         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
23429         file descriptor with O_NOINHERIT flag.
23430         (fd_safer_noinherit): New function, based on fd-safer.c.
23431         (dup_safer_noinherit): New function, based on dup-safer.c.
23432         (undup_safer_noinherit): New function.
23433         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
23434         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
23435         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
23436         instead of fd_safer.
23437         * tests/test-pipe.c: Include <windows.h>.
23438         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
23439
23440         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
23441         from main.
23442         (test_pipe): Pass an extra argument for disambiguation.
23443         (main): Invoke parent_main or child_main.
23444
23445         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
23446         consistently.
23447
23448 2009-07-18  Eric Blake  <ebb9@byu.net>
23449
23450         test-pipe: fix mingw build
23451         * tests/test-pipe.c (main): Avoid fcntl on mingw.
23452
23453 2009-07-18  Bruno Haible  <bruno@clisp.org>
23454
23455         * modules/pipe-tests (Makefile.am): Fix typo.
23456
23457 2009-07-18  Eric Blake  <ebb9@byu.net>
23458
23459         error: fix mingw build
23460         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
23461         Reported by Bruno Haible.
23462
23463         error: avoid undefined use of stdout
23464         * lib/error.c (error, error_at_line): Check that fd 1 is open
23465         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
23466         is handling faults and the close_stdout module wants to report the
23467         detection of closed stdout as an error.
23468
23469 2009-07-17  Eric Blake  <ebb9@byu.net>
23470
23471         pipe: be robust in face of closed fds
23472         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
23473         should cause child to misbehave.
23474         * modules/pipe-tests: New module.
23475         * tests/test-pipe.c: New file.
23476         * tests/test-pipe.sh: New file.
23477         Reported by Akim Demaille.
23478
23479 2009-07-14  Bruno Haible  <bruno@clisp.org>
23480
23481         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
23482         Reported by anonymous kc.
23483
23484 2009-07-07  Jim Meyering  <meyering@redhat.com>
23485
23486         maint.mk: don't look for translatable strings in *.m4 or *.mk
23487         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
23488         when searching for translatable strings.
23489
23490 2009-07-05  Jim Meyering  <meyering@redhat.com>
23491
23492         remove superfluous parentheses in STREQ definition
23493         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
23494         * lib/getugroups.c (STREQ): Likewise.
23495         * lib/fnmatch.c (STREQ): Likewise.
23496         Spotted by Bruno Haible.
23497
23498 2009-07-04  Jim Meyering  <meyering@redhat.com>
23499
23500         argv-iter: new module
23501         * MODULES.html.sh: Add argv-iter.
23502         * lib/argv-iter.c, lib/argv-iter.h: New files.
23503         * modules/argv-iter: New file.
23504         * modules/argv-iter-tests: New file.
23505         * tests/test-argv-iter.c: Test it.
23506
23507 2009-07-04  Bruno Haible  <bruno@clisp.org>
23508
23509         Fix assertion.
23510         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
23511         contains more exact copies of a given entry than file2, leave the extra
23512         copies unpaired rather than aborting.
23513         Reported by Eric Blake.
23514
23515 2009-07-02  Bruno Haible  <bruno@clisp.org>
23516
23517         Speedup git-merge-changelog for git cherry-pick.
23518         * lib/git-merge-changelog.c (struct entries_mapping): New type.
23519         (entries_mapping_get): New function, extracted from compute_mapping.
23520         (entries_mapping_reverse_get): New function.
23521         (compute_mapping): Add a 'full' argument. Return the result in a
23522         'struct entries_mapping'.
23523         (main): Update. Access the mappings through entries_mapping_get.
23524         Reported by Eric Blake.
23525
23526 2009-07-02  Bruno Haible  <bruno@clisp.org>
23527
23528         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
23529         best_i.
23530
23531 2009-07-02  Bruno Haible  <bruno@clisp.org>
23532
23533         Speed up approximate search for matching ChangeLog entries.
23534         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
23535         argument. Call fstrcmp_bounded instead of fstrcmp.
23536         (compute_mapping, try_split_merged_entry, main): Update callers.
23537
23538 2009-07-02  Bruno Haible  <bruno@clisp.org>
23539
23540         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
23541
23542 2009-06-30  Bruno Haible  <bruno@clisp.org>
23543
23544         Reduce the number of uc_is_cased calls.
23545         * lib/unicase.h (casing_suffix_context_t): Add
23546         'first_char_except_ignorable' field.
23547         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
23548         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
23549         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
23550         Update initializer.
23551         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
23552         case-ignorable characters.
23553         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
23554         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
23555         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
23556         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
23557         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
23558
23559 2009-06-30  Bruno Haible  <bruno@clisp.org>
23560
23561         Tests for module 'unicase/ignorable'.
23562         * modules/unicase/ignorable-tests: New file.
23563         * tests/unicase/test-ignorable.c: New file, generated by
23564         gen-uni-tables.
23565
23566         Tests for module 'unicase/cased'.
23567         * modules/unicase/cased-tests: New file.
23568         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
23569         * tests/unicase/test-predicate-part1.h: New file, derived from
23570         tests/unictype/test-predicate-part1.h.
23571         * tests/unicase/test-predicate-part2.h: New file, same as
23572         tests/unictype/test-predicate-part2.h.
23573
23574         Fix evaluation of "Before C" condition of FINAL_SIGMA.
23575         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
23576         (output_casing_properties): New function.
23577         (main): Call it.
23578         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
23579         * lib/unicase/cased.c: Include unictype/bitmap.h.
23580         (uc_is_cased): Define through a bitmap lookup.
23581         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
23582         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
23583         (uc_is_case_ignorable): Define through a bitmap lookup.
23584         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
23585         lib/unictype/bitmap.h.
23586         (Depends-on): Add inline. Clean up.
23587         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
23588         lib/unictype/bitmap.h.
23589         (Depends-on): Add inline. Clean up.
23590         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
23591         recognition.
23592         * tests/unicase/test-u16-tolower.c (main): Likewise.
23593         * tests/unicase/test-u32-tolower.c (main): Likewise.
23594
23595 2009-06-30  Bruno Haible  <bruno@clisp.org>
23596
23597         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
23598         * lib/unicase/u16-casemap.c: Likewise.
23599         * lib/unicase/u32-casemap.c: Likewise.
23600
23601 2009-06-29  Bruno Haible  <bruno@clisp.org>
23602
23603         Define u32_casefold as a wrapper around u32_ct_casefold.
23604         * lib/unicase/u32-casefold.c: Update.
23605         * modules/unicase/u32-casefold (Depends-on): Add
23606         unicase/u32-ct-casefold, unicase/empty-prefix-context,
23607         unicase/empty-suffix-context. Clean up.
23608
23609         Define u16_casefold as a wrapper around u16_ct_casefold.
23610         * lib/unicase/u16-casefold.c: Update.
23611         * modules/unicase/u16-casefold (Depends-on): Add
23612         unicase/u16-ct-casefold, unicase/empty-prefix-context,
23613         unicase/empty-suffix-context. Clean up.
23614
23615         Define u8_casefold as a wrapper around u8_ct_casefold.
23616         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
23617         * lib/unicase/u8-casefold.c: Update.
23618         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
23619         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23620
23621         Define u32_totitle as a wrapper around u32_ct_totitle.
23622         * lib/unicase/u32-totitle.c: Update.
23623         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
23624         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23625
23626         Define u16_totitle as a wrapper around u16_ct_totitle.
23627         * lib/unicase/u16-totitle.c: Update.
23628         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
23629         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23630
23631         Define u8_totitle as a wrapper around u8_ct_totitle.
23632         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
23633         functions.
23634         (FUNC): Delegate to U_CT_TOTITLE.
23635         * lib/unicase/u8-totitle.c: Update.
23636         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
23637         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
23638
23639         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
23640         invocation.
23641         * modules/unicase/u32-tolower (Depends-on): Add
23642         unicase/empty-prefix-context, unicase/empty-suffix-context.
23643
23644         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
23645         invocation.
23646         * modules/unicase/u16-tolower (Depends-on): Add
23647         unicase/empty-prefix-context, unicase/empty-suffix-context.
23648
23649         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
23650         * modules/unicase/u8-tolower (Depends-on): Add
23651         unicase/empty-prefix-context, unicase/empty-suffix-context.
23652
23653         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
23654         invocation.
23655         * modules/unicase/u32-toupper (Depends-on): Add
23656         unicase/empty-prefix-context, unicase/empty-suffix-context.
23657
23658         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
23659         invocation.
23660         * modules/unicase/u16-toupper (Depends-on): Add
23661         unicase/empty-prefix-context, unicase/empty-suffix-context.
23662
23663         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
23664         * modules/unicase/u8-toupper (Depends-on): Add
23665         unicase/empty-prefix-context, unicase/empty-suffix-context.
23666
23667         New module 'unicase/u32-ct-casefold'.
23668         * lib/unicase/u32-ct-casefold.c: New file.
23669         * modules/unicase/u32-ct-casefold: New file.
23670
23671         New module 'unicase/u16-ct-casefold'.
23672         * lib/unicase/u16-ct-casefold.c: New file.
23673         * modules/unicase/u16-ct-casefold: New file.
23674
23675         New module 'unicase/u8-ct-casefold'.
23676         * lib/unicase/u8-ct-casefold.c: New file.
23677         * lib/unicase/u-ct-casefold.h: New file, derived from
23678         lib/unicase/u-casefold.h.
23679         * modules/unicase/u8-ct-casefold: New file.
23680
23681         New module 'unicase/u32-ct-totitle'.
23682         * lib/unicase/u32-ct-totitle.c: New file.
23683         * modules/unicase/u32-ct-totitle: New file.
23684
23685         New module 'unicase/u16-ct-totitle'.
23686         * lib/unicase/u16-ct-totitle.c: New file.
23687         * modules/unicase/u16-ct-totitle: New file.
23688
23689         New module 'unicase/u8-ct-totitle'.
23690         * lib/unicase/u8-ct-totitle.c: New file.
23691         * lib/unicase/u-ct-totitle.h: New file, derived from
23692         lib/unicase/u-totitle.h.
23693         * modules/unicase/u8-ct-totitle: New file.
23694
23695         New module 'unicase/u32-ct-tolower'.
23696         * lib/unicase/u32-ct-tolower.c: New file.
23697         * modules/unicase/u32-ct-tolower: New file.
23698
23699         New module 'unicase/u16-ct-tolower'.
23700         * lib/unicase/u16-ct-tolower.c: New file.
23701         * modules/unicase/u16-ct-tolower: New file.
23702
23703         New module 'unicase/u8-ct-tolower'.
23704         * lib/unicase/u8-ct-tolower.c: New file.
23705         * modules/unicase/u8-ct-tolower: New file.
23706
23707         New module 'unicase/u32-ct-toupper'.
23708         * lib/unicase/u32-ct-toupper.c: New file.
23709         * modules/unicase/u32-ct-toupper: New file.
23710
23711         New module 'unicase/u16-ct-toupper'.
23712         * lib/unicase/u16-ct-toupper.c: New file.
23713         * modules/unicase/u16-ct-toupper: New file.
23714
23715         New module 'unicase/u8-ct-toupper'.
23716         * lib/unicase/u8-ct-toupper.c: New file.
23717         * modules/unicase/u8-ct-toupper: New file.
23718
23719         Add context arguments to u*_casemap functions.
23720         * lib/unicase/unicasemap.h: Include unicase.h.
23721         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
23722         suffix_context arguments.
23723         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
23724         functions.
23725         (FUNC): Add prefix_context and suffix_context arguments. Use
23726         uc_is_cased and uc_is_case_ignorable.
23727         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
23728         * lib/unicase/u16-casemap.c: Likewise.
23729         * lib/unicase/u32-casemap.c: Likewise.
23730         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
23731         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
23732         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
23733         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
23734         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
23735         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
23736
23737         New module 'unicase/u32-suffix-context'.
23738         * lib/unicase/u32-suffix-context.c: New file.
23739         * modules/unicase/u32-suffix-context: New file.
23740
23741         New module 'unicase/u16-suffix-context'.
23742         * lib/unicase/u16-suffix-context.c: New file.
23743         * modules/unicase/u16-suffix-context: New file.
23744
23745         New module 'unicase/u8-suffix-context'.
23746         * lib/unicase/u8-suffix-context.c: New file.
23747         * lib/unicase/u-suffix-context.h: New file.
23748         * modules/unicase/u8-suffix-context: New file.
23749
23750         New module 'unicase/empty-suffix-context'.
23751         * lib/unicase/empty-suffix-context.c: New file.
23752         * modules/unicase/empty-suffix-context: New file.
23753
23754         New module 'unicase/u32-prefix-context'.
23755         * lib/unicase/u32-prefix-context.c: New file.
23756         * modules/unicase/u32-prefix-context: New file.
23757
23758         New module 'unicase/u16-prefix-context'.
23759         * lib/unicase/u16-prefix-context.c: New file.
23760         * modules/unicase/u16-prefix-context: New file.
23761
23762         New module 'unicase/u8-prefix-context'.
23763         * lib/unicase/u8-prefix-context.c: New file.
23764         * lib/unicase/u-prefix-context.h: New file.
23765         * lib/unicase/context.h: New file.
23766         * modules/unicase/u8-prefix-context: New file.
23767
23768         New module 'unicase/empty-prefix-context'.
23769         * lib/unicase/empty-prefix-context.c: New file.
23770         * modules/unicase/empty-prefix-context: New file.
23771
23772         New module 'unicase/ignorable'.
23773         * lib/unicase/ignorable.c: New file.
23774         * modules/unicase/ignorable: New file.
23775
23776         New module 'unicase/cased'.
23777         * lib/unicase/caseprop.h: New file.
23778         * lib/unicase/cased.c: New file.
23779         * modules/unicase/cased: New file.
23780
23781         New functions for case mapping of substrings.
23782         * lib/unicase.h (casing_prefix_context_t): New type.
23783         (unicase_empty_prefix_context): New variable.
23784         (u8_casing_prefix_context, u16_casing_prefix_context,
23785         u32_casing_prefix_context, u8_casing_prefixes_context,
23786         u16_casing_prefixes_context, u32_casing_prefixes_context): New
23787         declarations.
23788         (casing_suffix_context_t): New type.
23789         (unicase_empty_suffix_context): New variable.
23790         (u8_casing_suffix_context, u16_casing_suffix_context,
23791         u32_casing_suffix_context, u8_casing_suffixes_context,
23792         u16_casing_suffixes_context, u32_casing_suffixes_context,
23793         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
23794         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
23795         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
23796         declarations.
23797
23798 2009-06-28  Jim Meyering  <meyering@redhat.com>
23799
23800         boostrap: indent only with spaces
23801         * build-aux/bootstrap: Indent only with spaces, never TABs.
23802
23803         bootstrap: split long lines
23804         * build-aux/bootstrap: Keep line length < 80.
23805
23806         bootstrap: sync from coreutils
23807         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
23808         just as autoreconf does.  Verify a list of prerequisite
23809         package-name,version-number pairs if defined in bootstrap.conf.
23810         Refer to README-prereq, if prerequisites are not satisfied.
23811
23812 2009-06-27  Eric Blake  <ebb9@byu.net>
23813
23814         tests: add test for bogus NULL definition
23815         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
23816         * tests/test-stdlib.c: Likewise.
23817         * tests/test-string.c: Likewise.
23818         * tests/test-locale.c: Likewise.
23819         * tests/test-unistd.c: Likewise.
23820         * modules/stdio-tests (Depends-on): Add verify.
23821         * modules/stdlib-tests (Depends-on): Likewise.
23822         * modules/string-tests (Depends-on): Likewise.
23823         * modules/locale-tests (Depends-on): Likewise.
23824         * modules/unistd-tests (Depends-on): Likewise.
23825
23826 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
23827
23828         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
23829         self-explaining comment.
23830         * m4/selinux-selinux-h: Update serial.
23831         (gl_LIBSELINUX): New macro, adding a warning for missing development
23832         packages to code extracted from...
23833         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
23834         Add warning for missing development packages here, too.
23835
23836 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
23837
23838         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
23839
23840 2009-06-25  Eric Blake  <ebb9@byu.net>
23841
23842         version-etc: fix regression
23843         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
23844         gcc.
23845         (version_etc): Use it, to catch bugs with trailing NULL.
23846         * lib/version-etc.c (version_etc_arn): Delete unused argument.
23847         (version_etc_va): Fix logic bug.
23848         * modules/version-etc-tests: Add test.
23849         * tests/test-version-etc.c: New file.
23850         * tests/test-version-etc.sh: Likewise.
23851
23852 2009-06-25  Sam Steingold  <sds@gnu.org>
23853
23854         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
23855         mbtowc declaration.
23856
23857 2009-06-25  Eric Blake  <ebb9@byu.net>
23858
23859         fpurge: migrate into <stdio.h>
23860         * lib/fpurge.h: Delete...
23861         * lib/stdio.in.h (fpurge): ...and declare here, instead.
23862         * lib/fpurge.c (fpurge): Change declaring header.
23863         * modules/fpurge (Files): Drop deleted file.
23864         (Depends-on): Add stdio.
23865         (configure.ac): Set witness.
23866         * modules/stdio (Makefile.am): Support fpurge macros.
23867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
23868         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
23869         * lib/fflush.c: Update client.
23870         * tests/test-fpurge.c: Likewise.
23871         * NEWS: Mention the change.
23872
23873 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
23874
23875         * lib/argp-version-etc.c (program_authors): Add const
23876         qualifier.
23877         * lib/version-etc.c: Fix typos in the comments.
23878         * modules/argp-version-etc: Depends on version-etc.
23879
23880 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
23881
23882         argp-version-etc: new module.
23883
23884         * lib/argp-version-etc.c: New file.
23885         * lib/argp-version-etc.h: New file.
23886         * modules/argp-version-etc: New file.
23887         * modules/argp-version-etc-tests: New file.
23888         * tests/test-argp-version-etc.c: New test.
23889         * tests/test-argp-version-etc-1.sh: New test.
23890
23891 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
23892
23893         Provide additional interfaces and documentation for version-etc
23894         module.
23895
23896         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
23897         interfaces.
23898         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
23899         prototypes.
23900
23901 2009-06-24  Bruno Haible  <bruno@clisp.org>
23902
23903         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
23904         HAVE_LIB${NAME} macro.
23905         Reported by Sam Steingold <sds@gnu.org>.
23906
23907 2009-06-23  Simon Josefsson  <simon@josefsson.org>
23908
23909         * modules/hash-tests (test_hash_LDADD): Link to libintl when
23910         needed.
23911
23912 2009-06-21  Bruno Haible  <bruno@clisp.org>
23913
23914         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
23915         work.
23916         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
23917         together with LIB${NAME}, LTLIB${NAME}.
23918         Reported by Sam Steingold <sds@gnu.org>.
23919
23920 2009-06-20  Jim Meyering  <meyering@redhat.com>
23921
23922         tests: make sc_require_test_exit_idiom more generic
23923         * top/maint.mk (Exit_witness_file): New overridable variable.
23924         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
23925         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
23926
23927 2009-06-19  Jim Meyering  <meyering@redhat.com>
23928
23929         hash: reverse order of src/dst parameters in an internal interface
23930         * lib/hash.c (transfer_entries): Reverse order of parameters to
23931         put DST before SRC.  Adjust callers.
23932
23933         tests: test-hash: avoid wholesale duplication
23934         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
23935         Instead, use a loop and add a single conditional.
23936
23937         tests: test-hash: allow seed selection via a command line argument
23938         * tests/test-hash.c (get_seed): New function.
23939         (main): Use it.
23940
23941 2009-06-19  Eric Blake  <ebb9@byu.net>
23942
23943         hash: avoid memory leak on allocation failure
23944         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
23945         failure.  Factor repeated algorithm...
23946         (transfer_entries): ...into new helper routine.
23947         (hash_delete): React to hash_rehash return value.
23948
23949         hash: reduce memory pressure in hash_rehash no-op case
23950         * lib/hash.c (next_prime): Avoid overflow.
23951         (hash_initialize): Factor bucket size computation...
23952         (compute_bucket_size): ...into new helper function.
23953         (hash_rehash): Use new function and open coding to reduce memory
23954         pressure, and avoid a memory leak in USE_OBSTACK code.
23955         Reported by Jim Meyering.
23956
23957 2009-06-18  Eric Blake  <ebb9@byu.net>
23958
23959         hash: make rotation more obvious
23960         * modules/hash (Depends-on): Add bitrotate and stdint.
23961         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
23962         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
23963         (SIZE_MAX): Rely on headers for definition.
23964         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
23965         (raw_hasher): Use rotr_sz.
23966         Suggested by Jim Meyering.
23967
23968         hash: fix memory leak in last patch
23969         * lib/hash.c (hash_rehash): Avoid memory leak.
23970
23971         hash: avoid no-op rehashing
23972         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
23973
23974         hash: provide default callback functions
23975         * lib/hash.c (raw_hasher, raw_comparator): New functions.
23976         (hash_initialize): Use them as defaults.
23977         * tests/test-hash.c (main): Test this.
23978
23979         hash: minor optimization
23980         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
23981         when possible.
23982         (hash_initialize): Document this promise.
23983         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
23984         * tests/test-hash.c (hash_compare_strings): Test this.
23985
23986 2009-06-18  Bruno Haible  <bruno@clisp.org>
23987
23988         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
23989         going to be replaced anyway.
23990
23991 2009-06-18  Bruno Haible  <bruno@clisp.org>
23992
23993         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
23994         in one place.
23995         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
23996         be replaced anyway.
23997
23998 2009-06-18  Eric Blake  <ebb9@byu.net>
23999
24000         hash: check for resize before insertion
24001         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
24002         threshold before insertion, so that a pathological hash_rehash
24003         that fills every bucket can still trigger another rehash.
24004
24005 2009-06-18  Jim Meyering  <meyering@redhat.com>
24006
24007         hash-tests: add a loop around the small tests
24008         * tests/test-hash.c (main): Repeat small tests with selected
24009         small initial table sizes.
24010
24011 2009-06-17  Eric Blake  <ebb9@byu.net>
24012
24013         hash: minor cleanups
24014         * lib/hash.h (hash_entry): Make opaque, by moving...
24015         * lib/hash.c (hash_entry): ...here.
24016         (hash_insert): Clarify restrictions on what can be inserted.
24017         (hash_get_next): Clarify when it is safe to remove an element
24018         during traversal.
24019         (check_tuning): Skip verification when tuning is known safe.
24020         (hash_initialize): Clarify restrictions on tuning.
24021
24022 2009-06-17  Jim Meyering  <jim@meyering.net>
24023         and Eric Blake  <ebb9@byu.net>
24024
24025         hash-tests: new module
24026         * modules/hash-tests: New file.
24027         * tests/test-hash.c: New file.
24028
24029 2009-06-17  Eric Blake  <ebb9@byu.net>
24030
24031         strstr-simple: document new module
24032         * MODULES.html.sh: Document new module.
24033
24034         strstr, strcasestr: replace on platforms with broken memchr
24035         * modules/strstr: Split into...
24036         * modules/strstr-simple: ...new module that does not care about
24037         performance, but does care about glibc bug.
24038         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
24039         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
24040         if platform memchr is broken, per Debian bug 521737.
24041         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
24042         memchr.
24043         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
24044         * doc/posix-functions/strstr.texi (strstr): Document the fix.
24045         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
24046         * modules/mountlist (Depends-on): Add strstr-simple.
24047         * modules/gen-uni-tables (Depends-on): Likewise.
24048         * modules/argz (Depends-on): Add strstr.
24049
24050 2009-06-17  Bruno Haible  <bruno@clisp.org>
24051
24052         * modules/posix_spawn-internal (Depends-on): Add errno.
24053
24054 2009-06-17  Bruno Haible  <bruno@clisp.org>
24055
24056         Define missing ESTALE on Interix 3.5.
24057         * lib/errno.in.h (ESTALE): Assign a value if missing.
24058         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
24059         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
24060         missing.
24061         * doc/posix-headers/errno.texi: Mention the Interix bug.
24062         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
24063
24064 2009-06-15  Eric Blake  <ebb9@byu.net>
24065
24066         memchr, memchr2: add valgrind exception
24067         * lib/memchr.valgrind: New file.
24068         * lib/memchr2.valgrind: New file.
24069         * modules/memchr (Files): Distribute valgrind file.
24070         * modules/memchr2 (Files): Likewise.
24071
24072         docs: memchr is no longer obsolete
24073         * MODULES.html.sh: Move memchr from obsolete to string.h section.
24074         * lib/string.in.h (memchr): Simplify logic.
24075
24076 2009-06-14  Jim Meyering  <meyering@redhat.com>
24077
24078         link-follow: fix the "checking..." message to not mention trailing slash
24079         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
24080         never considered trailing slashes.
24081
24082 2009-06-14  Bruno Haible  <bruno@clisp.org>
24083
24084         * m4/memchr.m4: Mention also the bug on IA-64.
24085         * doc/posix-functions/memchr.texi: Likewise.
24086
24087 2009-06-12  Eric Blake  <ebb9@byu.net>
24088
24089         memchr: detect broken x86_64 and alpha implementations
24090         * modules/memchr-tests (Depends-on): Move mmap detection...
24091         * modules/memchr (Depends-on): ...here.
24092         (configure.ac): Set indicator.
24093         * lib/string.in.h (memchr): Declare replacement.
24094         * modules/string (Makefile.am): Trigger replacement.
24095         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
24096         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
24097         bugs.
24098         * doc/posix-functions/memchr.texi (memchr): Document the bug.
24099         * modules/getpagesize (License): Relax license.
24100
24101 2009-06-11  Bruno Haible  <bruno@clisp.org>
24102
24103         * lib/idpriv.h: Add more references.
24104
24105 2009-06-08  Bruno Haible  <bruno@clisp.org>
24106
24107         Tests for module 'idpriv-droptemp'.
24108         * modules/idpriv-droptemp-tests: New file.
24109         * tests/test-idpriv-droptemp.sh: New file.
24110         * tests/test-idpriv-droptemp.su.sh: New file.
24111         * tests/test-idpriv-droptemp.c: New file.
24112
24113         New module 'idpriv-droptemp'.
24114         * lib/idpriv-droptemp.c: New file.
24115         * modules/idpriv-droptemp: New file.
24116
24117 2009-06-08  Bruno Haible  <bruno@clisp.org>
24118
24119         Tests for module 'idpriv-drop'.
24120         * modules/idpriv-drop-tests: New file.
24121         * tests/test-idpriv-drop.sh: New file.
24122         * tests/test-idpriv-drop.su.sh: New file.
24123         * tests/test-idpriv-drop.c: New file.
24124
24125         New module 'idpriv-drop'.
24126         * lib/idpriv.h: New file.
24127         * lib-idpriv-drop.c: New file.
24128         * m4/idpriv.m4: New file.
24129         * modules/idpriv-drop: New file.
24130
24131 2009-06-08  Bruno Haible  <bruno@clisp.org>
24132
24133         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
24134         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
24135         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
24136         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
24137         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
24138         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
24139         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
24140
24141 2009-06-08  Eric Blake  <ebb9@byu.net>
24142
24143         test-strstr: use memory fence, when possible
24144         * tests/test-strstr.c (main): Use memory fence, in order to be
24145         more likely to trigger Debian bug 521737.
24146         * modules/strstr-tests (Files): Pull in additional files.
24147
24148         memchr: no longer obsolete, for wider field testing
24149         * modules/memchr (Status, Notice): Delete, this module is no
24150         longer obsolete.
24151         * modules/vasnprintf (Depends-on): Add memchr.
24152
24153 2009-06-07  Jim Meyering  <meyering@redhat.com>
24154
24155         hash: declare some functions with the warn_unused_result attribute
24156         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
24157
24158 2009-06-07  Bruno Haible  <bruno@clisp.org>
24159
24160         * tests/test-alignof.c: Don't test int64_t if it does not exist.
24161         Reported by Eric Blake.
24162
24163 2009-06-06  Eric Blake  <ebb9@byu.net>
24164
24165         test-alignof: fix typo with long double
24166         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
24167         compiler error.
24168
24169 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
24170
24171         Escape non-texinfo { and }s.
24172         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
24173         markup error.
24174
24175 2009-06-04  Jim Meyering  <meyering@redhat.com>
24176
24177         gitlog-to-changelog: don't infloop on an empty commit log
24178         * build-aux/gitlog-to-changelog: Warn about an empty log message.
24179         Reported by Boris Petersen <transacid@centerim.org>.
24180
24181 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
24182
24183         version-etc: extend for packagers
24184         Add three new configure options, intended for packagers:
24185           --with-packager="packager name"
24186           --with-packager-version="packager-specific version"
24187           --with-packager-bug-reports="packager bug reporting"
24188         An example with coreutils:
24189           $ ./configure \
24190             --with-packager=Gentoo \
24191             --with-packager-bug-report=http://bugs.gentoo.org/ \
24192             --with-packager-version="patchset 1.6"
24193           $ ./src/ls --version | head -n2
24194           ls (GNU coreutils) 7.1-dirty
24195           Packaged by Gentoo (patchset 1.6)
24196         Note that the bug reporting info via --help doesn't show up because
24197         coreutils uses its own custom emit_bug_reporting_address() implementation
24198         in src/system.h.  If it didn't, it'd look like:
24199           $ ./src/ls --help | tail -n4
24200           Report bugs to <bug-coreutils@gnu.org>.
24201           Report Gentoo bugs to <http://bugs.gentoo.org/>.
24202           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
24203           General help using GNU software: <http://www.gnu.org/gethelp/>.
24204         * lib/version-etc.c: Print new information, if provided.
24205         * m4/version-etc.m4: New file.
24206         * modules/version-etc (Files): Add m4/version-etc.m4.
24207         (configure.ac): Add gl_VERSION_ETC.
24208
24209 2009-05-31  Bruno Haible  <bruno@clisp.org>
24210
24211         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
24212         and 'int64_t'.
24213         * modules/alignof-tests (Dependencies): Add stdint.
24214         Reported by Eric Blake.
24215
24216 2009-05-31  Bruno Haible  <bruno@clisp.org>
24217
24218         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
24219         restriction due to compiler bugs.
24220         Reported by Eric Blake.
24221
24222 2009-05-31  Simon Josefsson  <simon@josefsson.org>
24223             Bruno Haible  <bruno@clisp.org>
24224
24225         Fix test-alignof failure.
24226         * lib/alignof.h (alignof_slot): New macro.
24227         (alignof_type): New macro, with the same semantics as the previous
24228         'alignof'.
24229         (alignof): Alias to alignof_slot.
24230         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
24231         check that the results are usable as constant expressions.
24232
24233 2009-05-31  Bruno Haible  <bruno@clisp.org>
24234
24235         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
24236         * tests/test-memchr.c (main): Check that memchr does not read past the
24237         first occurrence of the byte.
24238         * tests/test-strstr.c (main): Update comment.
24239         Suggested by Eric Blake.
24240
24241 2009-05-30  Bruno Haible  <bruno@clisp.org>
24242
24243         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
24244         detail how to use dumpbin.
24245         Reported by David Byron <dbyron@dbyron.com>.
24246
24247 2009-06-02  Simon Josefsson  <simon@josefsson.org>
24248
24249         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
24250
24251 2009-06-02  Simon Josefsson  <simon@josefsson.org>
24252
24253         * m4/manywarnings.m4: Add GCC 4.4 warnings.
24254
24255 2009-05-28  Bruno Haible  <bruno@clisp.org>
24256
24257         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
24258         build-aux/ files.
24259
24260 2009-05-28  Simon Josefsson  <simon@josefsson.org>
24261
24262         * gnulib-tool (func_import): Transform license on build-aux/ files too.
24263
24264 2009-05-27  Simon Josefsson  <simon@josefsson.org>
24265
24266         * gnulib-tool (sed_transform_main_lib_file)
24267         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
24268         regexps.
24269
24270 2009-05-26  Simon Josefsson  <simon@josefsson.org>
24271
24272         * tests/test-strstr.c: Add another self-test.
24273         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
24274         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
24275
24276 2009-05-23  Bruno Haible  <bruno@clisp.org>
24277
24278         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
24279         change.
24280
24281 2009-05-21  Bruno Haible  <bruno@clisp.org>
24282
24283         Simplify use of mode_t varargs.
24284         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
24285         uses 'mode_t' or 'int'.
24286         * lib/openat.c (openat): Likewise.
24287         * lib/open-safer.c (open_safer): Likewise.
24288         * m4/mode_t.m4: New file.
24289         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
24290         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
24291         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
24292         * modules/open (Files): Add m4/mode_t.m4.
24293         * modules/openat (Files): Likewise.
24294         * modules/fcntl-safer (Files): Likewise.
24295         Suggested by Eric Blake.
24296
24297 2009-05-21  Pádraig Brady  <P@draigbrady.com>
24298
24299         * doc/glibc-functions/fallocate.texi: New file.
24300         * doc/gnulib.texi: Include it.
24301
24302 2009-05-21  Eric Blake  <ebb9@byu.net>
24303             Bruno Haible  <bruno@clisp.org>
24304
24305         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
24306         invocations.
24307         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24308
24309 2009-05-21  Eric Blake  <ebb9@byu.net>
24310             Bruno Haible  <bruno@clisp.org>
24311
24312         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
24313         include_next. Fix of 2008-11-20 commit.
24314         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
24315         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
24316         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
24317         NEXT_MATH_H.
24318         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
24319         instead of NEXT_MATH_H.
24320
24321 2009-05-21  Bruno Haible  <bruno@clisp.org>
24322
24323         Avoid redefinition warnings for SIZE_MAX.
24324         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
24325         Reported by Simon Josefsson.
24326
24327 2009-05-21  Bruno Haible  <bruno@clisp.org>
24328
24329         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
24330         AC_CACHE_VAL.
24331
24332 2009-05-20  Bruno Haible  <bruno@clisp.org>
24333
24334         Make zeroptr.h work on mingw.
24335         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
24336         mprotect.
24337         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
24338         * modules/memchr2-tests (configure.ac): Likewise.
24339         * modules/memcmp-tests (configure.ac): Likewise.
24340         * modules/memmem-tests (configure.ac): Likewise.
24341         * modules/memrchr-tests (configure.ac): Likewise.
24342         Reported by Simon Josefsson.
24343
24344 2009-05-20  Simon Josefsson  <simon@josefsson.org>
24345
24346         * tests/test-glob.c: Include string.h for strcmp prototype.
24347
24348 2009-05-20  Simon Josefsson  <simon@josefsson.org>
24349
24350         * modules/getdelim (Depends-on): Add explicit stdint, although it
24351         was implicitly already pulled in via realloc-posix.
24352         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
24353
24354 2009-05-20  Simon Josefsson  <simon@josefsson.org>
24355
24356         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
24357         G. Christensen" <tgc@jupiterrise.com>.
24358         * m4/sys_socket_h.m4: Check for sa_family_t.
24359         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
24360         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
24361         * tests/test-sys_socket.c: Check that sa_family_t works.
24362
24363 2009-05-18  Eric Blake  <ebb9@byu.net>
24364
24365         maint.mk: allow gnulib_dir in VPATH build
24366         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
24367
24368 2009-05-15  Jim Meyering  <meyering@redhat.com>
24369
24370         maint.mk: Give gnulib_dir a default definition.
24371         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
24372         Thus, most packages no longer need to specify this variable in cfg.mk
24373
24374 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
24375
24376         rename.m4: fix typos that would make non-mingw cross-configure fail
24377         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
24378
24379 2009-05-13  Eric Blake  <ebb9@byu.net>
24380
24381         mmap-anon: avoid out-of-order autoconf expansion
24382         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
24383         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
24384         * modules/memchr-tests (Depends-on): Add extensions.
24385         * modules/memchr2-tests (Depends-on): Add extensions.
24386         * modules/memcmp-tests (Depends-on): Add extensions.
24387         * modules/memmem-tests (Depends-on): Add extensions.
24388         * modules/memrchr-tests (Depends-on): Add extensions.
24389
24390 2009-05-13  Bruno Haible  <bruno@clisp.org>
24391
24392         Make some tests ISO C 99 compliant.
24393         * tests/zerosize-ptr.h: New file.
24394         * tests/test-memchr.c: Include zerosize-ptr.h.
24395         (main): Use a zero-size object pointer instead of NULL.
24396         * tests/test-memchr2.c: Include zerosize-ptr.h.
24397         (main): Use a zero-size object pointer instead of NULL.
24398         * tests/test-memcmp.c: Include zerosize-ptr.h.
24399         (main): Use a zero-size object pointer instead of NULL.
24400         * tests/test-memmem.c: Include zerosize-ptr.h.
24401         (main): Use a zero-size object pointer instead of NULL.
24402         * tests/test-memrchr.c: Include zerosize-ptr.h.
24403         (main): Use a zero-size object pointer instead of NULL.
24404         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
24405         m4/mmap-anon.m4.
24406         (Depends-on): Add getpagesize.
24407         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24408         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
24409         m4/mmap-anon.m4.
24410         (Depends-on): Add getpagesize.
24411         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24412         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
24413         m4/mmap-anon.m4.
24414         (Depends-on): Add getpagesize.
24415         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24416         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
24417         m4/mmap-anon.m4.
24418         (Depends-on): Add getpagesize.
24419         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24420         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
24421         m4/mmap-anon.m4.
24422         (Depends-on): Add getpagesize.
24423         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
24424
24425 2009-05-12  Bruno Haible  <bruno@clisp.org>
24426
24427         Tests for module 'alignof'.
24428         * modules/alignof-tests: New file.
24429         * tests/test-alignof.c: New file.
24430
24431 2009-05-12  Bruno Haible  <bruno@clisp.org>
24432
24433         Fix alignof macro.
24434         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
24435         vendor compilers that are always correct.
24436
24437 2009-05-12  Bruno Haible  <bruno@clisp.org>
24438
24439         Make the MAP_ANONYMOUS detection work on HP-UX 11.
24440         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
24441         not whether its fully works.
24442
24443 2009-05-12  Bruno Haible  <bruno@clisp.org>
24444
24445         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
24446
24447 2009-05-12  Jim Meyering  <meyering@redhat.com>
24448
24449         * top/maint.mk: Adjust backslash alignment.
24450
24451 2009-05-11  Simon Josefsson  <simon@josefsson.org>
24452
24453         * top/maint.mk: Make $(srcdir)/build-aux configurable.
24454
24455 2009-05-11  Eric Blake  <ebb9@byu.net>
24456
24457         argp: avoid undefined behavior
24458         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
24459         macros.
24460
24461 2009-05-08  Simon Josefsson  <simon@josefsson.org>
24462
24463         * tests/test-vc-list-files-git.sh: Do git config of user.email and
24464         user.name to prevent git commit from complaining.
24465
24466 2009-05-10  Bruno Haible  <bruno@clisp.org>
24467
24468         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
24469         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
24470         it rewrites every file name only once.
24471         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
24472
24473 2009-05-08  Bruno Haible  <bruno@clisp.org>
24474
24475         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
24476         instead of 'max'.
24477
24478 2009-05-08  Simon Josefsson  <simon@josefsson.org>
24479
24480         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
24481         sockaddr_storage test.
24482
24483 2009-05-07  Simon Josefsson  <simon@josefsson.org>
24484
24485         * modules/sys_socket (Makefile.am): Substitute
24486         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
24487         * m4/sys_socket_h.m4: Check for sockaddr_storage.
24488         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
24489         * tests/test-sys_socket.c: Check sockaddr_storage.
24490
24491 2009-05-08  Bruno Haible  <bruno@clisp.org>
24492
24493         New module 'alignof'.
24494         * lib/alignof.h: New file.
24495         * modules/alignof: New file.
24496
24497 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24498             Bruno Haible  <bruno@clisp.org>
24499
24500         Fix test-file-has-acl on FreeBSD.
24501         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
24502         mask is implicitly added.
24503         * tests/test-file-has-acl.c: Include <signal.h>.
24504         (main): Terminate the test after 5 seconds.
24505         * modules/acl-tests (configure.ac): Check for alarm function.
24506
24507 2009-05-04  Bruno Haible  <bruno@clisp.org>
24508
24509         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
24510         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
24511         * modules/errno (configure.ac): Drop AC_REQUIRE.
24512         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
24513         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
24514
24515 2009-05-04  Simon Josefsson  <simon@josefsson.org>
24516
24517         * modules/glob-tests: New module.
24518         * tests/test-glob.c: Add.
24519
24520 2009-05-04  Simon Josefsson  <simon@josefsson.org>
24521
24522         * modules/fnmatch-tests: New module.
24523         * tests/test-fnmatch.c: Add.
24524
24525 2009-05-04  Eric Blake  <ebb9@byu.net>
24526
24527         maint: make the new no-submodule-changes rule VPATH-safe
24528         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
24529
24530 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24531             Bruno Haible  <bruno@clisp.org>
24532
24533         acl: Fix infinite loop on FreeBSD.
24534         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
24535         of return value from acl_get_entry.
24536         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
24537         Likewise.
24538
24539 2009-05-03  Bruno Haible  <bruno@clisp.org>
24540
24541         * lib/acl-internal.h (acl_entries): Clarify return value.
24542         * lib/acl_entries.c (acl_entries): Likewise.
24543
24544 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24545
24546         Bug fix in acl module.
24547         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
24548
24549 2009-05-03  Bruno Haible  <bruno@clisp.org>
24550
24551         Create gperf-generated file in the source dir, not in the build dir.
24552         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
24553         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
24554         * modules/unicase/locale-language (unicase/locale-languages.h):
24555         Likewise.
24556         * modules/unicase/special-casing (unicase/special-casing-table.h):
24557         Likewise.
24558         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
24559         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
24560         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
24561         Reported by Ralf Wildenhues.
24562
24563 2009-05-03  Bruno Haible  <bruno@clisp.org>
24564
24565         * modules/fnmatch (Description, configure.ac): Taken from
24566         fnmatch-posix.
24567         * modules/fnmatch-posix: Turn into a symbolic reference to the
24568         'fnmatch' module, and deprecate.
24569         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
24570
24571 2009-05-03  Bruno Haible  <bruno@clisp.org>
24572
24573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
24574         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
24575         Reported by Ralf Wildenhues.
24576
24577 2009-05-04  Simon Josefsson  <simon@josefsson.org>
24578
24579         * m4/fnmatch.m4: Fix fnmatch re-define.
24580
24581 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
24582
24583         priv-set: new module and tests; adapt write-any-file
24584         * lib/priv-set.c: New file.
24585         * lib/priv-set.h: New file.
24586         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
24587         * lib/write-any-file.c: Simplify by using priv-set module.
24588         * m4/priv-set.m4: New file.
24589         * modules/priv-set: New file.
24590         * modules/unlinkdir: Add dependency on priv-set module.
24591         * modules/write-any-file: Likewise.
24592
24593         Tests for module 'priv-set'.
24594         * modules/priv-set-tests: New file.
24595         * tests/test-priv-set.c: New file.
24596
24597 2009-05-03  Jim Meyering  <meyering@redhat.com>
24598             Bruno Haible  <bruno@clisp.org>
24599
24600         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
24601         use the converted UTF-8 variant of the name instead.
24602
24603 2009-05-03  Jim Meyering  <meyering@redhat.com>
24604
24605         tests: tighten some getdate tests
24606         * tests/test-getdate.c (main): Tighten tests: require equality,
24607         not just greater than.  Set TZ envvar to UTC0.
24608
24609 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
24610
24611         getdate: correctly interpret "next monday" when run on a Monday
24612         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
24613         that e.g., "next tues" (when run on a tuesday) results in a date
24614         that is one week in the future, and not today's date.
24615         I.e., add a week when the wday is the same as the current one.
24616         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
24617         and earlier by Martin Bernreuther and Jan Minář.
24618         * tests/test-getdate.c (main): Check that "next DAY" is always in
24619         the future and that "last DAY" is always in the past.
24620
24621 2009-05-02  Jim Meyering  <meyering@redhat.com>
24622
24623         build: ensure that a release build fails when a submodule is unclean
24624         * top/maint.mk (no-submodule-changes): New rule.
24625         (alpha beta major): Depend on it.
24626
24627 2009-05-02  Bruno Haible  <bruno@clisp.org>
24628
24629         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
24630         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
24631         shell variable gl_fnmatch_required to detect which variant is
24632         requested.
24633         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
24634         gl_FUNC_FNMATCH_POSIX.
24635         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
24636         exclude fnmatch-posix.
24637
24638 2009-05-02  Bruno Haible  <bruno@clisp.org>
24639
24640         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
24641         * modules/mbsrtowcs (License): Change to LGPLv2+.
24642         * modules/strnlen1 (License): Likewise.
24643         Reported by Simon Josefsson.
24644
24645 2009-05-02  Bruno Haible  <bruno@clisp.org>
24646
24647         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
24648         "cross".
24649         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
24650         gnulib-tool was called with option --source-base=lib.
24651
24652 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24653
24654         Use automake *-local hooks without commands, for extensibility.
24655         * modules/localcharset (Makefile.am): Rename install-exec-local
24656         rule to install-exec-localcharset, and make it a prerequisite of
24657         install-exec-local.  Likewise, rename the uninstall-local rule to
24658         uninstall-localcharset, and make it a prerequisite of the former.
24659
24660 2009-05-01  Bruno Haible  <bruno@clisp.org>
24661
24662         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
24663         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
24664         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
24665         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
24666         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
24667         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
24668         m4/locale-zh.m4, m4/codeset.m4.
24669
24670         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
24671         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
24672         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
24673         m4/locale-zh.m4.
24674
24675         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
24676         REPLACE_WCRTOMB if mbstate_t must be replaced.
24677         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
24678         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
24679
24680 2009-05-01  Bruno Haible  <bruno@clisp.org>
24681
24682         Avoid compiler warnings when redefining macros defined by <libintl.h>.
24683         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
24684         dngettext, dcngettext, textdomain, bindtextdomain,
24685         bind_textdomain_codeset): Undefine before redefining.
24686
24687 2009-04-30  Bruno Haible  <bruno@clisp.org>
24688
24689         Fix bug introduced on 2009-04-25.
24690         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
24691         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
24692         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
24693         is defined.
24694         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
24695         is defined.
24696         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
24697         is defined.
24698         Reported by Elbert_Pol <elbert.pol@gmail.com>.
24699
24700 2009-04-28  Bruno Haible  <bruno@clisp.org>
24701
24702         Comment tweaks.
24703         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
24704         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
24705         * lib/unicase.h (u*_casexfrm): Likewise.
24706         Reported by Paolo Bonzini.
24707
24708 2009-04-28  Bruno Haible  <bruno@clisp.org>
24709
24710         Fix a compilation error.
24711         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
24712         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
24713         Reported by Jim Meyering.
24714
24715 2009-04-27  Bruno Haible  <bruno@clisp.org>
24716
24717         New module 'libunistring'.
24718         * modules/libunistring: New file.
24719         * m4/libunistring.m4: New file.
24720         * MODULES.html.sh (Unicode string functions): Add it.
24721
24722 2009-04-27  Eric Blake  <ebb9@byu.net>
24723
24724         maint.mk: allow package-specific header to provide <config.h>
24725         * top/maint.mk (sc_require_config_h): New variable.
24726         (sc_require_config_h, sc_require_config_h_first): Use it.
24727
24728 2009-04-27  Simon Josefsson  <simon@josefsson.org>
24729
24730         * top/maint.mk (sc_avoid_if_before_free): Except
24731         useless-if-before-free script.
24732
24733 2009-04-27  Eric Blake  <ebb9@byu.net>
24734
24735         maintainer-makefile: depend on all required helper scripts
24736         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
24737         useless-if-before-free.
24738         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
24739         version, rather than assuming gnulib checkout is available.
24740         Reported by Simen Josefsson.
24741
24742 2009-04-26  Bruno Haible  <bruno@clisp.org>
24743
24744         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
24745         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
24746         "../" or "..".
24747
24748 2009-04-26  Bruno Haible  <bruno@clisp.org>
24749
24750         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
24751         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
24752         AC_LIB_HAVE_LINKFLAGS.
24753
24754 2009-04-26  Bruno Haible  <bruno@clisp.org>
24755
24756         Simplify calling convention of u*_conv_from_encoding.
24757         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
24758         u32_conv_from_encoding): Expect a resultbuf argument and return the
24759         result directly as a pointer.
24760         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
24761         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
24762         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
24763         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
24764         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
24765         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
24766         Update.
24767         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
24768         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
24769         * lib/vasnprintf.c (VASNPRINTF): Update.
24770         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
24771         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
24772         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
24773         * NEWS: Mention the change.
24774
24775 2009-04-26  Bruno Haible  <bruno@clisp.org>
24776
24777         Simplify calling convention of u*_conv_to_encoding.
24778         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
24779         u32_conv_to_encoding): Expect a resultbuf argument and return the
24780         result directly as a pointer.
24781         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
24782         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
24783         freeing scaled_offsets if mem_iconveha failed.
24784         * lib/unicase/u-casexfrm.h (FUNC): Update.
24785         * lib/uninorm/u-normxfrm.h (FUNC): Update.
24786         * lib/vasnprintf.c (VASNPRINTF): Update.
24787         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
24788         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
24789         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
24790         * NEWS: Mention the change.
24791
24792 2009-04-26  Bruno Haible  <bruno@clisp.org>
24793
24794         Avoid test failures on AIX and OSF/1.
24795         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
24796         malloc(0).
24797         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
24798         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
24799         Likewise.
24800         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
24801         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
24802         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
24803         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
24804         * doc/posix-functions/malloc.texi: Document the portability problem
24805         related to malloc(0).
24806
24807 2009-04-26  Bruno Haible  <bruno@clisp.org>
24808
24809         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
24810         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
24811         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
24812
24813 2009-04-25  Bruno Haible  <bruno@clisp.org>
24814
24815         Avoid link error when creating a namespace clean library.
24816         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
24817         as macro with arguments if already defined as an alias.
24818         * lib/signbitf.c (gl_signbitf): Don't undefine.
24819         * lib/signbitd.c (gl_signbitd): Don't undefine.
24820         * lib/signbitl.c (gl_signbitl): Don't undefine.
24821
24822 2009-04-25  Jim Meyering  <meyering@redhat.com>
24823
24824         vc-list-files: fix another quoting bug
24825         * build-aux/vc-list-files: Avoid sed backslash expansion
24826         of pathological directory names.
24827
24828 2009-04-25  Eric Blake  <ebb9@byu.net>
24829
24830         vc-list-files: fix shell quoting error
24831         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
24832         timestamp.
24833
24834 2009-04-25  Jim Meyering  <meyering@redhat.com>
24835
24836         vc-list-files: restore lost functionality with subdir argument
24837         * build-aux/vc-list-files: When given a non-"." sub-directory
24838         argument, substitute the $dir/ prefix back onto each resulting name.
24839         Otherwise, coreutils' root_tests check would fail.
24840
24841 2009-04-24  Eric Blake  <ebb9@byu.net>
24842
24843         vc-list-files: ignore git symlinks
24844         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
24845         than ls-files, to ignore git symlinks.
24846
24847         maint.mk: import improvements from m4
24848         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
24849         (move_if_change): Delete unused macro.
24850         (news-date-check, vc-diff-check): Support VPATH builds.
24851         (announcement): Likewise.  Split --bootstrap-tools list...
24852         (boostrap-tools): ...into separate list, which can be overridden
24853         in cfg.mk.
24854         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
24855         requiring dependency on useless-if-before-free module.
24856         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
24857         Support VPATH builds.
24858
24859 2009-04-24  Jim Meyering  <meyering@redhat.com>
24860
24861         maint.mk: remove coreutils-specific rules and variables
24862         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
24863         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
24864         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
24865
24866         maint.mk: remove obsolete rule
24867         * top/maint.mk (rel-check): Remove rule.
24868         (WGET, WGETFLAGS): Remove now-unused variables.
24869
24870 2009-04-24  Simon Josefsson  <simon@josefsson.org>
24871
24872         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
24873         consistency.
24874
24875         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
24876         '$(PATH_SEPARATOR)' instead of ':'.
24877
24878 2009-04-24  Simon Josefsson  <simon@josefsson.org>
24879
24880         * lib/getopt1.c (main): Use 'const' for static array.
24881
24882 2009-04-24  Simon Josefsson  <simon@josefsson.org>
24883
24884         * top/maint.mk: Sync with coreutils.
24885         * NEWS: Explain incompatibilities.
24886
24887 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24888             Bruno Haible  <bruno@clisp.org>
24889
24890         Fix cross-compilation results.
24891         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
24892         statement, as third argument of AC_TRY_RUN.
24893         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24894         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24895         Likewise.
24896         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24897         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
24898         Likewise.
24899         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24900         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
24901         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
24902
24903 2009-04-20  Bruno Haible  <bruno@clisp.org>
24904
24905         Avoid test failure on mingw.
24906         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
24907
24908 2009-04-20  Bruno Haible  <bruno@clisp.org>
24909
24910         Avoid compilation error on mingw.
24911         * modules/localename-tests (Depends-on): Add locale.
24912
24913 2009-04-19  Bruno Haible  <bruno@clisp.org>
24914
24915         Support for building a shared library on Windows platforms.
24916         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
24917         (main): Test the presence of UNINORM_NFC here.
24918         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
24919         (main): Test the presence of UNINORM_NFD here.
24920         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
24921         (main): Test the presence of UNINORM_NFKC here.
24922         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
24923         (main): Test the presence of UNINORM_NFKD here.
24924
24925 2009-04-19  Bruno Haible  <bruno@clisp.org>
24926
24927         Avoid a compiler warning.
24928         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
24929         Change type of variable 'sequence'.
24930
24931 2009-04-19  Bruno Haible  <bruno@clisp.org>
24932
24933         * modules/configmake (Makefile.am): When the contents of configmake.h
24934         does not change, arrange to preserve its modification time.
24935
24936 2009-04-17  Simon Josefsson  <simon@josefsson.org>
24937
24938         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
24939         gettext domain.
24940
24941 2009-04-16  Jim Meyering  <meyering@redhat.com>
24942
24943         useless-if-before-free: improve conversion code
24944         * build-aux/useless-if-before-free: Adjust code-in-comment to match
24945         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
24946
24947 2009-04-14  Bruno Haible  <bruno@clisp.org>
24948
24949         * modules/fcntl (Depends-on): Add extensions.
24950         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
24951
24952 2009-04-12  Ben Pfaff  <blp@gnu.org>
24953
24954         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
24955         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
24956
24957 2009-03-20  Ben Pfaff  <blp@gnu.org>
24958
24959         Make rename replace existing destinations on Windows.
24960         * m4/rename.m4: Add test for Mingw.
24961         * lib/rename.c: Add rename replacement that uses MoveFileEx with
24962         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
24963         * doc/posix-functions/rename.texi: Document.
24964
24965 2009-04-10  Bruno Haible  <bruno@clisp.org>
24966
24967         New include file "iconveh.h".
24968         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
24969         * lib/striconveh.h: Include it.
24970         (enum iconv_ilseq_handler): Remove definition.
24971         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
24972         striconveh.h.
24973         * lib/striconveha.c: Include striconveh.h.
24974         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
24975         * modules/striconveh (Files): Add lib/iconveh.h.
24976         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
24977         lib/striconveh.h.
24978
24979 2009-04-10  Bruno Haible  <bruno@clisp.org>
24980
24981         * lib/uniconv.h: Update comment.
24982
24983 2009-04-10  Bruno Haible  <bruno@clisp.org>
24984
24985         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
24986         always.
24987         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
24988         * lib/unistr/u16-mbtouc-aux.c: Likewise.
24989         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
24990         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
24991         "unistring-notinline.h", so that the function gets defined always.
24992         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
24993         * lib/unistr/u8-uctomb.c: Likewise.
24994         * lib/unistr/u16-mbtouc.c: Likewise.
24995         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
24996         * lib/unistr/u16-uctomb.c: Likewise.
24997         * lib/unistr/u32-mbtouc.c: Likewise.
24998         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
24999         * lib/unistr/u32-uctomb.c: Likewise.
25000
25001 2009-04-10  Bruno Haible  <bruno@clisp.org>
25002
25003         Mark 'utime' obsolete.
25004         * modules/utime (Status, Notice): New sections.
25005         Suggested by Jim Meyering.
25006
25007         Fix cross-compile guess for utime test.
25008         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
25009         autoconf.
25010         * doc/posix-functions/utime.texi: Give more precisions.
25011         Reported by Jan <ipif@ymail.com>.
25012
25013 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
25014
25015         filevercmp: correct today's change
25016         * lib/filevercmp.c: Also handle coreutils' test inputs.
25017         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
25018
25019         Fix regression in 'filevercmp' module. Thanks Sven Joachim
25020         for reporting it.
25021         * lib/filevercmp.c: Special handle for "", "." and "..".
25022         * tests/test-filevercmp.c: Enlarge the set suite.
25023
25024 2009-04-07  Jim Meyering  <meyering@redhat.com>
25025
25026         useless-if-before-free: show how to remove braced useless free, too
25027         * build-aux/useless-if-before-free: still only in a comment, though.
25028
25029 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
25030
25031         maint.mk: import changes to syntax-check macros from coreutils
25032         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
25033         Use them in the relevant macros.
25034
25035 2009-04-06  Bruno Haible  <bruno@clisp.org>
25036
25037         Fix unportable use of bit-fields.
25038         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
25039         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
25040         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
25041
25042 2009-04-06  Bruno Haible  <bruno@clisp.org>
25043
25044         Avoid test failures on AIX and OSF/1.
25045         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
25046         that malloc(0) = NULL.
25047         * tests/unicase/test-u8-tolower.c (check): Likewise.
25048         * tests/unicase/test-u8-totitle.c (check): Likewise.
25049         * tests/unicase/test-u8-toupper.c (check): Likewise.
25050         * tests/unicase/test-u16-casefold.c (check): Likewise.
25051         * tests/unicase/test-u16-tolower.c (check): Likewise.
25052         * tests/unicase/test-u16-totitle.c (check): Likewise.
25053         * tests/unicase/test-u16-toupper.c (check): Likewise.
25054         * tests/unicase/test-u32-casefold.c (check): Likewise.
25055         * tests/unicase/test-u32-tolower.c (check): Likewise.
25056         * tests/unicase/test-u32-totitle.c (check): Likewise.
25057         * tests/unicase/test-u32-toupper.c (check): Likewise.
25058         * tests/uninorm/test-u8-nfc.c (check): Likewise.
25059         * tests/uninorm/test-u8-nfd.c (check): Likewise.
25060         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
25061         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
25062         * tests/uninorm/test-u16-nfc.c (check): Likewise.
25063         * tests/uninorm/test-u16-nfd.c (check): Likewise.
25064         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
25065         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
25066         * tests/uninorm/test-u32-nfc.c (check): Likewise.
25067         * tests/uninorm/test-u32-nfd.c (check): Likewise.
25068         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
25069         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
25070
25071 2009-04-05  Bruno Haible  <bruno@clisp.org>
25072
25073         Work around an autoconf limitation.
25074         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
25075         comment line if it would be longer than 3 KB.
25076
25077 2009-04-05  Bruno Haible  <bruno@clisp.org>
25078
25079         Avoid test failure with libiconv-1.13.
25080         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
25081         of the expected test results.
25082
25083 2009-04-05  Bruno Haible  <bruno@clisp.org>
25084
25085         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
25086         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
25087         that it should be installed.
25088
25089 2009-04-05  Bruno Haible  <bruno@clisp.org>
25090
25091         * gnulib-tool: New option --copy-file.
25092         (func_usage): Document it.
25093         (func_dest_tmpfilename): Moved out of func_import.
25094         (func_add_file, func_update_file): New functions, extracted from
25095         func_import.
25096         (func_import): Update.
25097
25098 2009-04-05  Karl Berry  <karl@gnu.org>
25099
25100         * README: prominently mention gnulib-tool.
25101         Rearrange sections so getting the code is near the top.
25102
25103 2009-04-05  Bruno Haible  <bruno@clisp.org>
25104
25105         * lib/unicase.h: Mention u*_cmp2.
25106         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
25107         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
25108         * lib/unicase/ulc-casecmp.c: Likewise.
25109         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
25110         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
25111         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
25112         unistr/u8-cmp.
25113         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
25114         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
25115         unistr/u16-cmp.
25116         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
25117         unistr/u32-cmp.
25118
25119         * lib/uninorm.h: Mention u*_cmp2.
25120         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
25121         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
25122         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
25123         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
25124         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
25125         unistr/u8-cmp.
25126         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
25127         unistr/u16-cmp.
25128         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
25129         unistr/u32-cmp.
25130
25131         New module 'unistr/u32-cmp2'.
25132         * lib/unistr/u32-cmp2.c: New file.
25133         * modules/unistr/u32-cmp2: New file.
25134
25135         New module 'unistr/u16-cmp2'.
25136         * lib/unistr/u16-cmp2.c: New file.
25137         * modules/unistr/u16-cmp2: New file.
25138
25139         New module 'unistr/u8-cmp2'.
25140         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
25141         * lib/unistr/u8-cmp2.c: New file.
25142         * lib/unistr/u-cmp2.h: New file.
25143         * modules/unistr/u8-cmp2: New file.
25144
25145 2009-04-05  Bruno Haible  <bruno@clisp.org>
25146
25147         * lib/unictype.h (uc_property_is_valid): New macro.
25148         * tests/unictype/test-pr_byname.c (main): Use it.
25149
25150         * lib/unistr.h: Doc fixes.
25151         * lib/uniconv.h: Doc fixes.
25152         * lib/unictype.h: Doc fixes.
25153
25154 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
25155
25156         Port coreutils 7.2 to Solaris 8.
25157
25158         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
25159         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
25160         for Solaris 8.  This is a bit of a hack, as it means it's the
25161         caller's responsibility to add -lnsl if needed, but most likely it
25162         won't be needed since only getaddrinfo uses this and getaddrinfo
25163         isn't needed on Solaris 8.
25164
25165         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
25166         problem to Solaris 8 encountered with coreutils 7.2, which
25167         resulted in a message "fnmatch.c:292: warning: passing argument 4
25168         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
25169         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
25170
25171 2009-04-03  Simon Josefsson  <simon@josefsson.org>
25172
25173         * m4/ld-version-script.m4: Add FIXME comment.
25174
25175 2009-04-02  Simon Josefsson  <simon@josefsson.org>
25176
25177         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
25178         SOVERSION variable.
25179
25180 2009-04-02  Bruno Haible  <bruno@clisp.org>
25181
25182         * Makefile (info, html, dvi, pdf): Combine the rules.
25183         Suggested by Jim Meyering.
25184
25185 2009-04-01  Bruno Haible  <bruno@clisp.org>
25186
25187         * Makefile (info, html, dvi, pdf): New targets.
25188         Reported by Reuben Thomas <rrt@sc3d.org>.
25189
25190 2009-04-01  Bruno Haible  <bruno@clisp.org>
25191
25192         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
25193         can be put into PATH.
25194         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
25195
25196 2009-04-01  Bruno Haible  <bruno@clisp.org>
25197
25198         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
25199
25200 2009-04-01  Bruno Haible  <bruno@clisp.org>
25201
25202         Rename module 'visibility'.
25203         * modules/lib-symbol-visibility: Renamed from modules/visibility.
25204         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
25205         * doc/gnulib.texi: Update.
25206         * MODULES.html.sh (Misc): Update.
25207         * NEWS: Mention the change.
25208
25209 2009-04-01  Simon Josefsson  <simon@josefsson.org>
25210
25211         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
25212         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
25213         Eric Blake <ebb9@byu.net> for review.
25214         * MODULES.html.sh: Add lib-msvc-compat.
25215         * doc/gnulib.texi: Link to new section.
25216         * m4/ld-output-def.m4: New file.
25217         * doc/ld-output-def.texi: New file.
25218
25219 2009-04-01  Simon Josefsson  <simon@josefsson.org>
25220
25221         Rename ld-version-script to lib-symbol-versions.  Suggested by
25222         Bruno Haible <bruno@clisp.org>.
25223         * modules/ld-version-script: Renamed to lib-symbol-versions.
25224         * doc/ld-version-script.texi: Fix module name.
25225         * MODULES.html.sh: Add lib-symbol-versions.
25226
25227 2009-03-31  Simon Josefsson  <simon@josefsson.org>
25228
25229         * modules/u64-tests: New file.
25230         * tests/test-u64.c: New file.
25231
25232 2009-03-04  Simon Josefsson  <simon@josefsson.org>
25233
25234         * MODULES.html.sh: Mention u64.
25235         * modules/u64: New module.
25236         * modules/crypto/sha512: Depend on u64 module instead of providing
25237         u64.h.
25238
25239 2009-03-27  Eric Blake  <ebb9@byu.net>
25240
25241         test-strerror: make debugging EAI_SYSTEM easier
25242         * modules/getaddrinfo-tests (Depends-on): Add strerror.
25243         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
25244         failure was EAI_SYSTEM.
25245
25246 2009-03-25  Bruno Haible  <bruno@clisp.org>
25247
25248         Fix a problem with --enable-relocatable on Solaris 7.
25249         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
25250         since 2008-02-24.
25251
25252 2009-03-25  Eric Blake  <ebb9@byu.net>
25253
25254         test-sockets: avoid gcc warning
25255         * tests/test-sockets.c (main): Silence compiler warning.
25256
25257 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
25258
25259         New modules nproc, pthread, contributed by Glen Lenker.
25260
25261         * MODULES.html.sh: Add pthread, nproc.
25262         * lib/nproc.c: New file.
25263         * lib/nproc.h: New file.
25264         * lib/pthread.in.h: New file.
25265         * m4/pthread.m4: New file.
25266         * modules/nproc: New file.
25267         * modules/pthread: New file.
25268
25269 2009-03-24  Simon Josefsson  <simon@josefsson.org>
25270
25271         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
25272         New variable.
25273
25274 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
25275
25276         filevercmp: handle simple~ and numbered.~3~ backup suffixes
25277         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
25278         * tests/test-filevercmp.c: Add tests for backup suffixes.
25279
25280 2009-03-24  Simon Josefsson  <simon@josefsson.org>
25281
25282         * modules/stdlib (Depends-on): Add stdint, needed when defining
25283         struct random_data on, for example, HP-UX 10.20.  Reported by
25284         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25285
25286 2009-03-24  Simon Josefsson  <simon@josefsson.org>
25287
25288         * lib/readline.c (readline): Call fflush on stdout after printing
25289         prompt.
25290
25291 2009-03-20  Bruno Haible  <bruno@clisp.org>
25292
25293         Remove dependency from 'close' module to -lws2_32 on native Windows.
25294         * lib/close-hook.h: New file.
25295         * lib/close-hook.c: New file.
25296         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
25297         w32sock.h.
25298         (_gl_close_fd_maybe_socket): Remove function.
25299         (rpl_close): Invoke execute_all_close_hooks instead of
25300         _gl_close_fd_maybe_socket.
25301         * lib/sockets.c: Include close-hook.h, w32sock.h.
25302         (close_fd_maybe_socket): New function, essentially from lib/close.c.
25303         (close_sockets_hook): New variable.
25304         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
25305         (gl_sockets_cleanup): Unregister it.
25306         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
25307         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
25308         * modules/close-hook: New file.
25309         * modules/close (Files): Remove lib/w32sock.h.
25310         (Depends-on): Add close-hook.
25311         (Link): Remove section.
25312         * modules/sockets (Files): Add lib/w32sock.h.
25313         (Depends-on): Add close-hook.
25314         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
25315         invocation.
25316         * NEWS: Mention that LIB_CLOSE is gone.
25317
25318 2009-03-23  Eric Blake  <ebb9@byu.net>
25319
25320         signal-tests: test previous patch
25321         * tests/test-signal.c: New file.
25322         * modules/signal-tests: Likewise.
25323
25324         signal.h: always support 'volatile sig_atomic_t'
25325         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
25326         (gl_SIGNAL_H_DEFAULTS): Add a default.
25327         * modules/signal (Makefile.am): Substitute if needed.
25328         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
25329         users can blindly add volatile.
25330         * doc/posix-headers/signal.texi (signal.h): Document it.
25331         Reported by Matthew Woehlke.
25332
25333 2009-03-23  Jim Meyering  <meyering@redhat.com>
25334
25335         pathmax: PATH_MAX: use pathconf only when available
25336         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
25337         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
25338         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
25339         This avoids a link failure in a PSP cross-compilation environment
25340         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
25341
25342         * lib/vasnprintf.c (divide): Fix typo in comment.
25343
25344 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25345
25346         * gnulib-tool (func_filter_filelist): Fix comment.
25347
25348 2009-03-20  Bruno Haible  <bruno@clisp.org>
25349
25350         Make sockets.h self-contained.
25351         * lib/sockets.c: Include sockets.h first.
25352         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
25353
25354 2009-03-19  Eric Blake  <ebb9@byu.net>
25355
25356         doc: mention more functions added in cygwin 1.7.0
25357         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
25358         addition.
25359         * doc/posix-functions/log2f.texi: Likewise.
25360
25361 2009-03-19  Jim Meyering  <meyering@redhat.com>
25362
25363         fsusage: avoid syntax error due to statement-before-declaration
25364         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
25365         after all declarations.  Reported by Matthew Woehlke in
25366         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
25367
25368 2009-03-18  Eric Blake  <ebb9@byu.net>
25369
25370         build-aux/compile: sync from automake
25371         * build-aux/compile: New file, from automake.
25372         * config/srclist.txt: Mention build-aux/compile.
25373
25374 2009-03-17  Bruno Haible  <bruno@clisp.org>
25375
25376         * lib/git-merge-changelog.c: Fix typo in comment.
25377         Reported by Reuben Thomas <rrt@sc3d.org>.
25378
25379 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
25380
25381         * m4/regex.m4: update and improve help for
25382         --without-included-regex.
25383
25384 2009-03-17  Simon Josefsson  <simon@josefsson.org>
25385
25386         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
25387         failure on missing include files.
25388
25389 2009-03-17  Eric Blake  <ebb9@byu.net>
25390
25391         doc: mention more functions added in cygwin 1.7.0
25392         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
25393         addition.
25394         * doc/posix-functions/fwscanf.texi: Likewise.
25395         * doc/posix-functions/swprintf.texi: Likewise.
25396         * doc/posix-functions/swscanf.texi: Likewise.
25397         * doc/posix-functions/vfwprintf.texi: Likewise.
25398         * doc/posix-functions/vfwscanf.texi: Likewise.
25399         * doc/posix-functions/vswprintf.texi: Likewise.
25400         * doc/posix-functions/vswscanf.texi: Likewise.
25401         * doc/posix-functions/vwprintf.texi: Likewise.
25402         * doc/posix-functions/vwscanf.texi: Likewise.
25403         * doc/posix-functions/wcscasecmp.texi: Likewise.
25404         * doc/posix-functions/wcsdup.texi: Likewise.
25405         * doc/posix-functions/wcsftime.texi: Likewise.
25406         * doc/posix-functions/wcsncasecmp.texi: Likewise.
25407         * doc/posix-functions/wprintf.texi: Likewise.
25408         * doc/posix-functions/wscanf.texi: Likewise.
25409         * doc/glibc-functions/gethostbyname2.texi: Likewise.
25410
25411 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25412
25413         maint.mk: really add $(AM_MAKEFLAGS)
25414         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
25415         was inadvertently omitted in the last commit.
25416         Spotted by Bruno Haible.
25417
25418         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
25419         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
25420         $(AM_MAKEFLAGS)' rather than plain `make'.
25421
25422         gnulib-tool: execute $MAKE not make
25423         * gnulib-tool: Default $MAKE to 'make'.
25424         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
25425         than make.  Initialize $MAKE in the do-autobuild script.
25426
25427         gnulib-tool: use $MAKE not make in generated files
25428         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
25429         make, in generated files.  Initialize $MAKE in the do-autobuild
25430         script.
25431
25432         * top/GNUmakefile (_have-git-version-gen): Fix typo.
25433
25434         GNUmakefile: disable parallelism only for multiple, recursive targets
25435         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
25436         additions in the Makefile.
25437         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
25438         by Automake.
25439         (.NOTPARALLEL): Only disable parallel builds if multiple targets
25440         are listed on the command line and at least one of them is
25441         listed in $(ALL_RECURSIVE_TARGETS).
25442
25443 2009-03-14  Bruno Haible  <bruno@clisp.org>
25444
25445         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
25446         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
25447         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
25448         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
25449         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
25450         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
25451         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
25452         unistr/u8-uctomb.
25453         * modules/unistr/u8-strchr (Depends-on): Likewise.
25454         * modules/unistr/u8-strrchr (Depends-on): Likewise.
25455         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
25456         unistr/u16-uctomb.
25457         * modules/unistr/u16-strchr (Depends-on): Likewise.
25458         * modules/unistr/u16-strrchr (Depends-on): Likewise.
25459
25460 2009-03-12  Bruno Haible  <bruno@clisp.org>
25461
25462         Work around select() bug on Interix 3.5.
25463         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
25464         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
25465         * m4/select.m4: New file.
25466         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
25467         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
25468         * modules/select (Files): Add m4/select.m4.
25469         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
25470         * modules/nanosleep (Depends-on): Add select.
25471         * modules/poll (Depends-on): Likewise.
25472         * doc/posix-functions/select.texi: Mention the Interix bug.
25473         Reported by Markus Duft <mduft@gentoo.org>.
25474
25475         * lib/select.c: Renamed from lib/winsock-select.c.
25476         * modules/select (Files): Add lib/select.c, remove
25477         lib/winsock-select.c.
25478         (configure.ac): Update.
25479
25480 2009-03-12  Jim Meyering  <meyering@redhat.com>
25481
25482         avoid gcc warnings about unused macro definitions
25483         * lib/readtokens.c (STREQ): Remove unused definition.
25484         * lib/xmalloc.c (SIZE_MAX): Likewise.
25485         * lib/openat-die.c (N_): Likewise.
25486         * lib/mountlist.c (SIZE_MAX): Remove definition.
25487         Instead, include <stdint.h>.
25488         * lib/readutmp.c: Likewise.
25489         * modules/readutmp (Depends-on): Add stdint.
25490         * modules/mountlist (Depends-on): Add stdint.
25491         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
25492
25493 2009-03-10  Bruno Haible  <bruno@clisp.org>
25494
25495         Tests for module 'mbmemcasecoll'.
25496         * modules/mbmemcasecoll-tests: New file.
25497         * tests/test-mbmemcasecoll1.sh: New file.
25498         * tests/test-mbmemcasecoll2.sh: New file.
25499         * tests/test-mbmemcasecoll3.sh: New file.
25500         * tests/test-mbmemcasecoll.c: New file.
25501
25502         New module 'mbmemcasecoll'.
25503         * lib/mbmemcasecoll.h: New file.
25504         * lib/mbmemcasecoll.c: New file.
25505         * modules/mbmemcasecoll: New file.
25506
25507         * tests/test-mbmemcasecmp.h: New file, extracted from
25508         tests/test-mbmemcasecmp.c.
25509         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
25510         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
25511         (main): Update.
25512         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
25513
25514 2009-03-09  Bruno Haible  <bruno@clisp.org>
25515
25516         Tests for module 'mbmemcasecmp'.
25517         * modules/mbmemcasecmp-tests: New file.
25518         * tests/test-mbmemcasecmp1.sh: New file.
25519         * tests/test-mbmemcasecmp2.sh: New file.
25520         * tests/test-mbmemcasecmp3.sh: New file.
25521         * tests/test-mbmemcasecmp.c: New file.
25522
25523         New module 'mbmemcasecmp'.
25524         * lib/mbmemcasecmp.h: New file.
25525         * lib/mbmemcasecmp.c: New file.
25526         * modules/mbmemcasecmp: New file.
25527
25528 2009-03-09  Bruno Haible  <bruno@clisp.org>
25529
25530         Tests for module 'unicase/ulc-casecoll'.
25531         * modules/unicase/ulc-casecoll-tests: New file.
25532         * tests/unicase/test-ulc-casecoll1.sh: New file.
25533         * tests/unicase/test-ulc-casecoll2.sh: New file.
25534         * tests/unicase/test-ulc-casecoll.c: New file.
25535
25536         New module 'unicase/ulc-casecoll'.
25537         * lib/unicase.h (ulc_casecoll): New declaration.
25538         * lib/unicase/ulc-casecoll.c: New file.
25539         * modules/unicase/ulc-casecoll: New file.
25540
25541         New module 'unicase/ulc-casexfrm'.
25542         * lib/unicase.h (ulc_casexfrm): New declaration.
25543         * lib/unicase/ulc-casexfrm.c: New file.
25544         * modules/unicase/ulc-casexfrm: New file.
25545
25546 2009-03-09  Bruno Haible  <bruno@clisp.org>
25547
25548         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
25549         invocations.
25550
25551         * m4/mbscasecmp.m4: Remove file.
25552         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
25553         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
25554
25555         * m4/mbscasestr.m4: Remove file.
25556         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
25557         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
25558
25559         * m4/mbschr.m4: Remove file.
25560         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
25561         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
25562
25563         * m4/mbscspn.m4: Remove file.
25564         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
25565         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
25566
25567         * m4/mbslen.m4: Remove file.
25568         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
25569         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
25570
25571         * m4/mbsncasecmp.m4: Remove file.
25572         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
25573         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
25574
25575         * m4/mbsnlen.m4: Remove file.
25576         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
25577         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
25578
25579         * m4/mbspbrk.m4: Remove file.
25580         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
25581         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
25582
25583         * m4/mbspcasecmp.m4: Remove file.
25584         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
25585         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
25586
25587         * m4/mbsrchr.m4: Remove file.
25588         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
25589         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
25590
25591         * m4/mbssep.m4: Remove file.
25592         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
25593         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
25594
25595         * m4/mbsspn.m4: Remove file.
25596         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
25597         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
25598
25599         * m4/mbsstr.m4: Remove file.
25600         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
25601         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
25602
25603         * m4/mbstok_r.m4: Remove file.
25604         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
25605         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
25606
25607         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
25608
25609         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
25610         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
25611
25612         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
25613
25614 2009-03-08  Bruno Haible  <bruno@clisp.org>
25615
25616         Tests for module 'unicase/ulc-casecmp'.
25617         * modules/unicase/ulc-casecmp-tests: New file.
25618         * tests/unicase/test-ulc-casecmp1.sh: New file.
25619         * tests/unicase/test-ulc-casecmp2.sh: New file.
25620         * tests/unicase/test-ulc-casecmp.c: New file.
25621
25622         New module 'unicase/ulc-casecmp'.
25623         * lib/unicase.h (ulc_casecmp): New declaration.
25624         * lib/unicase/ulc-casecmp.c: New file.
25625         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
25626         'const SRC_UNIT *'.
25627         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
25628         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
25629         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
25630         * modules/unicase/ulc-casecmp: New file.
25631
25632         Tests for module 'unicase/u32-is-cased'.
25633         * modules/unicase/u32-is-cased-tests: New file.
25634         * tests/unicase/test-u32-is-cased.c: New file.
25635
25636         Tests for module 'unicase/u16-is-cased'.
25637         * modules/unicase/u16-is-cased-tests: New file.
25638         * tests/unicase/test-u16-is-cased.c: New file.
25639
25640         Tests for module 'unicase/u8-is-cased'.
25641         * modules/unicase/u8-is-cased-tests: New file.
25642         * tests/unicase/test-u8-is-cased.c: New file.
25643         * tests/unicase/test-is-cased.h: New file.
25644
25645         New module 'unicase/u32-is-cased'.
25646         * lib/unicase/u32-is-cased.c: New file.
25647         * modules/unicase/u32-is-cased: New file.
25648
25649         New module 'unicase/u16-is-cased'.
25650         * lib/unicase/u16-is-cased.c: New file.
25651         * modules/unicase/u16-is-cased: New file.
25652
25653         New module 'unicase/u8-is-cased'.
25654         * lib/unicase/u8-is-cased.c: New file.
25655         * lib/unicase/u-is-cased.h: New file.
25656         * modules/unicase/u8-is-cased: New file.
25657
25658         Tests for module 'unicase/u32-is-casefolded'.
25659         * modules/unicase/u32-is-casefolded-tests: New file.
25660         * tests/unicase/test-u32-is-casefolded.c: New file.
25661
25662         Tests for module 'unicase/u16-is-casefolded'.
25663         * modules/unicase/u16-is-casefolded-tests: New file.
25664         * tests/unicase/test-u16-is-casefolded.c: New file.
25665
25666         Tests for module 'unicase/u8-is-casefolded'.
25667         * modules/unicase/u8-is-casefolded-tests: New file.
25668         * tests/unicase/test-u8-is-casefolded.c: New file.
25669         * tests/unicase/test-is-casefolded.h: New file.
25670
25671         New module 'unicase/u32-is-casefolded'.
25672         * lib/unicase/u32-is-casefolded.c: New file.
25673         * modules/unicase/u32-is-casefolded: New file.
25674
25675         New module 'unicase/u16-is-casefolded'.
25676         * lib/unicase/u16-is-casefolded.c: New file.
25677         * modules/unicase/u16-is-casefolded: New file.
25678
25679         New module 'unicase/u8-is-casefolded'.
25680         * lib/unicase/u8-is-casefolded.c: New file.
25681         * modules/unicase/u8-is-casefolded: New file.
25682
25683         Tests for module 'unicase/u32-is-titlecase'.
25684         * modules/unicase/u32-is-titlecase-tests: New file.
25685         * tests/unicase/test-u32-is-titlecase.c: New file.
25686
25687         Tests for module 'unicase/u16-is-titlecase'.
25688         * modules/unicase/u16-is-titlecase-tests: New file.
25689         * tests/unicase/test-u16-is-titlecase.c: New file.
25690
25691         Tests for module 'unicase/u8-is-titlecase'.
25692         * modules/unicase/u8-is-titlecase-tests: New file.
25693         * tests/unicase/test-u8-is-titlecase.c: New file.
25694         * tests/unicase/test-is-titlecase.h: New file.
25695
25696         New module 'unicase/u32-is-titlecase'.
25697         * lib/unicase/u32-is-titlecase.c: New file.
25698         * modules/unicase/u32-is-titlecase: New file.
25699
25700         New module 'unicase/u16-is-titlecase'.
25701         * lib/unicase/u16-is-titlecase.c: New file.
25702         * modules/unicase/u16-is-titlecase: New file.
25703
25704         New module 'unicase/u8-is-titlecase'.
25705         * lib/unicase/u8-is-titlecase.c: New file.
25706         * modules/unicase/u8-is-titlecase: New file.
25707
25708         Tests for module 'unicase/u32-is-lowercase'.
25709         * modules/unicase/u32-is-lowercase-tests: New file.
25710         * tests/unicase/test-u32-is-lowercase.c: New file.
25711
25712         Tests for module 'unicase/u16-is-lowercase'.
25713         * modules/unicase/u16-is-lowercase-tests: New file.
25714         * tests/unicase/test-u16-is-lowercase.c: New file.
25715
25716         Tests for module 'unicase/u8-is-lowercase'.
25717         * modules/unicase/u8-is-lowercase-tests: New file.
25718         * tests/unicase/test-u8-is-lowercase.c: New file.
25719         * tests/unicase/test-is-lowercase.h: New file.
25720
25721         New module 'unicase/u32-is-lowercase'.
25722         * lib/unicase/u32-is-lowercase.c: New file.
25723         * modules/unicase/u32-is-lowercase: New file.
25724
25725         New module 'unicase/u16-is-lowercase'.
25726         * lib/unicase/u16-is-lowercase.c: New file.
25727         * modules/unicase/u16-is-lowercase: New file.
25728
25729         New module 'unicase/u8-is-lowercase'.
25730         * lib/unicase/u8-is-lowercase.c: New file.
25731         * modules/unicase/u8-is-lowercase: New file.
25732
25733         Tests for module 'unicase/u32-is-uppercase'.
25734         * modules/unicase/u32-is-uppercase-tests: New file.
25735         * tests/unicase/test-u32-is-uppercase.c: New file.
25736
25737         Tests for module 'unicase/u16-is-uppercase'.
25738         * modules/unicase/u16-is-uppercase-tests: New file.
25739         * tests/unicase/test-u16-is-uppercase.c: New file.
25740
25741         Tests for module 'unicase/u8-is-uppercase'.
25742         * modules/unicase/u8-is-uppercase-tests: New file.
25743         * tests/unicase/test-u8-is-uppercase.c: New file.
25744         * tests/unicase/test-is-uppercase.h: New file.
25745
25746         New module 'unicase/u32-is-uppercase'.
25747         * lib/unicase/u32-is-uppercase.c: New file.
25748         * modules/unicase/u32-is-uppercase: New file.
25749
25750         New module 'unicase/u16-is-uppercase'.
25751         * lib/unicase/u16-is-uppercase.c: New file.
25752         * modules/unicase/u16-is-uppercase: New file.
25753
25754         New module 'unicase/u8-is-uppercase'.
25755         * lib/unicase/u8-is-uppercase.c: New file.
25756         * modules/unicase/u8-is-uppercase: New file.
25757
25758         New module 'unicase/u32-is-invariant'.
25759         * lib/unicase/u32-is-invariant.c: New file.
25760         * modules/unicase/u32-is-invariant: New file.
25761
25762         New module 'unicase/u16-is-invariant'.
25763         * lib/unicase/u16-is-invariant.c: New file.
25764         * modules/unicase/u16-is-invariant: New file.
25765
25766         New module 'unicase/u8-is-invariant'.
25767         * lib/unicase/u8-is-invariant.c: New file.
25768         * lib/unicase/invariant.h: New file.
25769         * lib/unicase/u-is-invariant.h: New file.
25770         * modules/unicase/u8-is-invariant: New file.
25771
25772         Tests for module 'unicase/u32-casecoll'.
25773         * modules/unicase/u32-casecoll-tests: New file.
25774         * tests/unicase/test-u32-casecoll.c: New file.
25775
25776         Tests for module 'unicase/u16-casecoll'.
25777         * modules/unicase/u16-casecoll-tests: New file.
25778         * tests/unicase/test-u16-casecoll.c: New file.
25779
25780         Tests for module 'unicase/u8-casecoll'.
25781         * modules/unicase/u8-casecoll-tests: New file.
25782         * tests/unicase/test-u8-casecoll.c: New file.
25783
25784         New module 'unicase/u32-casecoll'.
25785         * lib/unicase/u32-casecoll.c: New file.
25786         * modules/unicase/u32-casecoll: New file.
25787
25788         New module 'unicase/u16-casecoll'.
25789         * lib/unicase/u16-casecoll.c: New file.
25790         * modules/unicase/u16-casecoll: New file.
25791
25792         New module 'unicase/u8-casecoll'.
25793         * lib/unicase/u8-casecoll.c: New file.
25794         * lib/unicase/u-casecoll.h: New file.
25795         * modules/unicase/u8-casecoll: New file.
25796
25797         New module 'unicase/u32-casexfrm'.
25798         * lib/unicase/u32-casexfrm.c: New file.
25799         * modules/unicase/u32-casexfrm: New file.
25800
25801         New module 'unicase/u16-casexfrm'.
25802         * lib/unicase/u16-casexfrm.c: New file.
25803         * modules/unicase/u16-casexfrm: New file.
25804
25805         New module 'unicase/u8-casexfrm'.
25806         * lib/unicase/u8-casexfrm.c: New file.
25807         * lib/unicase/u-casexfrm.h: New file.
25808         * modules/unicase/u8-casexfrm: New file.
25809
25810         Tests for module 'unicase/u32-casecmp'.
25811         * modules/unicase/u32-casecmp-tests: New file.
25812         * tests/unicase/test-u32-casecmp.c: New file.
25813
25814         Tests for module 'unicase/u16-casecmp'.
25815         * modules/unicase/u16-casecmp-tests: New file.
25816         * tests/unicase/test-u16-casecmp.c: New file.
25817
25818         Tests for module 'unicase/u8-casecmp'.
25819         * modules/unicase/u8-casecmp-tests: New file.
25820         * tests/unicase/test-u8-casecmp.c: New file.
25821         * tests/unicase/test-casecmp.h: New file.
25822
25823         New module 'unicase/u32-casecmp'.
25824         * lib/unicase/u32-casecmp.c: New file.
25825         * modules/unicase/u32-casecmp: New file.
25826
25827         New module 'unicase/u16-casecmp'.
25828         * lib/unicase/u16-casecmp.c: New file.
25829         * modules/unicase/u16-casecmp: New file.
25830
25831         New module 'unicase/u8-casecmp'.
25832         * lib/unicase/u8-casecmp.c: New file.
25833         * lib/unicase/u-casecmp.h: New file.
25834         * modules/unicase/u8-casecmp: New file.
25835
25836         Tests for module 'unicase/u32-casefold'.
25837         * modules/unicase/u32-casefold-tests: New file.
25838         * tests/unicase/test-u32-casefold.c: New file.
25839
25840         Tests for module 'unicase/u16-casefold'.
25841         * modules/unicase/u16-casefold-tests: New file.
25842         * tests/unicase/test-u16-casefold.c: New file.
25843
25844         Tests for module 'unicase/u8-casefold'.
25845         * modules/unicase/u8-casefold-tests: New file.
25846         * tests/unicase/test-u8-casefold.c: New file.
25847
25848         New module 'unicase/u32-casefold'.
25849         * lib/unicase/u32-casefold.c: New file.
25850         * modules/unicase/u32-casefold: New file.
25851
25852         New module 'unicase/u16-casefold'.
25853         * lib/unicase/u16-casefold.c: New file.
25854         * modules/unicase/u16-casefold: New file.
25855
25856         New module 'unicase/u8-casefold'.
25857         * lib/unicase/u8-casefold.c: New file.
25858         * lib/unicase/u-casefold.h: New file.
25859         * modules/unicase/u8-casefold: New file.
25860
25861         New module 'unicase/tocasefold'.
25862         * lib/unicase/casefold.h: New file.
25863         * lib/unicase/tocasefold.c: New file.
25864         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
25865         * modules/unicase/tocasefold: New file.
25866
25867         Tests for module 'unicase/u32-totitle'.
25868         * modules/unicase/u32-totitle-tests: New file.
25869         * tests/unicase/test-u32-totitle.c: New file.
25870
25871         Tests for module 'unicase/u16-totitle'.
25872         * modules/unicase/u16-totitle-tests: New file.
25873         * tests/unicase/test-u16-totitle.c: New file.
25874
25875         Tests for module 'unicase/u8-totitle'.
25876         * modules/unicase/u8-totitle-tests: New file.
25877         * tests/unicase/test-u8-totitle.c: New file.
25878
25879         New module 'unicase/u32-totitle'.
25880         * lib/unicase/u32-totitle.c: New file.
25881         * modules/unicase/u32-totitle: New file.
25882
25883         New module 'unicase/u16-totitle'.
25884         * lib/unicase/u16-totitle.c: New file.
25885         * modules/unicase/u16-totitle: New file.
25886
25887         New module 'unicase/u8-totitle'.
25888         * lib/unicase/u8-totitle.c: New file.
25889         * lib/unicase/u-totitle.h: New file.
25890         * modules/unicase/u8-totitle: New file.
25891
25892         Tests for module 'unicase/u32-tolower'.
25893         * modules/unicase/u32-tolower-tests: New file.
25894         * tests/unicase/test-u32-tolower.c: New file.
25895
25896         Tests for module 'unicase/u16-tolower'.
25897         * modules/unicase/u16-tolower-tests: New file.
25898         * tests/unicase/test-u16-tolower.c: New file.
25899
25900         Tests for module 'unicase/u8-tolower'.
25901         * modules/unicase/u8-tolower-tests: New file.
25902         * tests/unicase/test-u8-tolower.c: New file.
25903
25904         New module 'unicase/u32-tolower'.
25905         * lib/unicase/u32-tolower.c: New file.
25906         * modules/unicase/u32-tolower: New file.
25907
25908         New module 'unicase/u16-tolower'.
25909         * lib/unicase/u16-tolower.c: New file.
25910         * modules/unicase/u16-tolower: New file.
25911
25912         New module 'unicase/u8-tolower'.
25913         * lib/unicase/u8-tolower.c: New file.
25914         * modules/unicase/u8-tolower: New file.
25915
25916         Tests for module 'unicase/u32-toupper'.
25917         * modules/unicase/u32-toupper-tests: New file.
25918         * tests/unicase/test-u32-toupper.c: New file.
25919
25920         Tests for module 'unicase/u16-toupper'.
25921         * modules/unicase/u16-toupper-tests: New file.
25922         * tests/unicase/test-u16-toupper.c: New file.
25923
25924         Tests for module 'unicase/u8-toupper'.
25925         * modules/unicase/u8-toupper-tests: New file.
25926         * tests/unicase/test-u8-toupper.c: New file.
25927
25928         New module 'unicase/u32-toupper'.
25929         * lib/unicase/u32-toupper.c: New file.
25930         * modules/unicase/u32-toupper: New file.
25931
25932         New module 'unicase/u16-toupper'.
25933         * lib/unicase/u16-toupper.c: New file.
25934         * modules/unicase/u16-toupper: New file.
25935
25936         New module 'unicase/u8-toupper'.
25937         * lib/unicase/u8-toupper.c: New file.
25938         * modules/unicase/u8-toupper: New file.
25939
25940         New module 'unicase/u32-casemap'.
25941         * lib/unicase/u32-casemap.c: New file.
25942         * modules/unicase/u32-casemap: New file.
25943
25944         New module 'unicase/u16-casemap'.
25945         * lib/unicase/u16-casemap.c: New file.
25946         * modules/unicase/u16-casemap: New file.
25947
25948         New module 'unicase/u8-casemap'.
25949         * lib/unicase/unicasemap.h: New file.
25950         * lib/unicase/u8-casemap.c: New file.
25951         * lib/unicase/u-casemap.h: New file.
25952         * modules/unicase/u8-casemap: New file.
25953
25954         New module 'unicase/special-casing'.
25955         * lib/unicase/special-casing.h: New file.
25956         * lib/unicase/special-casing.c: New file.
25957         * lib/unicase/special-casing-table.gperf: New file, generated by
25958         gen-uni-tables.c.
25959         * modules/unicase/special-casing: New file.
25960
25961         Tests for module 'unicase/locale-language'.
25962         * modules/unicase/locale-language-tests: New file.
25963         * tests/unicase/test-locale-language.sh: New file.
25964         * tests/unicase/test-locale-language.c: New file.
25965
25966         New module 'unicase/locale-language'.
25967         * lib/unicase/locale-language.c: New file.
25968         * lib/unicase/locale-languages.gperf: New file.
25969         * modules/unicase/locale-language: New file.
25970
25971         Generate more tables for case conversion and case folding.
25972         * lib/gen-uni-tables.c (SCC_*): New enum items.
25973         (struct special_casing_rule): New type.
25974         (casing_rules, num_casing_rules, allocated_casing_rules): New
25975         variables.
25976         (add_casing_rule, fill_casing_rules): New functions.
25977         (struct casefold_rule): New type.
25978         (casefolding_rules, num_casefolding_rules,
25979         allocated_casefolding_rules): New variables.
25980         (fill_casefolding_rules): New function.
25981         (unicode_casefold): New variable.
25982         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
25983         sort_casing_rules, output_casing_rules): New functions.
25984         (main): Accept to more arguments: SpecialCasing.txt and
25985         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
25986         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
25987         Output mapping for casefolding.
25988
25989         * lib/unicase.h: Include stdbool.h, uninorm.h.
25990         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
25991         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
25992         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
25993         arguments.
25994         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
25995         resultp arguments.
25996         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
25997         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
25998         resultp arguments.
25999         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
26000         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
26001         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
26002         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
26003         declarations.
26004         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
26005
26006 2009-03-08  Bruno Haible  <bruno@clisp.org>
26007
26008         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
26009         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
26010         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
26011         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
26012
26013 2009-03-07  Bruno Haible  <bruno@clisp.org>
26014
26015         Adjust u*_normcmp, u*_normcoll API.
26016         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
26017         u16_normcoll, u32_normcoll): Change failure conventions.
26018         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
26019         errno and return -1.
26020         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
26021
26022 2009-03-07  Bruno Haible  <bruno@clisp.org>
26023
26024         Tests for module 'uninorm/u32-normcoll'.
26025         * modules/uninorm/u32-normcoll-tests: New file.
26026         * tests/uninorm/test-u32-normcoll.c: New file.
26027
26028         Tests for module 'uninorm/u16-normcoll'.
26029         * modules/uninorm/u16-normcoll-tests: New file.
26030         * tests/uninorm/test-u16-normcoll.c: New file.
26031
26032         Tests for module 'uninorm/u8-normcoll'.
26033         * modules/uninorm/u8-normcoll-tests: New file.
26034         * tests/uninorm/test-u8-normcoll.c: New file.
26035
26036 2009-03-07  Bruno Haible  <bruno@clisp.org>
26037
26038         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
26039         tests/uninorm/test-u32-normcmp.c.
26040         * tests/uninorm/test-u32-normcmp.c: Include it.
26041         (test_nonascii): New function, extracted from main. Add some more
26042         tests.
26043         (main): Invoke test_ascii and test_nonascii.
26044         * modules/uninorm/u32-normcmp-tests (Files): Add
26045         tests/uninorm/test-u32-normcmp.h.
26046         (Depends-on): Remove uninorm/u32-normcmp.
26047
26048         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
26049         tests/uninorm/test-u16-normcmp.c.
26050         * tests/uninorm/test-u16-normcmp.c: Include it.
26051         (test_nonascii): New function, extracted from main. Add some more
26052         tests.
26053         (main): Invoke test_ascii and test_nonascii.
26054         * modules/uninorm/u16-normcmp-tests (Files): Add
26055         tests/uninorm/test-u16-normcmp.h.
26056         (Depends-on): Remove uninorm/u16-normcmp.
26057
26058         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
26059         tests/uninorm/test-u8-normcmp.c.
26060         * tests/uninorm/test-u8-normcmp.c: Include it.
26061         (test_nonascii): New function, extracted from main. Add some more
26062         tests.
26063         (main): Invoke test_ascii and test_nonascii.
26064         * modules/uninorm/u8-normcmp-tests (Files): Add
26065         tests/uninorm/test-u8-normcmp.h.
26066         (Depends-on): Remove uninorm/u8-normcmp.
26067
26068 2009-03-07  Bruno Haible  <bruno@clisp.org>
26069
26070         New module 'uninorm/u32-normcoll'.
26071         * lib/uninorm/u32-normcoll.c: New file.
26072         * modules/uninorm/u32-normcoll: New file.
26073
26074         New module 'uninorm/u16-normcoll'.
26075         * lib/uninorm/u16-normcoll.c: New file.
26076         * modules/uninorm/u16-normcoll: New file.
26077
26078         New module 'uninorm/u8-normcoll'.
26079         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
26080         declarations.
26081         * lib/uninorm/u8-normcoll.c: New file.
26082         * lib/uninorm/u-normcoll.h: New file.
26083         * modules/uninorm/u8-normcoll: New file.
26084
26085         New module 'uninorm/u32-normxfrm'.
26086         * lib/uninorm/u32-normxfrm.c: New file.
26087         * modules/uninorm/u32-normxfrm: New file.
26088
26089         New module 'uninorm/u16-normxfrm'.
26090         * lib/uninorm/u16-normxfrm.c: New file.
26091         * modules/uninorm/u16-normxfrm: New file.
26092
26093         New module 'uninorm/u8-normxfrm'.
26094         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
26095         declarations.
26096         * lib/uninorm/u8-normxfrm.c: New file.
26097         * lib/uninorm/u-normxfrm.h: New file.
26098         * modules/uninorm/u8-normxfrm: New file.
26099
26100 2009-03-07  Bruno Haible  <bruno@clisp.org>
26101
26102         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
26103         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
26104         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
26105
26106 2009-03-07  Bruno Haible  <bruno@clisp.org>
26107
26108         New module 'memxfrm'.
26109         * lib/memxfrm.h: New file.
26110         * lib/memxfrm.c: New file.
26111         * modules/memxfrm: New file.
26112
26113 2009-03-07  Bruno Haible  <bruno@clisp.org>
26114
26115         New module 'memcmp2'.
26116         * lib/memcmp2.h: New file.
26117         * lib/memcmp2.c: New file.
26118         * modules/memcmp2: New file.
26119
26120 2009-03-07  Bruno Haible  <bruno@clisp.org>
26121
26122         Tests for module 'uninorm/decomposing-form'.
26123         * modules/uninorm/decomposing-form-tests: New file.
26124         * tests/uninorm/test-decomposing-form.c: New file.
26125
26126         New module 'uninorm/decomposing-form'.
26127         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
26128         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
26129         Add 'decomposing_variant' field.
26130         * lib/uninorm/decomposing-form.c: New file.
26131         * lib/uninorm/nfc.c (uninorm_nfc): Update.
26132         * lib/uninorm/nfd.c (uninorm_nfd): Update.
26133         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
26134         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
26135         * modules/uninorm/decomposing-form: New file.
26136         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
26137         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
26138
26139 2009-03-07  Bruno Haible  <bruno@clisp.org>
26140
26141         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
26142         strings.
26143
26144 2009-03-06  Bruno Haible  <bruno@clisp.org>
26145
26146         Tests for module 'uninorm/u32-normcmp'.
26147         * tests/uninorm/test-u32-normcmp.c: New file.
26148         * modules/uninorm/u32-normcmp-tests: New file.
26149
26150         Tests for module 'uninorm/u16-normcmp'.
26151         * tests/uninorm/test-u16-normcmp.c: New file.
26152         * modules/uninorm/u16-normcmp-tests: New file.
26153
26154         Tests for module 'uninorm/u8-normcmp'.
26155         * tests/uninorm/test-u8-normcmp.c: New file.
26156         * modules/uninorm/u8-normcmp-tests: New file.
26157
26158         New module 'uninorm/u32-normcmp'.
26159         * lib/uninorm/u32-normcmp.c: New file.
26160         * modules/uninorm/u32-normcmp: New file.
26161
26162         New module 'uninorm/u16-normcmp'.
26163         * lib/uninorm/u16-normcmp.c: New file.
26164         * modules/uninorm/u16-normcmp: New file.
26165
26166         New module 'uninorm/u8-normcmp'.
26167         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
26168         declarations.
26169         * lib/uninorm/u8-normcmp.c: New file.
26170         * lib/uninorm/u-normcmp.h: New file.
26171         * modules/uninorm/u8-normcmp: New file.
26172
26173 2009-03-06  Bruno Haible  <bruno@clisp.org>
26174
26175         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
26176         Reported by Eric Blake.
26177
26178 2009-03-06  Eric Blake  <ebb9@byu.net>
26179             Bruno Haible  <bruno@clisp.org>
26180
26181         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
26182         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
26183         condition.
26184         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
26185         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
26186         condition.
26187         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
26188
26189 2009-03-06  Eric Blake  <ebb9@byu.net>
26190
26191         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
26192         to avoid compiler warnings.
26193         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
26194
26195 2009-03-05  Bruno Haible  <bruno@clisp.org>
26196
26197         * tests/test-ftell.c (main): Disable test beyond end of file on
26198         FreeMiNT.
26199         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
26200
26201 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
26202
26203         * lib/filevercmp.c: Move hidden files up in ordering.
26204         * tests/test-filevercmp.c: Add tests for hidden files.
26205
26206 2009-03-04  Bruno Haible  <bruno@clisp.org>
26207
26208         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
26209         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
26210         AM_CFLAGS.
26211         Reported by Simon Josefsson.
26212
26213 2009-03-03  Bruno Haible  <bruno@clisp.org>
26214
26215         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
26216         Reported by Simon Josefsson.
26217
26218         * doc/ld-version-script.texi: Update node reference.
26219
26220 2009-03-03  Bruno Haible  <bruno@clisp.org>
26221
26222         * modules/visibility (License): Change to 'unlimited'.
26223         Suggested by Simon Josefsson.
26224
26225 2009-03-03  Jim Meyering  <meyering@redhat.com>
26226
26227         unlinkdir: cannot_unlink_dir may modify process state
26228         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
26229         it's neither thread-safe nor appropriate for use in a library.
26230
26231 2009-03-03  Eric Blake  <ebb9@byu.net>
26232
26233         test-closein: silence test under Darwin
26234         * tests/test-closein.sh: Ignore stderr from cat, since we don't
26235         care if it dies from EPIPE or EBADF.
26236
26237 2009-03-03  Bruno Haible  <bruno@clisp.org>
26238
26239         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
26240         earlier.
26241         * doc/visibility.texi: Fix @node and @section.
26242
26243 2009-03-03  Simon Josefsson  <simon@josefsson.org>
26244
26245         * doc/gnulib.texi: Link to sections for ld version script and
26246         visibility.
26247         * doc/visibility.texi: Add @node and @section.
26248         * modules/ld-version-script: New module.
26249         * m4/ld-version-script.m4: New file.
26250         * doc/ld-version-script.texi: New file.
26251
26252 2009-03-02  David Lutterkort  <lutter@redhat.com>
26253
26254         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
26255         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26256
26257 2009-03-02  Bruno Haible  <bruno@clisp.org>
26258
26259         * doc/visibility.texi: Mention libtool's -export-symbols option.
26260
26261 2009-03-02  Jim Meyering  <meyering@redhat.com>
26262
26263         announce-gen: new option: --no-print-checksums
26264         * build-aux/announce-gen (usage): Describe it.
26265         (print_checksums): Print a newline here, not in the [*] footnote.
26266         (main): Honor it.
26267
26268 2009-03-01  Bruno Haible  <bruno@clisp.org>
26269
26270         Use socklen_t in the native Windows replacements prototypes.
26271         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
26272         instead of 'int'.
26273         * lib/getsockopt.c (rpl_getsockopt): Likewise.
26274         * lib/setsockopt.c (rpl_setsockopt): Likewise.
26275         * modules/getsockopt (Depends-on): Add socklen.
26276         * modules/setsockopt (Depends-on): Add socklen.
26277
26278 2009-03-01  Bruno Haible  <bruno@clisp.org>
26279
26280         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
26281         least 4.2.
26282
26283 2009-03-01  Eric Blake  <ebb9@byu.net>
26284             Bruno Haible  <bruno@clisp.org>
26285
26286         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
26287         error messages.
26288         * lib/wait-process.c (wait_subprocess): Omit error message about
26289         deadly signal sent to the child of termsigp != NULL.
26290
26291 2009-03-01  Eric Blake  <ebb9@byu.net>
26292
26293         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
26294
26295 2009-03-01  Bruno Haible  <bruno@clisp.org>
26296
26297         Avoid a gcc warning.
26298         * tests/test-sched.c (b): Make global.
26299         Reported by Eric Blake.
26300
26301 2009-01-19  Martin Lambers  <marlam@marlam.de>
26302
26303         Provide POSIX semantics for socket timeout options on W32.
26304         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
26305         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
26306         * modules/setsockopt: Depend on sys_time module for struct timeval.
26307         * modules/getsockopt: Depend on sys_time module for struct timeval.
26308
26309 2009-03-01  Simon Josefsson  <simon@josefsson.org>
26310
26311         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
26312         __USE_GNU, for consistency with netdb.in.h.
26313         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26314
26315 2009-03-01  Bruno Haible  <bruno@clisp.org>
26316
26317         More support for FreeMiNT.
26318         * lib/fseeko.c (rpl_fseeko): Complete last commit.
26319         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26320
26321 2009-03-01  Bruno Haible  <bruno@clisp.org>
26322
26323         More support for FreeMiNT.
26324         * lib/fpurge.c (fpurge): Correct last commit.
26325         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26326
26327 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26328
26329         Fix unportable awk script in vc-list-files.
26330         * build-aux/vc-list-files: In the replacement awk script, use
26331         substr with a second argument of 1, not zero.
26332         Report by Simon Josefsson.
26333
26334 2009-02-28  Bruno Haible  <bruno@clisp.org>
26335
26336         More support for FreeMiNT.
26337         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
26338         to FreeMiNT today.
26339         * lib/fwriting.c (fwriting): Likewise.
26340         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
26341
26342 2009-02-28  Bruno Haible  <bruno@clisp.org>
26343
26344         * tests/test-freadseek.c (main): Disable test beyond end of file on
26345         FreeMiNT.
26346         * tests/test-ftello.c (main): Likewise.
26347         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
26348
26349 2009-02-28  Bruno Haible  <bruno@clisp.org>
26350
26351         Add tentative support for FreeMiNT.
26352         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
26353         * lib/fpurge.c (fpurge): Likewise.
26354         * lib/freadable.c (freadable): Likewise.
26355         * lib/freading.c (freading): Likewise.
26356         * lib/freadptr.c (freadptr): Likewise.
26357         * lib/freadseek.c (freadptrinc): Likewise.
26358         * lib/fseeko.c (rpl_fseeko): Likewise.
26359         * lib/fseterr.c (fseterr): Likewise.
26360         * lib/fwritable.c (fwritable): Likewise.
26361         * lib/fwriting.c (fwriting): Likewise.
26362         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
26363         Hourihane.
26364         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
26365
26366 2009-02-28  Bruno Haible  <bruno@clisp.org>
26367
26368         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
26369         SIGCHLD.
26370         Reported by Jim Meyering.
26371
26372 2009-02-28  Bruno Haible  <bruno@clisp.org>
26373
26374         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
26375         Mention the results of these tests on various platforms.
26376         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
26377         order.
26378         * doc/posix-functions/printf.texi: Likewise.
26379         * doc/posix-functions/snprintf.texi: Likewise.
26380         * doc/posix-functions/sprintf.texi: Likewise.
26381         * doc/posix-functions/vfprintf.texi: Likewise.
26382         * doc/posix-functions/vprintf.texi: Likewise.
26383         * doc/posix-functions/vsnprintf.texi: Likewise.
26384         * doc/posix-functions/vsprintf.texi: Likewise.
26385         * doc/glibc-functions/obstack_printf.texi: Likewise.
26386         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
26387
26388 2009-02-28  Bruno Haible  <bruno@clisp.org>
26389
26390         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
26391         Reported by Loïc Minier <lool@dooz.org>.
26392
26393 2009-02-27  Bruno Haible  <bruno@clisp.org>
26394
26395         * gnulib-tool (func_import): Make the sed expression used to create the
26396         sed script for updating the .gitignore file POSIX compliant.
26397         Reported by Eric Blake.
26398
26399 2009-02-27  Bruno Haible  <bruno@clisp.org>
26400
26401         * gnulib-tool (sed): Don't alias as "sed --posix".
26402         Reported by Eric Blake.
26403
26404 2009-02-27  Bruno Haible  <bruno@clisp.org>
26405
26406         Avoid test link errors.
26407         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
26408         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
26409         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
26410         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
26411         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26412
26413 2009-02-27  Bruno Haible  <bruno@clisp.org>
26414
26415         Avoid spurious "(cached)" in configure output.
26416         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
26417         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
26418         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
26419         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
26420         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
26421         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
26422         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
26423         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
26424         Reported by Eric Blake.
26425
26426 2009-02-27  Eric Blake  <ebb9@byu.net>
26427
26428         printf: fix regression in previous patch
26429         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
26430
26431 2009-02-27  Bruno Haible  <bruno@clisp.org>
26432
26433         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
26434         value.
26435         * lib/stdint.in.h: Likewise.
26436         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
26437
26438 2009-02-27  Eric Blake  <ebb9@byu.net>
26439
26440         doc: mention more functions added in cygwin 1.7.0
26441         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
26442         addition.
26443         * doc/posix-functions/open_wmemstream.texi: Likewise.
26444         * doc/posix-functions/wcsnlen.texi: Likewise.
26445         * doc/posix-functions/wcsnrtombs.texi: Likewise.
26446         * doc/posix-functions/wcstod.texi: Likewise.
26447         * doc/posix-functions/wcstof.texi: Likewise.
26448         * doc/posix-functions/wcstoimax.texi: Likewise.
26449         * doc/posix-functions/wcstok.texi: Likewise.
26450         * doc/posix-functions/wcstoumax.texi: Likewise.
26451
26452         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
26453         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
26454         * doc/posix-functions/fprintf.texi: Update.
26455         * doc/posix-functions/printf.texi: Update.
26456         * doc/posix-functions/snprintf.texi: Update.
26457         * doc/posix-functions/sprintf.texi: Update.
26458         * doc/posix-functions/vfprintf.texi: Update.
26459         * doc/posix-functions/vprintf.texi: Update.
26460         * doc/posix-functions/vsnprintf.texi: Update.
26461         * doc/posix-functions/vsprintf.texi: Update.
26462         * doc/glibc-functions/obstack_printf.texi: Update.
26463         * doc/glibc-functions/obstack_vprintf.texi: Update.
26464
26465 2009-02-26  Eric Blake  <ebb9@byu.net>
26466
26467         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
26468         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
26469         compilation bug by using runtime conversion.
26470         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
26471         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
26472         * modules/ceill-tests (Files): Use nan.h.
26473         * modules/floorl-tests (Files): Likewise.
26474         * modules/frexpl-tests (Files): Likewise.
26475         * modules/isnanl-tests (Files): Likewise.
26476         * modules/ldexpl-tests (Files): Likewise.
26477         * modules/roundl-tests (Files): Likewise.
26478         * modules/truncl-tests (Files): Likewise.
26479         * tests/test-ceill.c (main): Use a working NaN.
26480         * tests/test-floorl.c (main): Likewise.
26481         * tests/test-frexpl.c (main): Likewise.
26482         * tests/test-isnan.c (test_long_double): Likewise.
26483         * tests/test-isnanl.h (main): Likewise.
26484         * tests/test-ldexpl.h (main): Likewise.
26485         * tests/test-roundl.h (main): Likewise.
26486         * tests/test-truncl.h (main): Likewise.
26487         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
26488
26489 2009-02-26  Eric Blake  <ebb9@byu.net>
26490             Bruno Haible  <bruno@clisp.org>
26491
26492         Work around a *printf bug with %ls on Solaris.
26493         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
26494         precision is specified, sprintf stops converting the wide string
26495         argument when the number of bytes that have been produced by this
26496         conversion equals or exceeds the precision.
26497         * doc/posix-functions/fprintf.texi: Update.
26498         * doc/posix-functions/printf.texi: Update.
26499         * doc/posix-functions/snprintf.texi: Update.
26500         * doc/posix-functions/sprintf.texi: Update.
26501         * doc/posix-functions/vfprintf.texi: Update.
26502         * doc/posix-functions/vprintf.texi: Update.
26503         * doc/posix-functions/vsnprintf.texi: Update.
26504         * doc/posix-functions/vsprintf.texi: Update.
26505         * doc/glibc-functions/obstack_printf.texi: Update.
26506         * doc/glibc-functions/obstack_vprintf.texi: Update.
26507
26508 2009-02-26  Eric Blake  <ebb9@byu.net>
26509
26510         stdlib: favor compiler check of random.h
26511         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
26512         to avoid an ObjC random.h installed by Swarm.
26513
26514 2009-02-26  Bruno Haible  <bruno@clisp.org>
26515
26516         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
26517         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
26518         Reported by Gary V. Vaughan <gary@gnu.org>.
26519
26520 2009-02-26  Bruno Haible  <bruno@clisp.org>
26521
26522         Fix *printf behaviour regarding the %ls directive.
26523         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
26524         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
26525         NEED_PRINTF_DIRECTIVE_LS.
26526         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
26527         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
26528         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26529         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
26530         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
26531         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
26532         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
26533         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26534         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26535         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26536         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26537         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
26538         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26539         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26540         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26541         * doc/posix-functions/fprintf.texi: Update.
26542         * doc/posix-functions/printf.texi: Update.
26543         * doc/posix-functions/snprintf.texi: Update.
26544         * doc/posix-functions/sprintf.texi: Update.
26545         * doc/posix-functions/vfprintf.texi: Update.
26546         * doc/posix-functions/vprintf.texi: Update.
26547         * doc/posix-functions/vsnprintf.texi: Update.
26548         * doc/posix-functions/vsprintf.texi: Update.
26549         * doc/glibc-functions/obstack_printf.texi: Update.
26550         * doc/glibc-functions/obstack_vprintf.texi: Update.
26551         Reported by Eric Blake.
26552
26553 2009-02-25  Bruno Haible  <bruno@clisp.org>
26554
26555         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
26556         with known value.
26557         Reported by Gary V. Vaughan <gary@gnu.org>.
26558
26559 2009-02-25  Bruno Haible  <bruno@clisp.org>
26560
26561         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
26562         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
26563         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
26564         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
26565         Reported by Gary V. Vaughan <gary@gnu.org>.
26566
26567 2009-02-25  Bruno Haible  <bruno@clisp.org>
26568
26569         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
26570         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
26571         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
26572         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
26573         Reported by Gary V. Vaughan <gary@gnu.org>.
26574
26575 2009-02-25  Eric Blake  <ebb9@byu.net>
26576
26577         tests: skip fseek/ftell tests if ungetc is broken
26578         * m4/ungetc.m4: New file.
26579         * modules/fseek-tests: Split test, so ungetc dependency is
26580         separate from rest of test.
26581         * modules/fseeko-tests: Likewise.
26582         * modules/ftell-tests: Likewise.
26583         * modules/ftello-tests: Likewise.
26584         * tests/test-fseek.c (main): Isolate ungetc dependency.
26585         * tests/test-fseeko.c (main): Likewise.
26586         * tests/test-ftell.c (main): Likewise.
26587         * tests/test-ftello.c (main): Likewise.
26588         * tests/test-fseek2.sh: New file.
26589         * tests/test-fseeko2.sh: Likewise.
26590         * tests/test-ftell2.sh: Likewise.
26591         * tests/test-ftello2.sh: Likewise.
26592
26593 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
26594
26595         test-getaddrinfo: fix usage of skip return code 77
26596         * tests/test-gettaddrinfo.c: Return skip code 77 only
26597         for first occurance of skip (4x77 is not 77)
26598
26599 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
26600
26601         strtod: avoid C99 decl-after-statement
26602         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
26603
26604 2009-02-24  Eric Blake  <ebb9@byu.net>
26605
26606         strtod: detect HP-UX 11.31 bug
26607         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
26608         Reported by Gary V. Vaughan.
26609
26610 2009-02-23  Bruno Haible  <bruno@clisp.org>
26611
26612         Fix invalid read past end of memory block.
26613         * lib/vasnprintf.c (DCHAR_SET): Define.
26614         (local_wcslen): Define only when needed.
26615         (local_strnlen, local_wcsnlen): New functions.
26616         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
26617         directives that involve a conversion ourselves.
26618         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
26619         wcsnlen, mbrtowc, wcrtomb.
26620         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
26621         * tests/test-vasprintf-posix.c (test_function): Likewise.
26622         * tests/test-snprintf-posix.h (test_function): Likewise.
26623         * tests/test-sprintf-posix.h (test_function): Likewise.
26624         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26625
26626 2009-02-22  Bruno Haible  <bruno@clisp.org>
26627
26628         Implement new clarified decomposition of Hangul syllables.
26629         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
26630         of type LTV, return only a pairwise decomposition.
26631         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
26632         Likewise.
26633         * tests/uninorm/test-decomposition.c (main): Updated expected result.
26634         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
26635         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
26636
26637 2009-02-22  Bruno Haible  <bruno@clisp.org>
26638
26639         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
26640         zero-length results and shrink excess allocated memory.
26641         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
26642         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
26643         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
26644         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
26645         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
26646         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
26647         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
26648         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
26649         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
26650         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
26651         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
26652         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
26653
26654 2009-02-21  Bruno Haible  <bruno@clisp.org>
26655
26656         * doc/gnulib.texi: Include safe-alloc.texi earlier.
26657         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
26658         spaces after a period. Put a space between a macro name and its
26659         argument list. Trivial rewordings.
26660         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
26661         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
26662         (main): Return 0 explicitly.
26663
26664 2009-02-21  Bruno Haible  <bruno@clisp.org>
26665
26666         Tests for module 'uninorm/filter'.
26667         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
26668         * modules/uninorm/filter-tests: New file.
26669
26670         New module 'uninorm/filter'.
26671         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
26672         uninorm_filter_flush, uninorm_filter_free): New declarations.
26673         * lib/uninorm/uninorm-filter.c: New file.
26674         * modules/uninorm/filter: New file.
26675
26676 2009-02-21  Bruno Haible  <bruno@clisp.org>
26677
26678         Tests for module 'uninorm/nfkc'.
26679         * tests/uninorm/test-nfkc.c: New file.
26680         * tests/uninorm/test-u8-nfkc.c: New file.
26681         * tests/uninorm/test-u16-nfkc.c: New file.
26682         * tests/uninorm/test-u32-nfkc.c: New file.
26683         * tests/uninorm/test-u32-nfkc-big.sh: New file.
26684         * tests/uninorm/test-u32-nfkc-big.c: New file.
26685         * modules/uninorm/nfkc-tests: New file.
26686
26687         New module 'uninorm/nfkc'.
26688         * lib/uninorm/nfkc.c: New file.
26689         * modules/uninorm/nfkc: New file.
26690
26691         Tests for module 'uninorm/nfkd'.
26692         * tests/uninorm/test-nfkd.c: New file.
26693         * tests/uninorm/test-u8-nfkd.c: New file.
26694         * tests/uninorm/test-u16-nfkd.c: New file.
26695         * tests/uninorm/test-u32-nfkd.c: New file.
26696         * tests/uninorm/test-u32-nfkd-big.sh: New file.
26697         * tests/uninorm/test-u32-nfkd-big.c: New file.
26698         * modules/uninorm/nfkd-tests: New file.
26699
26700         New module 'uninorm/nfkd'.
26701         * lib/uninorm/nfkd.c: New file.
26702         * modules/uninorm/nfkd: New file.
26703
26704         Tests for module 'uninorm/nfc'.
26705         * tests/uninorm/test-nfc.c: New file.
26706         * tests/uninorm/test-u8-nfc.c: New file.
26707         * tests/uninorm/test-u16-nfc.c: New file.
26708         * tests/uninorm/test-u32-nfc.c: New file.
26709         * tests/uninorm/test-u32-nfc-big.sh: New file.
26710         * tests/uninorm/test-u32-nfc-big.c: New file.
26711         * modules/uninorm/nfc-tests: New file.
26712
26713         New module 'uninorm/nfc'.
26714         * lib/uninorm/nfc.c: New file.
26715         * modules/uninorm/nfc: New file.
26716
26717         Tests for module 'uninorm/nfd'.
26718         * tests/uninorm/test-nfd.c: New file.
26719         * tests/uninorm/test-u8-nfd.c: New file.
26720         * tests/uninorm/test-u16-nfd.c: New file.
26721         * tests/uninorm/test-u32-nfd.c: New file.
26722         * tests/uninorm/test-u32-nfd-big.sh: New file.
26723         * tests/uninorm/test-u32-nfd-big.c: New file.
26724         * tests/uninorm/test-u32-normalize-big.h: New file.
26725         * tests/uninorm/test-u32-normalize-big.c: New file.
26726         * tests/uninorm/NormalizationTest.txt: New file, created from
26727         Unicode 5.1.0 NormalizationTest.txt.
26728         * modules/uninorm/nfd-tests: New file.
26729
26730         New module 'uninorm/nfd'.
26731         * lib/uninorm/nfd.c: New file.
26732         * modules/uninorm/nfd: New file.
26733
26734         New module 'uninorm/u32-normalize'.
26735         * lib/uninorm/u32-normalize.c: New file.
26736         * modules/uninorm/u32-normalize: New file.
26737
26738         New module 'uninorm/u16-normalize'.
26739         * lib/uninorm/u16-normalize.c: New file.
26740         * modules/uninorm/u16-normalize: New file.
26741
26742         New module 'uninorm/u8-normalize'.
26743         * lib/uninorm/u8-normalize.c: New file.
26744         * lib/uninorm/normalize-internal.h: New file.
26745         * lib/uninorm/u-normalize-internal.h: New file.
26746         * modules/uninorm/u8-normalize: New file.
26747
26748         New module 'uninorm/decompose-internal'.
26749         * lib/uninorm/decompose-internal.c: New file.
26750         * modules/uninorm/decompose-internal: New file.
26751
26752         Tests for module 'uninorm/composition'.
26753         * tests/uninorm/test-composition.c: New file.
26754         * modules/uninorm/composition-tests: New file.
26755
26756         New module 'uninorm/composition'.
26757         * lib/uninorm/composition.c: New file.
26758         * lib/uninorm/composition-table.gperf: New file, generated by
26759         gen-uni-tables.
26760         * modules/uninorm/composition: New file.
26761
26762         Tests for module 'uninorm/compat-decomposition'.
26763         * tests/uninorm/test-compat-decomposition.c: New file.
26764         * modules/uninorm/compat-decomposition-tests: New file.
26765
26766         New module 'uninorm/compat-decomposition'.
26767         * lib/uninorm/decompose-internal.h: New file.
26768         * lib/uninorm/compat-decomposition.c: New file.
26769         * modules/uninorm/compat-decomposition: New file.
26770
26771         Tests for module 'uninorm/canonical-decomposition'.
26772         * tests/uninorm/test-canonical-decomposition.c: New file.
26773         * modules/uninorm/canonical-decomposition-tests: New file.
26774
26775         New module 'uninorm/canonical-decomposition'.
26776         * lib/uninorm/canonical-decomposition.c: New file.
26777         * modules/uninorm/canonical-decomposition: New file.
26778
26779         Tests for module 'uninorm/decomposition'.
26780         * tests/uninorm/test-decomposition.c: New file.
26781         * modules/uninorm/decomposition-tests: New file.
26782
26783         New module 'uninorm/decomposition'.
26784         * lib/uninorm/decomposition.c: New file.
26785         * modules/uninorm/decomposition: New file.
26786
26787         New module 'uninorm/decomposition-table'.
26788         * lib/uninorm/decomposition-table.h: New file.
26789         * lib/uninorm/decomposition-table.c: New file.
26790         * lib/uninorm/decomposition-table1.h: New file, generated by
26791         gen-uni-tables.
26792         * lib/uninorm/decomposition-table2.h: New file, generated by
26793         gen-uni-tables.
26794         * modules/uninorm/decomposition-table: New file.
26795
26796         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
26797         (UC_DECOMP_*): New enumeration items.
26798         (get_decomposition): New function.
26799         (struct decomp_table): New type.
26800         (output_decomposition, output_decomposition_tables): New functions.
26801         (unicode_composition_exclusions): New variable.
26802         (fill_composition_exclusions, debug_output_composition_tables): New
26803         functions.
26804         (main): Accept one more argument. Invoke fill_composition_exclusions.
26805         Output decomposition and composition tables.
26806
26807         New module 'uninorm/base'.
26808         * lib/uninorm.h: New file.
26809         * lib/unictype.h: Update comment.
26810         * modules/uninorm/base: New file.
26811
26812 2009-02-21  David Lutterkort  <lutter@redhat.com>
26813
26814         Tests for module 'safe-alloc'.
26815         * tests/test-safe-alloc.c: New file.
26816         * modules/safe-alloc-tests: New file.
26817
26818         New module 'safe-alloc'.
26819         * lib/safe-alloc.h: New file.
26820         * lib/safe-alloc.c: New file.
26821         * m4/safe-alloc.m4: New file.
26822         * modules/safe-alloc: New file.
26823         * doc/safe-alloc.texi: New file.
26824         * doc/gnulib.texi: Include it.
26825         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
26826         safe-alloc.
26827
26828 2009-02-18  Bruno Haible  <bruno@clisp.org>
26829
26830         Fix link error on non-glibc systems.
26831         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
26832         variable.
26833         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26834
26835 2009-02-18  Jim Meyering  <meyering@redhat.com>
26836
26837         fts: avoid used-uninitialized error due to recent change
26838         * lib/fts.c (fts_read): Guard uses of the new member,
26839         parent->fts_n_dirs_remaining, since it's not relevant for
26840         the parent of a directory specified on the command-line.
26841
26842 2009-02-17  James Youngman  <jay@gnu.org>
26843             Bruno Haible  <bruno@clisp.org>
26844
26845         * m4/include_next.m4: Reformulate comment.
26846
26847 2009-02-16  Jim Meyering  <meyering@redhat.com>
26848
26849         fts: add #if guards so that the fts_lgpl module still builds
26850         * lib/fts.c: Guard just-added hash-table-using parts with
26851         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
26852         Reported by Simon Josefsson.
26853
26854 2009-02-15  Bruno Haible  <bruno@clisp.org>
26855
26856         * modules/array-mergesort-tests: New file.
26857         * tests/test-array-mergesort.c: New file.
26858
26859         New module 'array-mergesort'.
26860         * modules/array-mergesort: New file.
26861         * lib/array-mergesort.h: New file.
26862
26863 2009-02-15  Bruno Haible  <bruno@clisp.org>
26864
26865         Fix 2009-02-07 commit.
26866         * lib/gen-uni-tables.c (output_predicate, output_category,
26867         output_combclass, output_bidi_category, output_decimal_digit,
26868         output_digit, output_numeric, output_mirror, output_scripts,
26869         output_ident_category, output_simple_mapping): Fix format directives.
26870         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
26871
26872 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
26873
26874         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
26875         fixes are available from IBM.
26876
26877 2009-02-13  Jim Meyering  <meyering@redhat.com>
26878
26879         fts: arrange not to stat non-directories in more cases
26880         This makes GNU find (when it doesn't need to stat each file)
26881         *much* more efficient at traversing reiserfs file systems.
26882         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
26883         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
26884         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
26885         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
26886         (leaf_optimization_applies): New function.
26887         (LCO_hash, LCO_compare): New helper functions.
26888         (link_count_optimize_ok): New function.
26889         (fts_stat): Initialize new member (if dir).
26890         (fts_read): Decrement parent's fts_n_dirs_remaining count if
26891         we've just stat'ed a directory.  Skip the stat call when possible.
26892         ---
26893         Note this AFS-related exchange:
26894         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
26895         and note find's pioctl call in find/fstype.c.
26896         But that is necessary only if you want to enable the
26897         optimization for AFS, and for now, I don't.
26898
26899         fts: move a function definition "up" (no semantic change)
26900         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
26901         "up" to precede upcoming use of a related function.
26902
26903 2009-02-11  Jim Meyering  <meyering@redhat.com>
26904
26905         fts: correct internal computation of nlinks (optimization-related)
26906         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
26907         whether the current entry is a directory, so don't test it.
26908
26909 2009-02-10  Bruno Haible  <bruno@clisp.org>
26910
26911         Tests for module 'uniwbrk/ulc-wordbreaks'.
26912         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
26913         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
26914         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
26915
26916         Tests for module 'uniwbrk/u32-wordbreaks'.
26917         * modules/uniwbrk/u32-wordbreaks-tests: New file.
26918         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
26919
26920         Tests for module 'uniwbrk/u16-wordbreaks'.
26921         * modules/uniwbrk/u16-wordbreaks-tests: New file.
26922         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
26923
26924         Tests for module 'uniwbrk/u8-wordbreaks'.
26925         * modules/uniwbrk/u8-wordbreaks-tests: New file.
26926         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
26927
26928 2009-02-10  Bruno Haible  <bruno@clisp.org>
26929
26930         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
26931         property.
26932         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
26933         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
26934         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
26935
26936 2009-02-10  Simon Josefsson  <simon@josefsson.org>
26937
26938         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
26939         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
26940
26941 2009-02-10  Bruno Haible  <bruno@clisp.org>
26942
26943         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
26944         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
26945         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
26946         * lib/unilbrk/u8-possible-linebreaks.c: Update.
26947         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
26948         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
26949
26950 2009-02-09  Simon Josefsson  <simon@josefsson.org>
26951
26952         * lib/sockets.h (gl_fd_to_handle): New function.
26953
26954         * tests/test-sockets.c: Call gl_fd_to_handle.
26955
26956 2009-02-09  Bruno Haible  <bruno@clisp.org>
26957
26958         * doc/havelib.texi: Document the conventions on bi-arch systems.
26959
26960 2009-02-08  Bruno Haible  <bruno@clisp.org>
26961
26962         Document the AC_LIB_LINKFLAGS macro.
26963         * doc/havelib.texi: New file, mostly written on 2005-05-24.
26964         * doc/gnulib.texi: Include it.
26965
26966 2009-02-08  Bruno Haible  <bruno@clisp.org>
26967
26968         Fix wrong order of sections, compared to TOC.
26969         * doc/gnulib.texi: Include relocatable-maint.texi after the
26970         "Regular expressions" node, not before.
26971
26972 2009-02-08  Bruno Haible  <bruno@clisp.org>
26973
26974         Tests for module 'unicase/totitle'.
26975         * modules/unicase/totitle-tests: New file.
26976
26977         Tests for module 'unicase/tolower'.
26978         * modules/unicase/tolower-tests: New file.
26979
26980         Tests for module 'unicase/toupper'.
26981         * modules/unicase/toupper-tests: New file.
26982         * tests/unicase/test-mapping-part1.h: New file.
26983         * tests/unicase/test-mapping-part2.h: New file.
26984
26985         New module 'unicase/totitle'.
26986         * modules/unicase/totitle: New file.
26987         * lib/unicase/totitle.c: New file.
26988
26989         New module 'unicase/tolower'.
26990         * modules/unicase/tolower: New file.
26991         * lib/unicase/tolower.c: New file.
26992
26993         New module 'unicase/toupper'.
26994         * modules/unicase/toupper: New file.
26995         * lib/unicase/toupper.c: New file.
26996         * lib/unicase/simple-mapping.h: New file.
26997
26998         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
26999         (mapping_table): New structure.
27000         (output_simple_mapping): New function.
27001         (main): Invoke output_simple_mapping_test and output_simple_mapping.
27002         * modules/gen-uni-tables (Description): Update.
27003         * lib/unicase/toupper.h: New file, automatically generated by
27004         gen-uni-tables.
27005         * lib/unicase/tolower.h: New file, automatically generated by
27006         gen-uni-tables.
27007         * lib/unicase/totitle.h: New file, automatically generated by
27008         gen-uni-tables.
27009         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
27010         gen-uni-tables.
27011         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
27012         gen-uni-tables.
27013         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
27014         gen-uni-tables.
27015
27016         New module 'unicase/base'.
27017         * modules/unicase/base: New file.
27018         * lib/unicase.h: New file.
27019
27020 2009-02-08  Bruno Haible  <bruno@clisp.org>
27021
27022         New module 'uniwbrk/ulc-wordbreaks'.
27023         * modules/uniwbrk/ulc-wordbreaks: New file.
27024         * lib/uniwbrk/ulc-wordbreaks.c: New file.
27025
27026         New module 'uniwbrk/u32-wordbreaks'.
27027         * modules/uniwbrk/u32-wordbreaks: New file.
27028         * lib/uniwbrk/u32-wordbreaks.c: New file.
27029
27030         New module 'uniwbrk/u16-wordbreaks'.
27031         * modules/uniwbrk/u16-wordbreaks: New file.
27032         * lib/uniwbrk/u16-wordbreaks.c: New file.
27033
27034         New module 'uniwbrk/u8-wordbreaks'.
27035         * modules/uniwbrk/u8-wordbreaks: New file.
27036         * lib/uniwbrk/u8-wordbreaks.c: New file.
27037         * lib/uniwbrk/u-wordbreaks.h: New file.
27038
27039         New module 'uniwbrk/table'.
27040         * modules/uniwbrk/table: New file.
27041         * lib/uniwbrk/wbrktable.h: New file.
27042         * lib/uniwbrk/wbrktable.c: New file.
27043
27044         New module 'uniwbrk/wordbreak-property'.
27045         * modules/uniwbrk/wordbreak-property: New file.
27046         * lib/uniwbrk/wordbreak-property.c: New file.
27047
27048         * lib/gen-uni-tables.c (WBP_*): New enum items.
27049         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
27050         (unicode_org_wbp): New variable.
27051         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
27052         New functions.
27053         (wbp_table): New structure.
27054         (output_wbp, output_wbrk_tables): New functions.
27055         (main): Accept additional argument. Invoke fill_org_wbp,
27056         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
27057         output_wbrk_tables.
27058         * modules/gen-uni-tables (Description): Update.
27059         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
27060         gen-uni-tables.
27061
27062         New module 'uniwbrk/base'.
27063         * modules/uniwbrk/base: New file.
27064         * lib/uniwbrk.h: New file.
27065
27066 2009-02-08  Bruno Haible  <bruno@clisp.org>
27067
27068         Update to Unicode 5.1.0.
27069         * lib/gen-uni-tables.c (is_property_alphabetic): Include
27070         U+2185..U+2188.
27071         (is_property_default_ignorable_code_point): Don't include characters
27072         of category Cc or Cs and not-a-characters.
27073         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
27074         U+0D79, U+109E, U+109F, U+A60C.
27075         * lib/unictype/bidi_of.h: Regenerated.
27076         * lib/unictype/blocks.h: Regenerated.
27077         * lib/unictype/categ_C.h: Regenerated.
27078         * lib/unictype/categ_Cf.h: Regenerated.
27079         * lib/unictype/categ_Cn.h: Regenerated.
27080         * lib/unictype/categ_L.h: Regenerated.
27081         * lib/unictype/categ_Ll.h: Regenerated.
27082         * lib/unictype/categ_Lm.h: Regenerated.
27083         * lib/unictype/categ_Lo.h: Regenerated.
27084         * lib/unictype/categ_Lu.h: Regenerated.
27085         * lib/unictype/categ_M.h: Regenerated.
27086         * lib/unictype/categ_Mc.h: Regenerated.
27087         * lib/unictype/categ_Me.h: Regenerated.
27088         * lib/unictype/categ_Mn.h: Regenerated.
27089         * lib/unictype/categ_N.h: Regenerated.
27090         * lib/unictype/categ_Nd.h: Regenerated.
27091         * lib/unictype/categ_Nl.h: Regenerated.
27092         * lib/unictype/categ_No.h: Regenerated.
27093         * lib/unictype/categ_P.h: Regenerated.
27094         * lib/unictype/categ_Pd.h: Regenerated.
27095         * lib/unictype/categ_Pe.h: Regenerated.
27096         * lib/unictype/categ_Pf.h: Regenerated.
27097         * lib/unictype/categ_Pi.h: Regenerated.
27098         * lib/unictype/categ_Po.h: Regenerated.
27099         * lib/unictype/categ_Ps.h: Regenerated.
27100         * lib/unictype/categ_S.h: Regenerated.
27101         * lib/unictype/categ_Sk.h: Regenerated.
27102         * lib/unictype/categ_Sm.h: Regenerated.
27103         * lib/unictype/categ_So.h: Regenerated.
27104         * lib/unictype/categ_of.h: Regenerated.
27105         * lib/unictype/combining.h: Regenerated.
27106         * lib/unictype/ctype_alnum.h: Regenerated.
27107         * lib/unictype/ctype_alpha.h: Regenerated.
27108         * lib/unictype/ctype_graph.h: Regenerated.
27109         * lib/unictype/ctype_lower.h: Regenerated.
27110         * lib/unictype/ctype_print.h: Regenerated.
27111         * lib/unictype/ctype_punct.h: Regenerated.
27112         * lib/unictype/ctype_upper.h: Regenerated.
27113         * lib/unictype/decdigit.h: Regenerated.
27114         * lib/unictype/digit.h: Regenerated.
27115         * lib/unictype/mirror.h: Regenerated.
27116         * lib/unictype/numeric.h: Regenerated.
27117         * lib/unictype/pr_alphabetic.h: Regenerated.
27118         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
27119         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
27120         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
27121         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
27122         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
27123         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
27124         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
27125         * lib/unictype/pr_combining.h: Regenerated.
27126         * lib/unictype/pr_dash.h: Regenerated.
27127         * lib/unictype/pr_decimal_digit.h: Regenerated.
27128         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
27129         * lib/unictype/pr_deprecated.h: Regenerated.
27130         * lib/unictype/pr_diacritic.h: Regenerated.
27131         * lib/unictype/pr_extender.h: Regenerated.
27132         * lib/unictype/pr_format_control.h: Regenerated.
27133         * lib/unictype/pr_grapheme_base.h: Regenerated.
27134         * lib/unictype/pr_grapheme_extend.h: Regenerated.
27135         * lib/unictype/pr_grapheme_link.h: Regenerated.
27136         * lib/unictype/pr_id_continue.h: Regenerated.
27137         * lib/unictype/pr_id_start.h: Regenerated.
27138         * lib/unictype/pr_ideographic.h: Regenerated.
27139         * lib/unictype/pr_ignorable_control.h: Regenerated.
27140         * lib/unictype/pr_lowercase.h: Regenerated.
27141         * lib/unictype/pr_math.h: Regenerated.
27142         * lib/unictype/pr_numeric.h: Regenerated.
27143         * lib/unictype/pr_other_alphabetic.h: Regenerated.
27144         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
27145         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
27146         * lib/unictype/pr_other_id_continue.h: Regenerated.
27147         * lib/unictype/pr_other_lowercase.h: Regenerated.
27148         * lib/unictype/pr_other_math.h: Regenerated.
27149         * lib/unictype/pr_punctuation.h: Regenerated.
27150         * lib/unictype/pr_sentence_terminal.h: Regenerated.
27151         * lib/unictype/pr_soft_dotted.h: Regenerated.
27152         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
27153         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
27154         * lib/unictype/pr_unified_ideograph.h: Regenerated.
27155         * lib/unictype/pr_uppercase.h: Regenerated.
27156         * lib/unictype/pr_xid_continue.h: Regenerated.
27157         * lib/unictype/pr_xid_start.h: Regenerated.
27158         * lib/unictype/pr_zero_width.h: Regenerated.
27159         * lib/unictype/scripts.h: Regenerated.
27160         * lib/unictype/scripts_byname.gperf: Regenerated.
27161         * lib/unictype/sy_java_ident.h: Regenerated.
27162         * lib/unilbrk/lbrkprop1.h: Regenerated.
27163         * lib/unilbrk/lbrkprop2.h: Regenerated.
27164         * tests/unictype/test-categ_C.c: Regenerated.
27165         * tests/unictype/test-categ_Cf.c: Regenerated.
27166         * tests/unictype/test-categ_Cn.c: Regenerated.
27167         * tests/unictype/test-categ_L.c: Regenerated.
27168         * tests/unictype/test-categ_Ll.c: Regenerated.
27169         * tests/unictype/test-categ_Lm.c: Regenerated.
27170         * tests/unictype/test-categ_Lo.c: Regenerated.
27171         * tests/unictype/test-categ_Lu.c: Regenerated.
27172         * tests/unictype/test-categ_M.c: Regenerated.
27173         * tests/unictype/test-categ_Mc.c: Regenerated.
27174         * tests/unictype/test-categ_Me.c: Regenerated.
27175         * tests/unictype/test-categ_Mn.c: Regenerated.
27176         * tests/unictype/test-categ_N.c: Regenerated.
27177         * tests/unictype/test-categ_Nd.c: Regenerated.
27178         * tests/unictype/test-categ_Nl.c: Regenerated.
27179         * tests/unictype/test-categ_No.c: Regenerated.
27180         * tests/unictype/test-categ_P.c: Regenerated.
27181         * tests/unictype/test-categ_Pd.c: Regenerated.
27182         * tests/unictype/test-categ_Pe.c: Regenerated.
27183         * tests/unictype/test-categ_Pf.c: Regenerated.
27184         * tests/unictype/test-categ_Pi.c: Regenerated.
27185         * tests/unictype/test-categ_Po.c: Regenerated.
27186         * tests/unictype/test-categ_Ps.c: Regenerated.
27187         * tests/unictype/test-categ_S.c: Regenerated.
27188         * tests/unictype/test-categ_Sk.c: Regenerated.
27189         * tests/unictype/test-categ_Sm.c: Regenerated.
27190         * tests/unictype/test-categ_So.c: Regenerated.
27191         * tests/unictype/test-ctype_alnum.c: Regenerated.
27192         * tests/unictype/test-ctype_alpha.c: Regenerated.
27193         * tests/unictype/test-ctype_graph.c: Regenerated.
27194         * tests/unictype/test-ctype_lower.c: Regenerated.
27195         * tests/unictype/test-ctype_print.c: Regenerated.
27196         * tests/unictype/test-ctype_punct.c: Regenerated.
27197         * tests/unictype/test-ctype_upper.c: Regenerated.
27198         * tests/unictype/test-decdigit.h: Regenerated.
27199         * tests/unictype/test-digit.h: Regenerated.
27200         * tests/unictype/test-numeric.h: Regenerated.
27201         * tests/unictype/test-pr_alphabetic.c: Regenerated.
27202         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
27203         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
27204         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
27205         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
27206         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
27207         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
27208         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
27209         * tests/unictype/test-pr_combining.c: Regenerated.
27210         * tests/unictype/test-pr_dash.c: Regenerated.
27211         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
27212         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
27213         * tests/unictype/test-pr_deprecated.c: Regenerated.
27214         * tests/unictype/test-pr_diacritic.c: Regenerated.
27215         * tests/unictype/test-pr_extender.c: Regenerated.
27216         * tests/unictype/test-pr_format_control.c: Regenerated.
27217         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
27218         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
27219         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
27220         * tests/unictype/test-pr_id_continue.c: Regenerated.
27221         * tests/unictype/test-pr_id_start.c: Regenerated.
27222         * tests/unictype/test-pr_ideographic.c: Regenerated.
27223         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
27224         * tests/unictype/test-pr_lowercase.c: Regenerated.
27225         * tests/unictype/test-pr_math.c: Regenerated.
27226         * tests/unictype/test-pr_numeric.c: Regenerated.
27227         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
27228         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
27229         Regenerated.
27230         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
27231         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
27232         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
27233         * tests/unictype/test-pr_other_math.c: Regenerated.
27234         * tests/unictype/test-pr_punctuation.c: Regenerated.
27235         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
27236         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
27237         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
27238         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
27239         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
27240         * tests/unictype/test-pr_uppercase.c: Regenerated.
27241         * tests/unictype/test-pr_xid_continue.c: Regenerated.
27242         * tests/unictype/test-pr_xid_start.c: Regenerated.
27243         * tests/unictype/test-pr_zero_width.c: Regenerated.
27244
27245         Update to Unicode 5.1.0.
27246         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
27247         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
27248         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
27249         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
27250         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
27251         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
27252         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
27253         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
27254         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
27255         (nonspacing_table_ind): Update.
27256         * tests/uniwidth/test-uc_width2.sh: Update expected result.
27257
27258         Update to Unicode 5.1.0.
27259         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
27260         code transform.
27261         * lib/uniname/uniname.c (unicode_character_name,
27262         unicode_name_character): Add the range 0x1Fxxx to the code transform.
27263         * lib/uniname/uninames.h: Regenerated.
27264         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
27265
27266 2009-02-07  Bruno Haible  <bruno@clisp.org>
27267
27268         Merge gen-ctype and gen-lbrk into a single program.
27269         * lib/gen-uni-tables.c: New file, incorporating
27270         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
27271         Add directory prefixes to the names of the generated files.
27272         * lib/unictype/gen-ctype.c: Remove file.
27273         * lib/unilbrk/gen-lbrk.c: Remove file.
27274         * modules/gen-uni-tables: New file.
27275         * modules/unictype/gen-ctype: Remove file.
27276         * modules/unilbrk/gen-lbrk: Remove file.
27277
27278 2009-02-07  Bruno Haible  <bruno@clisp.org>
27279
27280         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
27281
27282         New module 'unistr/u32-strcoll'.
27283         * modules/unistr/u32-strcoll: New file.
27284         * lib/unistr/u32-strcoll.c: New file.
27285
27286         New module 'unistr/u16-strcoll'.
27287         * modules/unistr/u16-strcoll: New file.
27288         * lib/unistr/u16-strcoll.c: New file.
27289
27290         New module 'unistr/u8-strcoll'.
27291         * modules/unistr/u8-strcoll: New file.
27292         * lib/unistr/u8-strcoll.c: New file.
27293         * lib/unistr/u-strcoll.h: New file.
27294
27295 2009-02-07  Bruno Haible  <bruno@clisp.org>
27296
27297         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
27298         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
27299         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
27300         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
27301         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
27302         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
27303
27304 2009-02-07  Bruno Haible  <bruno@clisp.org>
27305
27306         Make 64-bit clean.
27307         * lib/unictype/gen-ctype.c (output_predicate, output_category,
27308         output_combclass, output_bidi_category, output_decimal_digit,
27309         output_digit, output_numeric, output_mirror, output_scripts,
27310         output_ident_category): Use proper width specifier in format strings.
27311
27312 2009-02-07  Bruno Haible  <bruno@clisp.org>
27313
27314         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
27315         failure behaviour.
27316
27317 2009-02-07  Jim Meyering  <meyering@redhat.com>
27318
27319         regex: avoid compilation failure with upcoming gcc-4.4
27320         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
27321         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
27322         "... error: integer overflow in preprocessor expression".
27323
27324 2009-02-05  Ben Pfaff  <blp@gnu.org>
27325
27326         Fix link errors on Windows when close module is used.
27327         * modules/close: Add $(LIB_CLOSE) to Link section.
27328         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
27329         $(LIB_CLOSE) on Windows.
27330
27331 2009-02-05  Jim Meyering  <meyering@redhat.com>
27332
27333         still avoid unused-parameter warnings, but do it cleanly
27334         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
27335         (get_fs_usage): Cast to void instead.
27336         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
27337         (dev_from_mount_options, read_file_system_list): Cast to void.
27338         Prompted by Bruno Haible.
27339
27340 2009-02-04  Jim Meyering  <meyering@redhat.com>
27341
27342         fsusage.c: correct copyright year
27343         * lib/fsusage.c: Reflect year in which the change is pushed into
27344
27345         avoid misc. warnings
27346         * lib/fsusage.c (UNUSED_PARAM): Define.
27347         (get_fs_usage): Mark parameter "disk" as unused.
27348         * lib/getugroups.c (getgrent): Use "void" in prototype.
27349         * lib/mountlist.c: Mark unused parameters.
27350         (read_file_system_list): Declare a local with "const".
27351         * lib/nanosleep.c (getnow): Declare static.
27352         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
27353
27354         dirfd: set errno upon failure
27355         * lib/dirfd.c: Include <errno.h>.
27356         Set errno to ENOTSUP when returning -1.
27357         * modules/dirfd (Depends-on): Add errno.
27358         Suggested by John Kodis <kodis@comcast.net>.
27359
27360 2009-02-01  Bruno Haible  <bruno@clisp.org>
27361
27362         Don't assume sizeof (long) >= sizeof (void *).
27363         * lib/memcmp.c: Include stdint.h.
27364         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
27365         srcp2 to 'const byte *'.
27366         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
27367         types to uintptr_t.
27368         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
27369         * modules/memcmp (Depends-on): Add stdint.
27370         Reported by Ozkan Sezer <sezeroz@gmail.com>.
27371
27372 2009-01-30  Eric Blake  <ebb9@byu.net>
27373
27374         fix more require-before-expand issues
27375         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
27376         expand, AC_PROG_AWK.
27377         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
27378
27379 2009-01-28  Eric Blake  <ebb9@byu.net>
27380
27381         version-etc: use consistent URL formatting
27382         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
27383         Improve formatting.  Use fputs for string without %.
27384
27385 2009-01-28  Jim Meyering  <meyering@redhat.com>
27386
27387         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
27388         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
27389         "underquoted definition of NAME" from autoconf-2.59.
27390
27391 2009-01-28  Bruno Haible  <bruno@clisp.org>
27392
27393         * doc/gnulib.texi: Add "Obsolete modules" to index.
27394
27395 2009-01-28  Jim Meyering  <meyering@redhat.com>
27396
27397         useless-if-before-free: recognize more variants
27398         * build-aux/useless-if-before-free: Also recognize e.g.,
27399         if (NULL != p) free (p);
27400
27401 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
27402
27403         test-getaddrinfo: skip (don't fail) this test when there's no network
27404         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
27405         on the presumption that it means you lack network access.
27406
27407 2009-01-26  Jim Meyering  <meyering@redhat.com>
27408
27409         fflush: avoid warnings on modern systems
27410         * lib/fflush.c (rpl_fflush): Move declarations of locals,
27411         pos and result, into scopes where they're used.
27412
27413 2009-01-26  Eric Blake  <ebb9@byu.net>
27414
27415         Silence warning reintroduced by recent extensions patch.
27416         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
27417         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
27418         autoconf.
27419
27420         Backport improved autoconf semantics of AC_DEFUN_ONCE.
27421         * m4/00gnulib.m4: New file.
27422         * gnulib-tool (func_get_filelist): Always use it.
27423         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
27424         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
27425
27426 2009-01-25  Bruno Haible  <bruno@clisp.org>
27427
27428         Make test-quotearg work on MacOS X and AIX.
27429         * tests/test-quotearg.sh: New file.
27430         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
27431         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
27432         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
27433         include <libintl.h>.
27434         (fake_locale): Remove variable.
27435         (gettext, dgettext, dcgettext): Remove functions.
27436         (main): Instead of setting a fake locale, set a real locale. Call
27437         textdomain and bindtextdomain.
27438         * modules/quotearg-tests (Files): Add the new files.
27439         (Depends-on): Add gettext, setenv, unsetenv.
27440         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
27441         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
27442         Augment TESTS_ENVIRONMENT.
27443
27444 2009-01-25  Bruno Haible  <bruno@clisp.org>
27445
27446         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
27447         fr_FR.ISO8859-1 locale on MacOS X.
27448         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
27449         ja_JP.eucJP locale on MacOS X.
27450         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
27451         zh_CN.GB18030 locale on MacOS X.
27452
27453 2009-01-25  Bruno Haible  <bruno@clisp.org>
27454
27455         Avoid link errors on MacOS X 10.3.
27456         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
27457         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
27458
27459 2009-01-25  Bruno Haible  <bruno@clisp.org>
27460
27461         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
27462         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
27463         * modules/pipe (Files): Remove m4/posix_spawn.m4.
27464         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
27465         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
27466         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
27467         posix_spawnattr_init, posix_spawnattr_setsigmask,
27468         posix_spawnattr_setflags, posix_spawnattr_destroy.
27469
27470         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
27471         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
27472         * modules/execute (Files): Remove m4/posix_spawn.m4.
27473         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
27474         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
27475         posix_spawnattr_init, posix_spawnattr_setsigmask,
27476         posix_spawnattr_setflags, posix_spawnattr_destroy.
27477
27478 2009-01-25  Bruno Haible  <bruno@clisp.org>
27479
27480         * lib/glthread/threadlib.c: Include <stdlib.h>.
27481
27482 2009-01-25  Bruno Haible  <bruno@clisp.org>
27483
27484         * lib/glthread/threadlib.c (dummy): New declaration.
27485
27486 2009-01-25  Bruno Haible  <bruno@clisp.org>
27487
27488         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
27489         multibyte characters also for the GB18030 encoding. Don't crash when
27490         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
27491
27492 2009-01-25  Bruno Haible  <bruno@clisp.org>
27493
27494         Avoid redefining 'struct random_data' on OSF/1 5.1.
27495         * lib/stdlib.in.h: Include <random.h> if it exists.
27496         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
27497         HAVE_RANDOM_H. Include <random.h> when testing whether
27498         'struct random_data' exists.
27499         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
27500
27501 2009-01-25  Bruno Haible  <bruno@clisp.org>
27502
27503         Don't install charset.alias on MacOS X >= 10.3.
27504         * lib/localcharset.c (DARWIN7): New macro.
27505         (get_charset_aliases): Hardcode the result for Darwin7.
27506         * modules/localcharset (install-exec-local): Don't install
27507         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
27508
27509 2009-01-25  Bruno Haible  <bruno@clisp.org>
27510
27511         Don't install charset.alias on mingw and Cygwin.
27512         * modules/localcharset (install-exec-local): Don't install
27513         charset.alias on mingw and Cygwin, if the file does not yet exist.
27514         The result for these platforms is hardcoded in localcharset.c.
27515
27516 2009-01-25  Bruno Haible  <bruno@clisp.org>
27517
27518         Make it possible again to use AC_GNU_SOURCE together with gnulib.
27519         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
27520         before requiring AC_USE_SYSTEM_EXTENSIONS.
27521
27522 2009-01-25  Jim Meyering  <meyering@redhat.com>
27523
27524         c-strtod: avoid warnings
27525         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
27526         "assignment discards qualifiers from pointer target type" warnings.
27527
27528 2009-01-24  Bruno Haible  <bruno@clisp.org>
27529
27530         Add support for non-UTF-8 locales on MacOS X.
27531         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
27532         canonical encodings. For Darwin 7 and newer, don't map traditional
27533         encodings to UTF-8.
27534         Reported by Vincent Lefevre <vincent@vinc17.org>
27535         at <http://savannah.gnu.org/bugs/?25235>.
27536
27537 2009-01-24  Bruno Haible  <bruno@clisp.org>
27538
27539         * doc/gnulib.texi (Obsolete modules): New section.
27540         Reported by Mike Frysinger <vapier@gentoo.org>.
27541
27542 2009-01-24  Bruno Haible  <bruno@clisp.org>
27543
27544         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
27545         (%.dvi): New rule.
27546
27547 2009-01-24  Bruno Haible  <bruno@clisp.org>
27548
27549         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
27550         Reported by Eric Blake.
27551
27552 2009-01-24  Bruno Haible  <bruno@clisp.org>
27553
27554         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
27555         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
27556         Reported by Gary V. Vaughan <gary@gnu.org>.
27557
27558 2009-01-24  Bruno Haible  <bruno@clisp.org>
27559
27560         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
27561
27562 2009-01-23  Bruno Haible  <bruno@clisp.org>
27563
27564         Make c-strtod, c-strtold usable in libraries.
27565         * lib/c-strtod.c: Include string.h instead of xalloc.h.
27566         (C_STRTOD): Call strdup instead of xstrdup.
27567         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
27568         * modules/c-strtold (Depends-on): Likewise.
27569         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
27570         * NEWS: Mention the change.
27571         Reported by Michael Gold <mgold@ncf.ca>.
27572
27573 2009-01-23  Jim Meyering  <meyering@redhat.com>
27574
27575         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
27576         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
27577         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
27578
27579 2009-01-23  Simon Josefsson  <simon@josefsson.org>
27580
27581         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
27582         GNU CoreUtils.
27583         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
27584         * modules/version-etc (Description): Update.
27585
27586 2009-01-22  Bruno Haible  <bruno@clisp.org>
27587
27588         Cache the C locale object.
27589         * lib/c-strtod.c (c_locale_cache): New variable.
27590         (c_locale): New function.
27591         (C_STRTOD): Use it, and don't call freelocale.
27592         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
27593         Suggested by Paolo Bonzini.
27594
27595 2009-01-21  Bruno Haible  <bruno@clisp.org>
27596
27597         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
27598         conditions other than overflow.
27599
27600 2009-01-21  Bruno Haible  <bruno@clisp.org>
27601
27602         * lib/c-strtod.c: Include errno.h.
27603         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
27604         value from STRTOD_L and STRTOD.
27605
27606 2009-01-21  Bruno Haible  <bruno@clisp.org>
27607         and Jim Meyering  <meyering@redhat.com>
27608
27609         nanosleep: skip configure test (fail it) for apple universal builds
27610         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
27611         universal builds, assume that nanosleep does not work.
27612         * modules/nanosleep (Depends-on): Add multiarch.
27613
27614         mktime: skip configure test (fail it) for apple universal builds
27615         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
27616         universal builds, assume that mktime does not work.
27617         * modules/mktime (Depends-on): Add multiarch.
27618
27619 2009-01-21  Eric Blake  <ebb9@byu.net>
27620
27621         multiarch: avoid expand-before-require warning
27622         * modules/multiarch (configure.ac): Require, rather than expand,
27623         gl_MULTIARCH.
27624         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
27625         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
27626         enforce that all clients require it.  Partial reversion of
27627         2008-12-29 patch.
27628
27629         error: avoid expand-before-require warning
27630         * modules/errno (configure.ac): Require, rather than expand,
27631         gl_HEADER_ERRNO_H.
27632         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
27633         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
27634         enforce that all clients require it.
27635
27636         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
27637         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
27638         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
27639         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
27640
27641 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
27642
27643         Revert:
27644         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
27645
27646         regex: do not depend on obsolete modules.
27647         * modules/regex: Remove memcmp and memmove.
27648
27649 2009-01-20  Bruno Haible  <bruno@clisp.org>
27650
27651         Make the 'link' module link on Windows NT 4.
27652         * lib/link.c (_WIN32_WINNT): Don't define.
27653         (CreateHardLinkFuncType): New type.
27654         (CreateHardLinkFunc, initialized): New variables.
27655         (initialize): New function.
27656         (link): Invoke CreateHardLink indirectly through the function pointer.
27657
27658 2009-01-20  Bruno Haible  <bruno@clisp.org>
27659
27660         Fix compilation failure on mingw.
27661         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
27662
27663 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
27664
27665         * doc/c-strtod.texi: Mention a couple of restrictions.
27666
27667 2009-01-20  Jim Meyering  <meyering@redhat.com>
27668
27669         gettimeofday: move more declarations out of functions
27670         * lib/gettimeofday.c: Move extern declarations of tzset and
27671         gmtime out of containing functions.  Prompted by Bruno Haible.
27672
27673 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
27674
27675         regex: do not depend on obsolete modules.
27676         * modules/regex: Remove memcmp and memmove.
27677
27678 2009-01-19  Bruno Haible  <bruno@clisp.org>
27679
27680         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
27681         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
27682         gl_BIGENDIAN, not AC_C_BIGENDIAN.
27683         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
27684         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
27685
27686 2009-01-19  Bruno Haible  <bruno@clisp.org>
27687
27688         * tests/test-link.c: Include <errno.h>.
27689         (main): Exit with code 77 when a hard link cannot be created due to
27690         the file system.
27691         * tests/test-link.sh: Skip test when a hard link cannot be created due
27692         to the file system.
27693         Suggested by Eric Blake.
27694
27695 2009-01-19  Martin Lambers  <marlam@marlam.de>
27696
27697         * modules/link-tests: New file.
27698         * tests/test-link.sh: New file.
27699         * tests/test-link.c: New file.
27700
27701 2009-01-19  Eric Blake  <ebb9@byu.net>
27702
27703         doc: mention another function added in cygwin 1.7.0
27704         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
27705         Another new function in cygwin 1.7.
27706
27707 2009-01-19  Bruno Haible  <bruno@clisp.org>
27708
27709         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
27710         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
27711         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
27712         gl_BIGENDIAN, not AC_C_BIGENDIAN.
27713         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27714         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
27715         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27716         * m4/md4.m4 (gl_MD4): Likewise.
27717         * m4/md5.m4 (gl_MD5): Likewise.
27718         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
27719         * m4/sha1.m4 (gl_SHA1): Likewise.
27720         * m4/sha256.m4 (gl_SHA256): Likewise.
27721         * m4/sha512.m4 (gl_SHA512): Likewise.
27722
27723 2009-01-19  Bruno Haible  <bruno@clisp.org>
27724
27725         * modules/uniname/uniname-tests (Depends-on): Add progname.
27726         * tests/uniname/test-uninames.c: Include progname.h.
27727         (main): Call set_program_name.
27728
27729         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
27730         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
27731         (main): Call set_program_name.
27732
27733         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
27734         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
27735         (main): Call set_program_name.
27736
27737         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
27738         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
27739         (main): Call set_program_name.
27740
27741         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
27742         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
27743         (main): Call set_program_name.
27744
27745         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
27746         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
27747         (main): Call set_program_name.
27748
27749         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
27750         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
27751         (main): Call set_program_name.
27752
27753         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
27754         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
27755         (main): Call set_program_name.
27756
27757         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
27758         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
27759         (main): Call set_program_name.
27760
27761 2009-01-19  Eric Blake  <ebb9@byu.net>
27762
27763         test-unistd: test previous patch
27764         * tests/test-unistd.c: Test *_FILENO macros.
27765
27766         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
27767         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
27768         Guarantee a definition.
27769         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
27770         * modules/unistd-safer (Depends-on): Add dependency on unistd.
27771         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
27772         * lib/dup-safer.c (STDERR_FILENO): Likewise.
27773         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
27774         Likewise.
27775         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
27776         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
27777         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
27778         Likewise.
27779         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
27780         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
27781         (STDERR_FILENO): Likewise.
27782         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
27783         (STDERR_FILENO): Likewise.
27784         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
27785         (STDERR_FILENO): Likewise.
27786         Reported by Elbert Pol.
27787
27788 2009-01-19  Eric Blake  <ebb9@byu.net>
27789
27790         doc: mention more functions added in cygwin 1.7.0
27791         * doc/posix-functions/abort.texi (abort): Update wording related
27792         to cygwin.
27793         * doc/posix-functions/daylight.texi (daylight): Likewise.
27794         * doc/posix-functions/optarg.texi (optarg): Likewise.
27795         * doc/posix-functions/optarg.texi (opterr): Likewise.
27796         * doc/posix-functions/optarg.texi (optind): Likewise.
27797         * doc/posix-functions/optarg.texi (optopt): Likewise.
27798         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
27799         worked in 1.5.x, and was withdrawn in 1.7.
27800         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
27801         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
27802         cygwin versions.
27803         * doc/posix-functions/perror.texi (perror): Likewise.
27804         * doc/posix-functions/printf.texi (printf): Likewise.
27805         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
27806         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
27807         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
27808         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
27809         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27810         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
27811         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
27812         Likewise.
27813         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
27814         Likewise.
27815         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
27816         this function.
27817         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
27818         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
27819         Likewise.
27820         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
27821         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
27822         * doc/posix-functions/confstr.texi (confstr): Likewise.
27823         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
27824         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
27825         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
27826         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
27827         * doc/posix-functions/fputws.texi (fputws): Likewise.
27828         * doc/posix-functions/fwide.texi (fwide): Likewise.
27829         * doc/posix-functions/getwc.texi (getwc): Likewise.
27830         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
27831         * doc/posix-functions/putwc.texi (putwc): Likewise.
27832         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
27833         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
27834         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
27835         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
27836         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
27837         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
27838         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
27839         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
27840         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
27841         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
27842         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
27843
27844 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
27845
27846         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
27847         * lib/ioctl.c: Include <sys/ioctl.h>.
27848
27849 2009-01-19  Simon Josefsson  <simon@josefsson.org>
27850
27851         * modules/getdate-tests (Depends-on): Add progname.
27852         * tests/test-getdate.c: Use progname module, to avoid link errors
27853         on non-glibc systems.
27854
27855 2009-01-18  Simon Josefsson  <simon@josefsson.org>
27856
27857         * modules/filenamecat-tests (Depends-on): Add progname.
27858         * modules/fstrcmp-tests (Depends-on): Likewise.
27859
27860         * tests/test-filenamecat.c: Use progname module, to avoid link
27861         errors on non-glibc systems.
27862         * tests/test-fstrcmp.c: Likewise.
27863
27864 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
27865
27866         gettimeofday: avoid warning: nested extern declaration of 'localtime'
27867         * lib/gettimeofday.c: Move extern declaration out of function.
27868
27869 2009-01-18  Bruno Haible  <bruno@clisp.org>
27870
27871         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
27872         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
27873         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
27874
27875 2009-01-18  Bruno Haible  <bruno@clisp.org>
27876
27877         * lib/strftime.c (MEMPCPY): Remove unused macro.
27878         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
27879
27880 2009-01-18  Martin Lambers  <marlam@marlam.de>
27881
27882         New module 'link'.
27883         * lib/unistd.in.h (link): New declaration.
27884         * lib/link.c: New file.
27885         * m4/link.m4: New file.
27886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
27887         HAVE_LINK.
27888         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
27889         * modules/link: New file.
27890         * doc/posix-functions/link.texi: Mention the new module.
27891
27892 2009-01-18  Bruno Haible  <bruno@clisp.org>
27893
27894         * tests/test-avltree_list.c (main): Call set_program_name.
27895         * tests/test-avltree_oset.c (main): Likewise.
27896         * tests/test-obstack-printf.c: Include progname.h.
27897         (main): Call set_program_name.
27898         * tests/test-quotearg.c: Include progname.h.
27899         (main): Call set_program_name.
27900         * tests/test-xmemdup0.c: Include progname.h.
27901         (main): Call set_program_name.
27902
27903 2009-01-18  Bruno Haible  <bruno@clisp.org>
27904
27905         New module 'alphasort'.
27906         * lib/dirent.in.h (alphasort): New declaration.
27907         * lib/alphasort.c: New file, from glibc with modifications.
27908         * m4/alphasort.m4: New file.
27909         * modules/alphasort: New file.
27910         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
27911         HAVE_ALPHASORT.
27912         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
27913         HAVE_ALPHASORT.
27914         * doc/posix-functions/alphasort.texi: Mention the new module and the
27915         portability problems.
27916
27917 2009-01-18  Bruno Haible  <bruno@clisp.org>
27918
27919         New module 'scandir'.
27920         * lib/dirent.in.h (scandir): New declaration.
27921         * lib/scandir.c: New file, from glibc with modifications.
27922         * m4/scandir.m4: New file.
27923         * modules/scandir: New file.
27924         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
27925         HAVE_SCANDIR.
27926         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
27927         HAVE_SCANDIR.
27928         * doc/posix-functions/scandir.texi: Mention the new module and the
27929         portability problems.
27930
27931 2009-01-17  Bruno Haible  <bruno@clisp.org>
27932
27933         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
27934         Update documentation.
27935         (func_remove_suffix): Escape all dots in the suffix. Update
27936         documentation.
27937         (func_filter_filelist): Update documentation.
27938         Reported by Ralf Wildenhues.
27939
27940 2009-01-17  Bruno Haible  <bruno@clisp.org>
27941
27942         * modules/dprintf-posix-tests: New file.
27943         * tests/test-dprintf-posix.sh: New file.
27944         * tests/test-dprintf-posix.c: New file.
27945
27946         New modules 'dprintf', 'dprintf-posix'.
27947         * lib/stdio.in.h (dprintf): New declaration.
27948         * lib/dprintf.c: New file.
27949         * m4/dprintf.m4: New file.
27950         * m4/dprintf-posix.m4: New file.
27951         * modules/dprintf: New file.
27952         * modules/dprintf-posix: New file.
27953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
27954         HAVE_DPRINTF, REPLACE_DPRINTF.
27955         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
27956         HAVE_DPRINTF, REPLACE_DPRINTF.
27957         * doc/posix-functions/dprintf.texi: Mention the new modules.
27958
27959 2009-01-17  Bruno Haible  <bruno@clisp.org>
27960
27961         * modules/vdprintf-posix-tests: New file.
27962         * tests/test-vdprintf-posix.sh: New file.
27963         * tests/test-vdprintf-posix.c: New file.
27964
27965         New modules 'vdprintf', 'vdprintf-posix'.
27966         * lib/stdio.in.h (vdprintf): New declaration.
27967         * lib/vdprintf.c: New file.
27968         * m4/vdprintf.m4: New file.
27969         * m4/vdprintf-posix.m4: New file.
27970         * modules/vdprintf: New file.
27971         * modules/vdprintf-posix: New file.
27972         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
27973         HAVE_VDPRINTF, REPLACE_VDPRINTF.
27974         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
27975         HAVE_VDPRINTF, REPLACE_VDPRINTF.
27976         * doc/posix-functions/vdprintf.texi: Mention the new modules.
27977
27978 2009-01-17  Bruno Haible  <bruno@clisp.org>
27979
27980         Fix replacement of fopen on mingw.
27981         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
27982         mingw.
27983
27984 2009-01-17  Bruno Haible  <bruno@clisp.org>
27985
27986         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
27987         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
27988
27989 2009-01-17  Bruno Haible  <bruno@clisp.org>
27990
27991         Avoid test-fflush2.sh failure on mingw.
27992         * tests/test-fflush2.c: Include binary-io.h.
27993         (main): Put standard input into binary mode.
27994         * modules/fflush-tests (Depends-on): Add binary-io.
27995
27996 2009-01-17  Bruno Haible  <bruno@clisp.org>
27997
27998         * lib/wchar.in.h: In another particular situation, include only the
27999         system's <wchar.h> file.
28000         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
28001         Reported by Albert Chin-A-Young <china@thewrittenword.com>
28002         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
28003
28004 2009-01-17  Bruno Haible  <bruno@clisp.org>
28005
28006         Support for stripping executables in --enable-relocatable.
28007         * build-aux/install-reloc: Expect one more argument, or an environment
28008         variable RELOC_STRIP_PROG. If set, strip the destination program and
28009         its wrapper.
28010         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
28011         RELOC_STRIP_PROG.
28012         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
28013         to set RELOCATABLE_STRIP.
28014         * NEWS: Mention the new Makefile requirement.
28015
28016 2009-01-17  Bruno Haible  <bruno@clisp.org>
28017
28018         * build-aux/install-reloc: Remove debugging information left over by
28019         C compiler on MacOS X.
28020
28021 2009-01-17  Bruno Haible  <bruno@clisp.org>
28022
28023         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
28024         * lib/progreloc.c (find_executable): Fix type of pointer passed to
28025         _NSGetExecutablePath.
28026
28027 2009-01-16  Jim Meyering  <meyering@redhat.com>
28028
28029         strerror: avoid warnings about discarding "const"
28030         * lib/strerror.c (rpl_strerror): Instead of returning a const
28031         string from each and every "case", use a variable, and add a single
28032         cast after the switch.
28033
28034 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
28035
28036         * lib/arpa_inet.in.h: Add extern "C" block for C++.
28037
28038 2009-01-16  Bruno Haible  <bruno@clisp.org>
28039
28040         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
28041         array initializer syntax that also works in C++ mode.
28042         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28043
28044 2009-01-16  Jim Meyering  <meyering@redhat.com>
28045
28046         poll: suppress a warning
28047         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
28048         to ignore "...unsigned expression < 0 is always false" warnings.
28049
28050 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
28051
28052         poll: remove declarations of unused variables
28053         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
28054         sockbuf and optlen.
28055
28056 2009-01-15  Bruno Haible  <bruno@clisp.org>
28057
28058         Make fflush-after-ungetc POSIX compliant on BSD systems.
28059         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
28060         (clear_ungetc_buffer): Implement also for other systems.
28061         (rpl_fflush): On glibc systems, invoke
28062         clear_ungetc_buffer_preserving_position. Otherwise, invoke
28063         clear_ungetc_buffer after fetching the stream's position, not before.
28064
28065 2009-01-15  Bruno Haible  <bruno@clisp.org>
28066
28067         Make fflush-after-ungetc POSIX compliant on glibc systems.
28068         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
28069         after ungetc.
28070         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
28071         (rpl_fflush): On glibc systems, simply call the system's fflush
28072         function after clearing the ungetc buffer.
28073         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
28074         Instead, lseek only to the end of file, then use the system's fseeko
28075         for the rest. On glibc systems, reset the EOF indicator bit.
28076
28077 2009-01-15  Jim Meyering  <meyering@redhat.com>
28078
28079         openmp.m4: revert quote-adding change, for portability to older autoconf
28080         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
28081         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
28082         Simon Josefsson noticed the problem when using autoconf-2.61.
28083
28084 2009-01-15  Bruno Haible  <bruno@clisp.org>
28085
28086         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
28087         * tests/test-fflush2.c (ASSERT): Always fail.
28088         (main): Add two tests for fflush() after ungetc(), taking into account
28089         the Austin Group's clarification.
28090         Suggested by Eric Blake.
28091
28092 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
28093
28094         mktime.m4: remove K&R-style function prototypes
28095         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
28096         for the Sun C++ compiler.
28097
28098 2009-01-14  Bruno Haible  <bruno@clisp.org>
28099
28100         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
28101         while including <wchar.h>.
28102         * lib/wchar.in.h: In two particular situations on HP-UX, include only
28103         the system's <wchar.h> file.
28104         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28105
28106 2009-01-14  Bruno Haible  <bruno@clisp.org>
28107
28108         * m4/csharp.m4: Don't mention gettext on the serial number line.
28109         * m4/csharpexec.m4: Likewise.
28110         * m4/eaccess.m4: Likewise.
28111         * m4/javaexec.m4: Likewise.
28112         * m4/sig_atomic_t.m4: Likewise.
28113         * m4/tmpdir.m4: Likewise.
28114         * m4/intldir.m4: Bump gettext version.
28115         * m4/lib-ld.m4: Likewise.
28116
28117 2009-01-14  Bruno Haible  <bruno@clisp.org>
28118
28119         * lib/progname.c (set_program_name): Add more comments.
28120         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
28121
28122 2009-01-14  Simon Josefsson  <simon@josefsson.org>
28123
28124         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
28125         were sys/stat.h does not define it.
28126
28127 2009-01-14  Jim Meyering  <meyering@redhat.com>
28128
28129         many *.m4 files: improve m4 quoting
28130         99% of this change was performed by running the following commands:
28131         git ls-files | grep '\.m4$' | xargs perl -pi \
28132           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
28133           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
28134           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
28135           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
28136         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
28137         The remainder were to add Copyright dates, increment serial numbers,
28138         undo some changes in comments, exclude m4/intl.m4, and add quotes
28139         around the "1" in ",1" where the unusual spacing prohibited the
28140         above regexps from doing the job.  For more details, see
28141         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
28142         * m4/acl.m4: Modified.
28143         * m4/afs.m4: Likewise.
28144         * m4/alloca.m4: Likewise.
28145         * m4/argp.m4: Likewise.
28146         * m4/argz.m4: Likewise.
28147         * m4/atexit.m4: Likewise.
28148         * m4/bison-i18n.m4: Likewise.
28149         * m4/bison.m4: Likewise.
28150         * m4/byteswap.m4: Likewise.
28151         * m4/c-stack.m4: Likewise.
28152         * m4/c-strtod.m4: Likewise.
28153         * m4/calloc.m4: Likewise.
28154         * m4/canonicalize-lgpl.m4: Likewise.
28155         * m4/chown.m4: Likewise.
28156         * m4/clock_time.m4: Likewise.
28157         * m4/codeset.m4: Likewise.
28158         * m4/copy-file.m4: Likewise.
28159         * m4/csharp.m4: Likewise.
28160         * m4/csharpcomp.m4: Likewise.
28161         * m4/csharpexec.m4: Likewise.
28162         * m4/d-ino.m4: Likewise.
28163         * m4/d-type.m4: Likewise.
28164         * m4/dirfd.m4: Likewise.
28165         * m4/double-slash-root.m4: Likewise.
28166         * m4/eaccess.m4: Likewise.
28167         * m4/eealloc.m4: Likewise.
28168         * m4/environ.m4: Likewise.
28169         * m4/errno_h.m4: Likewise.
28170         * m4/euidaccess.m4: Likewise.
28171         * m4/execute.m4: Likewise.
28172         * m4/fatal-signal.m4: Likewise.
28173         * m4/fchdir.m4: Likewise.
28174         * m4/fcntl_h.m4: Likewise.
28175         * m4/fileblocks.m4: Likewise.
28176         * m4/filenamecat.m4: Likewise.
28177         * m4/findprog.m4: Likewise.
28178         * m4/flexmember.m4: Likewise.
28179         * m4/fnmatch.m4: Likewise.
28180         * m4/fopen.m4: Likewise.
28181         * m4/fpending.m4: Likewise.
28182         * m4/fprintf-posix.m4: Likewise.
28183         * m4/free.m4: Likewise.
28184         * m4/frexp.m4: Likewise.
28185         * m4/frexpl.m4: Likewise.
28186         * m4/fsusage.m4: Likewise.
28187         * m4/ftruncate.m4: Likewise.
28188         * m4/gc-camellia.m4: Likewise.
28189         * m4/gc-random.m4: Likewise.
28190         * m4/gc.m4: Likewise.
28191         * m4/getaddrinfo.m4: Likewise.
28192         * m4/getcwd-abort-bug.m4: Likewise.
28193         * m4/getcwd-path-max.m4: Likewise.
28194         * m4/getdate.m4: Likewise.
28195         * m4/getdomainname.m4: Likewise.
28196         * m4/getgroups.m4: Likewise.
28197         * m4/gethostname.m4: Likewise.
28198         * m4/gethrxtime.m4: Likewise.
28199         * m4/getline.m4: Likewise.
28200         * m4/getloadavg.m4: Likewise.
28201         * m4/getndelim2.m4: Likewise.
28202         * m4/getpass.m4: Likewise.
28203         * m4/gettext.m4: Likewise.
28204         * m4/gettime.m4: Likewise.
28205         * m4/gettimeofday.m4: Likewise.
28206         * m4/gnulib-common.m4: Likewise.
28207         * m4/group-member.m4: Likewise.
28208         * m4/host-os.m4: Likewise.
28209         * m4/iconv.m4: Likewise.
28210         * m4/iconv_open.m4: Likewise.
28211         * m4/inet_ntop.m4: Likewise.
28212         * m4/inet_pton.m4: Likewise.
28213         * m4/inline.m4: Likewise.
28214         * m4/intldir.m4: Likewise.
28215         * m4/intlmacosx.m4: Likewise.
28216         * m4/intmax.m4: Likewise.
28217         * m4/intmax_t.m4: Likewise.
28218         * m4/inttypes.m4: Likewise.
28219         * m4/inttypes_h.m4: Likewise.
28220         * m4/inttypes-pri.m4: Likewise.
28221         * m4/isapipe.m4: Likewise.
28222         * m4/isnand.m4: Likewise.
28223         * m4/isnanf.m4: Likewise.
28224         * m4/isnanl.m4: Likewise.
28225         * m4/javacomp.m4: Likewise.
28226         * m4/javaexec.m4: Likewise.
28227         * m4/jm-winsz1.m4: Likewise.
28228         * m4/jm-winsz2.m4: Likewise.
28229         * m4/lchown.m4: Likewise.
28230         * m4/lcmessage.m4: Likewise.
28231         * m4/ldexpl.m4: Likewise.
28232         * m4/lib-ld.m4: Likewise.
28233         * m4/lib-link.m4: Likewise.
28234         * m4/libsigsegv.m4: Likewise.
28235         * m4/link-follow.m4: Likewise.
28236         * m4/localcharset.m4: Likewise.
28237         * m4/locale-fr.m4: Likewise.
28238         * m4/locale-ja.m4: Likewise.
28239         * m4/locale-tr.m4: Likewise.
28240         * m4/locale-zh.m4: Likewise.
28241         * m4/lock.m4: Likewise.
28242         * m4/longlong.m4: Likewise.
28243         * m4/ls-mntd-fs.m4: Likewise.
28244         * m4/lstat.m4: Likewise.
28245         * m4/malloc.m4: Likewise.
28246         * m4/mathl.m4: Likewise.
28247         * m4/mbrtowc.m4: Likewise.
28248         * m4/mbstate_t.m4: Likewise.
28249         * m4/mbswidth.m4: Likewise.
28250         * m4/memchr.m4: Likewise.
28251         * m4/memcmp.m4: Likewise.
28252         * m4/memcpy.m4: Likewise.
28253         * m4/memmem.m4: Likewise.
28254         * m4/memmove.m4: Likewise.
28255         * m4/mempcpy.m4: Likewise.
28256         * m4/memrchr.m4: Likewise.
28257         * m4/memset.m4: Likewise.
28258         * m4/minmax.m4: Likewise.
28259         * m4/mkdir-slash.m4: Likewise.
28260         * m4/mkdtemp.m4: Likewise.
28261         * m4/mktime.m4: Likewise.
28262         * m4/mmap-anon.m4: Likewise.
28263         * m4/mountlist.m4: Likewise.
28264         * m4/nanosleep.m4: Likewise.
28265         * m4/nls.m4: Likewise.
28266         * m4/nocrash.m4: Likewise.
28267         * m4/open.m4: Likewise.
28268         * m4/openat.m4: Likewise.
28269         * m4/openmp.m4: Likewise.
28270         * m4/pathmax.m4: Likewise.
28271         * m4/perl.m4: Likewise.
28272         * m4/physmem.m4: Likewise.
28273         * m4/pipe.m4: Likewise.
28274         * m4/po.m4: Likewise.
28275         * m4/poll.m4: Likewise.
28276         * m4/posixtm.m4: Likewise.
28277         * m4/posixver.m4: Likewise.
28278         * m4/printf-frexp.m4: Likewise.
28279         * m4/printf-frexpl.m4: Likewise.
28280         * m4/printf-posix.m4: Likewise.
28281         * m4/printf-posix-rpl.m4: Likewise.
28282         * m4/printf.m4: Likewise.
28283         * m4/progtest.m4: Likewise.
28284         * m4/putenv.m4: Likewise.
28285         * m4/readline.m4: Likewise.
28286         * m4/readlink.m4: Likewise.
28287         * m4/readutmp.m4: Likewise.
28288         * m4/realloc.m4: Likewise.
28289         * m4/regex.m4: Likewise.
28290         * m4/relocatable.m4: Likewise.
28291         * m4/relocatable-lib.m4: Likewise.
28292         * m4/rename-dest-slash.m4: Likewise.
28293         * m4/rename.m4: Likewise.
28294         * m4/rmdir-errno.m4: Likewise.
28295         * m4/rmdir.m4: Likewise.
28296         * m4/roundf.m4: Likewise.
28297         * m4/roundl.m4: Likewise.
28298         * m4/rpmatch.m4: Likewise.
28299         * m4/save-cwd.m4: Likewise.
28300         * m4/selinux-selinux-h.m4: Likewise.
28301         * m4/setenv.m4: Likewise.
28302         * m4/settime.m4: Likewise.
28303         * m4/sig2str.m4: Likewise.
28304         * m4/sig_atomic_t.m4: Likewise.
28305         * m4/signalblocking.m4: Likewise.
28306         * m4/signbit.m4: Likewise.
28307         * m4/sigpipe.m4: Likewise.
28308         * m4/sockets.m4: Likewise.
28309         * m4/sockpfaf.m4: Likewise.
28310         * m4/st_dm_mode.m4: Likewise.
28311         * m4/stat-time.m4: Likewise.
28312         * m4/stdbool.m4: Likewise.
28313         * m4/stdint.m4: Likewise.
28314         * m4/stdint_h.m4: Likewise.
28315         * m4/stpcpy.m4: Likewise.
28316         * m4/stpncpy.m4: Likewise.
28317         * m4/strcase.m4: Likewise.
28318         * m4/strchrnul.m4: Likewise.
28319         * m4/strcspn.m4: Likewise.
28320         * m4/strdup.m4: Likewise.
28321         * m4/strftime.m4: Likewise.
28322         * m4/strndup.m4: Likewise.
28323         * m4/strnlen.m4: Likewise.
28324         * m4/strpbrk.m4: Likewise.
28325         * m4/strptime.m4: Likewise.
28326         * m4/strsep.m4: Likewise.
28327         * m4/strtod.m4: Likewise.
28328         * m4/strtoimax.m4: Likewise.
28329         * m4/strtok_r.m4: Likewise.
28330         * m4/strtol.m4: Likewise.
28331         * m4/strtoll.m4: Likewise.
28332         * m4/strtoul.m4: Likewise.
28333         * m4/strtoull.m4: Likewise.
28334         * m4/strtoumax.m4: Likewise.
28335         * m4/strverscmp.m4: Likewise.
28336         * m4/threadlib.m4: Likewise.
28337         * m4/timegm.m4: Likewise.
28338         * m4/tm_gmtoff.m4: Likewise.
28339         * m4/tmpdir.m4: Likewise.
28340         * m4/tmpfile.m4: Likewise.
28341         * m4/tzset.m4: Likewise.
28342         * m4/uintmax_t.m4: Likewise.
28343         * m4/unlinkdir.m4: Likewise.
28344         * m4/unlocked-io.m4: Likewise.
28345         * m4/uptime.m4: Likewise.
28346         * m4/userspec.m4: Likewise.
28347         * m4/utimbuf.m4: Likewise.
28348         * m4/utime.m4: Likewise.
28349         * m4/utimes-null.m4: Likewise.
28350         * m4/utimes.m4: Likewise.
28351         * m4/vararrays.m4: Likewise.
28352         * m4/vasnprintf.m4: Likewise.
28353         * m4/vfprintf-posix.m4: Likewise.
28354         * m4/vprintf-posix.m4: Likewise.
28355         * m4/wait-process.m4: Likewise.
28356         * m4/wchar_t.m4: Likewise.
28357         * m4/wint_t.m4: Likewise.
28358         * m4/write-any-file.m4: Likewise.
28359         * m4/yield.m4: Likewise.
28360
28361 2009-01-13  Bruno Haible  <bruno@clisp.org>
28362
28363         Avoid test-copy-file.sh failures when ACL support insufficient.
28364         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
28365         TESTS_ENVIRONMENT.
28366         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
28367         Reported by Jim Meyering.
28368
28369 2009-01-13  Bruno Haible  <bruno@clisp.org>
28370
28371         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
28372         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
28373         * modules/unistdio/u8-printf-parse (Files): Likewise.
28374         * modules/unistdio/u32-printf-parse (Files): Likewise.
28375         * modules/unistdio/ulc-printf-parse (Files): Likewise.
28376
28377 2009-01-13  Simon Josefsson  <simon@josefsson.org>
28378
28379         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
28380         and m4/inttypes_h.m4 too.
28381
28382 2009-01-12  Eric Blake  <ebb9@byu.net>
28383
28384         tests: IRIX 6.2 cc can't compile -0.0 into .data
28385         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
28386         rather than at compile-time.
28387         * tests/test-floorl.c (minus_zero): Likewise.
28388         * tests/test-frexpl.c (minus_zero): Likewise.
28389         * tests/test-isnan.c (minus_zerol): Likewise.
28390         * tests/test-isnanl.h (minus_zero): Likewise.
28391         * tests/test-ldexpl.c (minus_zero): Likewise.
28392         * tests/test-roundl.c (minus_zero): Likewise.
28393         * tests/test-signbit.c (minus_zerol): Likewise.
28394         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
28395         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
28396         * tests/test-truncl.c (minus_zero): Likewise.
28397         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
28398         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
28399         Reported by Tom G. Christensen and Nelson H. F. Beebe.
28400
28401 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
28402
28403         regex: fix glibc bug 9697
28404         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
28405         handling.
28406
28407 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
28408
28409         regex: fix glibc bug 697
28410         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
28411         being NULL also if there are no backreferences.
28412
28413 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
28414
28415         regex: merge glibc changes
28416         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
28417         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
28418         re_string_skip_chars, re_string_reconstruct): Likewise.
28419         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
28420
28421 2009-01-07  Jim Meyering  <meyering@redhat.com>
28422
28423         poll: filter through cppi
28424         * lib/poll.c: Indent cpp directives to reflect nesting.
28425
28426 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
28427
28428         poll: don't return uninitialized
28429         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
28430
28431 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
28432
28433         avoid compile failure on AIX 6.1
28434         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
28435         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
28436
28437 2009-01-04  Jim Meyering  <meyering@redhat.com>
28438
28439         remove duplicate inclusion of <stdio.h>
28440         * tests/test-fprintf-posix.c: Likewise.
28441         * tests/test-printf-posix.c: Likewise.
28442         * tests/test-snprintf-posix.c: Likewise.
28443         * tests/test-sprintf-posix.c: Likewise.
28444         * tests/test-vasprintf-posix.c: Likewise.
28445         * tests/test-vfprintf-posix.c: Likewise.
28446         * tests/test-vprintf-posix.c: Likewise.
28447         * tests/test-vsnprintf-posix.c: Likewise.
28448         * tests/test-vsprintf-posix.c: Likewise.
28449
28450 2009-01-03  Jim Meyering  <meyering@redhat.com>
28451
28452         gnulib-tool: fix sed-based filtering
28453         * gnulib-tool (func_filter_filelist): Remove extra backslash
28454         in sed_fff_filter definition.
28455
28456 2009-01-02  Jim Meyering  <meyering@redhat.com>
28457
28458         strftime: avoid compilation failure on Solaris 2.6
28459         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
28460         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
28461         Don't #define mbrlen or mbsinit, since now they're guaranteed to
28462         be available.  Reported by Tom G. Christensen.  Details in
28463         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
28464
28465 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28466             Bruno Haible  <bruno@clisp.org>
28467
28468         Speed up gnulib-tool by doing more string processing through shell
28469         built-ins.
28470         * gnulib-tool (fast_func_append): New variable.
28471         (func_remove_prefix, func_remove_suffix): New functions.
28472         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
28473         (func_filter_filelist): New function.
28474         (func_get_dependencies): Use func_remove_suffix instead of sed.
28475         (func_get_automake_snippet): Use func_filter_filelist instead of a
28476         subshell and sed invocation.
28477
28478 2009-01-01  Bruno Haible  <bruno@clisp.org>
28479
28480         Fix a security bug.
28481         * gnulib-tool (func_import, import, update): Don't allow the characters
28482         '"', '$', '`', '\' in macro arguments that become part of commands that
28483         are evaluated.
28484
28485 2009-01-01  Bruno Haible  <bruno@clisp.org>
28486
28487         * gnulib-tool (func_reset_sigpipe): Add more comments.
28488
28489 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28490
28491         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
28492         func_emit_tests_Makefile_am, func_import): Abort loops early if we
28493         already know the answer.
28494
28495 2009-01-01  Jim Meyering  <meyering@redhat.com>
28496
28497         * lib/version-etc.c (version_etc_va): Update copyright year.
28498
28499 2008-12-30  Bruno Haible  <bruno@clisp.org>
28500
28501         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
28502         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
28503         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
28504
28505 2008-12-29  Eric Blake  <ebb9@byu.net>
28506
28507         multiarch: avoid autoconf AC_REQUIRE bug
28508         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
28509         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
28510         2.63 and older.
28511         Reported by Bruno Haible, and analyzed in
28512         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
28513
28514 2008-12-29  Bruno Haible  <bruno@clisp.org>
28515
28516         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
28517         files in subdirectories correctly.
28518         Reported by Ralf Wildenhues.
28519
28520 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28521
28522         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
28523         rather than 'join FILE -', for Solaris join.
28524
28525 2008-12-29  Bruno Haible  <bruno@clisp.org>
28526
28527         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
28528         quoting.
28529         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28530         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28531         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28532         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
28533         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28534         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28535         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28536         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28537         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28538         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28539         * m4/nls.m4 (AM_NLS): Likewise.
28540         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
28541         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28542         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
28543         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28544         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28545         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28546         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
28547         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28548         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28549         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28550         * m4/xsize.m4 (gl_XSIZE): Likewise.
28551         Suggested by Jim Meyering.
28552
28553 2008-11-17  Bruce Korb  <bkorb@gnu.org>
28554
28555         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
28556         * lib/parse-duration.c: use a switch instead of cascading if's.
28557
28558 2008-12-29  Eric Blake  <ebb9@byu.net>
28559
28560         wchar.h: supply WEOF on Irix 5.3
28561         * lib/wchar.in.h (wint_t): Also supply WEOF.
28562         * lib/wctype.in.h (wint_t): Likewise.
28563         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
28564         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
28565         Reported by Tom G. Christensen.
28566
28567 2008-12-26  Bruno Haible  <bruno@clisp.org>
28568
28569         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
28570         i486, i586, i686.
28571
28572 2008-12-26  Bruno Haible  <bruno@clisp.org>
28573
28574         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
28575
28576 2008-12-26  Bruno Haible  <bruno@clisp.org>
28577
28578         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
28579         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
28580         not __STDC_CONSTANT_MACROS.
28581         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
28582
28583 2008-12-25  Bruno Haible  <bruno@clisp.org>
28584
28585         Add support for universal builds to vasnprintf.
28586         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
28587         universal builds, guess no.
28588         * modules/vasnprintf-posix (Depends-on): Add multiarch.
28589         * modules/vasprintf-posix (Depends-on): Likewise.
28590         * modules/fprintf-posix (Depends-on): Likewise.
28591         * modules/vfprintf-posix (Depends-on): Likewise.
28592         * modules/snprintf-posix (Depends-on): Likewise.
28593         * modules/vsnprintf-posix (Depends-on): Likewise.
28594         * modules/sprintf-posix (Depends-on): Likewise.
28595         * modules/vsprintf-posix (Depends-on): Likewise.
28596         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28597         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28598         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28599         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28600         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28601         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28602         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28603
28604         Add support for universal builds to <inttypes.h>.
28605         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
28606         _SCNu64_PREFIX): In Apple
28607         universal builds, define directly, using _LP64.
28608         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
28609         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
28610         * modules/inttypes (Depends-on): Add multiarch.
28611         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
28612
28613         Add support for universal builds to <stdint.h>.
28614         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
28615         universal builds, define directly, using _LP64.
28616         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
28617         Apple universal builds, don't test for the size and suffix of ptrdiff_t
28618         and size_t.
28619         * modules/stdint (Depends-on): Add multiarch.
28620         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
28621
28622         New module 'multiarch'.
28623         * modules/multiarch: New file.
28624         * m4/multiarch.m4: New file.
28625
28626 2008-12-25  Bruno Haible  <bruno@clisp.org>
28627
28628         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
28629
28630 2008-12-25  Bruno Haible  <bruno@clisp.org>
28631
28632         * modules/btowc (License): Relicense under LGPLv2+.
28633         * modules/mbsinit (License): Likewise.
28634         * modules/mbrtowc (License): Likewise.
28635         * modules/wcrtomb (License): Likewise.
28636         * modules/streq (License): Likewise.
28637         Reported by David Lutterkort <lutter@redhat.com>.
28638
28639 2008-12-23  Bruno Haible  <bruno@clisp.org>
28640
28641         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
28642
28643 2008-12-23  Bruno Haible  <bruno@clisp.org>
28644
28645         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
28646         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
28647         GETADDRINFO_LIB, not in LIBS.
28648         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
28649         * modules/canon-host (Link): Likewise.
28650         * NEWS: Mention the change.
28651         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
28652         GETADDRINFO_LIB.
28653
28654 2008-12-22  Bruno Haible  <bruno@clisp.org>
28655
28656         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
28657         * doc/posix-functions/iswalpha_l.texi: Likewise.
28658         * doc/posix-functions/iswblank_l.texi: Likewise.
28659         * doc/posix-functions/iswcntrl_l.texi: Likewise.
28660         * doc/posix-functions/iswctype_l.texi: Likewise.
28661         * doc/posix-functions/iswdigit_l.texi: Likewise.
28662         * doc/posix-functions/iswgraph_l.texi: Likewise.
28663         * doc/posix-functions/iswlower_l.texi: Likewise.
28664         * doc/posix-functions/iswprint_l.texi: Likewise.
28665         * doc/posix-functions/iswpunct_l.texi: Likewise.
28666         * doc/posix-functions/iswspace_l.texi: Likewise.
28667         * doc/posix-functions/iswupper_l.texi: Likewise.
28668         * doc/posix-functions/iswxdigit_l.texi: Likewise.
28669         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
28670         * doc/posix-functions/open_wmemstream.texi: Likewise.
28671         * doc/posix-functions/swscanf.texi: Likewise.
28672         * doc/posix-functions/towctrans_l.texi: Likewise.
28673         * doc/posix-functions/towlower.texi: Likewise.
28674         * doc/posix-functions/towlower_l.texi: Likewise.
28675         * doc/posix-functions/towupper.texi: Likewise.
28676         * doc/posix-functions/towupper_l.texi: Likewise.
28677         * doc/posix-functions/vfwprintf.texi: Likewise.
28678         * doc/posix-functions/vfwscanf.texi: Likewise.
28679         * doc/posix-functions/vswscanf.texi: Likewise.
28680         * doc/posix-functions/vwprintf.texi: Likewise.
28681         * doc/posix-functions/vwscanf.texi: Likewise.
28682         * doc/posix-functions/wcpcpy.texi: Likewise.
28683         * doc/posix-functions/wcpncpy.texi: Likewise.
28684         * doc/posix-functions/wcscasecmp.texi: Likewise.
28685         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
28686         * doc/posix-functions/wcscoll_l.texi: Likewise.
28687         * doc/posix-functions/wcsdup.texi: Likewise.
28688         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28689         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
28690         * doc/posix-functions/wcsnlen.texi: Likewise.
28691         * doc/posix-functions/wcsnrtombs.texi: Likewise.
28692         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
28693         * doc/posix-functions/wctrans_l.texi: Likewise.
28694         * doc/posix-functions/wctype_l.texi: Likewise.
28695         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
28696         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
28697         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
28698         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
28699         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
28700         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
28701         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
28702         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
28703         * doc/glibc-functions/wcschrnul.texi: Likewise.
28704         * doc/glibc-functions/wcsftime_l.texi: Likewise.
28705         * doc/glibc-functions/wcstod_l.texi: Likewise.
28706         * doc/glibc-functions/wcstof_l.texi: Likewise.
28707         * doc/glibc-functions/wcstol_l.texi: Likewise.
28708         * doc/glibc-functions/wcstold_l.texi: Likewise.
28709         * doc/glibc-functions/wcstoll_l.texi: Likewise.
28710         * doc/glibc-functions/wcstoq.texi: Likewise.
28711         * doc/glibc-functions/wcstoul_l.texi: Likewise.
28712         * doc/glibc-functions/wcstoull_l.texi: Likewise.
28713         * doc/glibc-functions/wcstouq.texi: Likewise.
28714         * doc/glibc-functions/wmempcpy.texi: Likewise.
28715
28716 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
28717             Eric Blake  <ebb9@byu.net>
28718             Paolo Bonzini  <bonzini@gnu.org>
28719             Bruno Haible  <bruno@clisp.org>
28720
28721         Make c-stack work on Haiku.
28722         * lib/c-stack.c (SA_ONSTACK): Define fallback.
28723         (c_stack_action): Use SA_ONSTACK flag.
28724
28725 2008-12-22  Bruno Haible  <bruno@clisp.org>
28726
28727         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
28728
28729 2008-12-22  Bruno Haible  <bruno@clisp.org>
28730
28731         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
28732         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
28733         being overridden.
28734         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
28735         New macros.
28736         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
28737         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
28738         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
28739         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
28740
28741 2008-12-22  Bruno Haible  <bruno@clisp.org>
28742
28743         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
28744         from test code.
28745
28746 2008-12-22  Eric Blake  <ebb9@byu.net>
28747
28748         Avoid gcc warnings on cygwin.
28749         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
28750         Avoid unused variable.
28751         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
28752         Likewise.
28753
28754 2008-12-22  Bruno Haible  <bruno@clisp.org>
28755
28756         Remove HAVE_MBRTOWC conditionals.
28757         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
28758         (mbscasecmp): Assume mbrtowc function.
28759         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
28760         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
28761         * lib/mbschr.c: Include mbuiter.h unconditionally.
28762         (mbschr): Assume mbrtowc function.
28763         * lib/mbscspn.c: Include mbuiter.h unconditionally.
28764         (mbscspn): Assume mbrtowc function.
28765         * lib/mbslen.c: Include mbuiter.h unconditionally.
28766         (mbslen): Assume mbrtowc function.
28767         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
28768         (mbsncasecmp): Assume mbrtowc function.
28769         * lib/mbsnlen.c: Include mbiter.h unconditionally.
28770         (mbsnlen): Assume mbrtowc function.
28771         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
28772         (mbspbrk): Assume mbrtowc function.
28773         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
28774         (mbspcasecmp): Assume mbrtowc function.
28775         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
28776         (mbsrchr): Assume mbrtowc function.
28777         * lib/mbssep.c: Include mbuiter.h unconditionally.
28778         (mbssep): Assume mbrtowc function.
28779         * lib/mbsspn.c: Include mbuiter.h unconditionally.
28780         (mbsspn): Assume mbrtowc function.
28781         * lib/mbsstr.c: Include mbuiter.h unconditionally.
28782         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
28783         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
28784         (mbstok_r): Assume mbrtowc function.
28785         * lib/propername.c: Include mbuiter.h unconditionally.
28786         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
28787         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
28788         (trim2): Assume mbrtowc function.
28789         * lib/mbswidth.c (mbsinit): Remove fallback definition.
28790         (mbsnwidth): Assume mbrtowc function.
28791         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
28792         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
28793         fallback definitions.
28794         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
28795
28796 2008-12-22  Bruno Haible  <bruno@clisp.org>
28797
28798         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
28799
28800 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
28801
28802         * modules/regex: Request emulations for the mb*/wc* functions we need.
28803         * m4/regex.m4: Don't look for those functions here.
28804         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
28805
28806 2008-12-22  Bruno Haible  <bruno@clisp.org>
28807
28808         * modules/fnmatch (Depends-on): Remove duplicated dependency.
28809
28810 2008-12-21  Bruno Haible  <bruno@clisp.org>
28811
28812         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
28813         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
28814         (Include): Remove conditionalization.
28815         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
28816         (Include): Remove conditionalization.
28817         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
28818         (Include): Remove conditionalization.
28819         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
28820         * m4/mbfile.m4 (gl_MBFILE): Likewise.
28821         * NEWS: Mention the change.
28822         Reported by Alan Hourihane <alanh@fairlite.co.uk>
28823         via Sergey Poznyakoff <gray@gnu.org.ua>.
28824
28825 2008-12-21  Bruno Haible  <bruno@clisp.org>
28826
28827         * MODULES.html.sh (Extended multibyte and wide character utilities
28828         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
28829         wcrtomb, wcsrtombs.
28830         (Support for systems lacking POSIX:2008): Add accept, bind, close,
28831         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
28832         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
28833         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
28834
28835 2008-12-21  Bruno Haible  <bruno@clisp.org>
28836
28837         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
28838
28839 2008-12-21  Bruno Haible  <bruno@clisp.org>
28840
28841         * modules/wcsnrtombs-tests: New file.
28842         * tests/test-wcsnrtombs1.sh: New file.
28843         * tests/test-wcsnrtombs2.sh: New file.
28844         * tests/test-wcsnrtombs3.sh: New file.
28845         * tests/test-wcsnrtombs4.sh: New file.
28846         * tests/test-wcsnrtombs.c: New file.
28847
28848         New module 'wcsnrtombs'.
28849         * lib/wchar.in.h (wcsnrtombs): New declaration.
28850         * lib/wcsnrtombs.c: New file.
28851         * lib/wcsrtombs-state.c: New file.
28852         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
28853         (internal_state): Remove variable.
28854         * m4/wcsnrtombs.m4: New file.
28855         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
28856         compilation units.
28857         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
28858         HAVE_WCSNRTOMBS.
28859         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
28860         HAVE_WCSNRTOMBS.
28861         * modules/wcsnrtombs: New file.
28862         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
28863         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
28864
28865 2008-12-21  Bruno Haible  <bruno@clisp.org>
28866
28867         * modules/wcsrtombs-tests: New file.
28868         * tests/test-wcsrtombs1.sh: New file.
28869         * tests/test-wcsrtombs2.sh: New file.
28870         * tests/test-wcsrtombs3.sh: New file.
28871         * tests/test-wcsrtombs4.sh: New file.
28872         * tests/test-wcsrtombs.c: New file.
28873
28874         New module 'wcsrtombs'.
28875         * lib/wchar.in.h (wcsrtombs): New declaration.
28876         * lib/wcsrtombs.c: New file.
28877         * m4/wcsrtombs.m4: New file.
28878         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
28879         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
28880         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
28881         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
28882         * modules/wcsrtombs: New file.
28883         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
28884         bugs.
28885
28886 2008-12-21  Bruno Haible  <bruno@clisp.org>
28887
28888         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
28889         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
28890         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
28891         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
28892         if not correct.
28893         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
28894         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
28895         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
28896         m4/locale-zh.m4, m4/codeset.m4.
28897         * doc/posix-functions/wcrtomb.texi: Document the bug.
28898
28899 2008-12-21  Bruno Haible  <bruno@clisp.org>
28900
28901         Work around a btowc() bug on IRIX 6.5.
28902         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
28903         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
28904         REPLACE_WTOBC if not.
28905         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
28906         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
28907         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
28908
28909 2008-12-21  Bruno Haible  <bruno@clisp.org>
28910
28911         * modules/wcrtomb-tests: New file.
28912         * tests/test-wcrtomb.sh: New file.
28913         * tests/test-wcrtomb.c: New file.
28914
28915         New module 'wcrtomb'.
28916         * lib/wchar.in.h (wcrtomb): New declaration.
28917         * lib/wcrtomb.c: New file.
28918         * m4/wcrtomb.m4: New file.
28919         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
28920         HAVE_WCRTOMB.
28921         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
28922         HAVE_WCRTOMB.
28923         * modules/wcrtomb: New file.
28924         * doc/posix-functions/wcrtomb.texi: Mention the new module.
28925
28926 2008-12-21  Bruno Haible  <bruno@clisp.org>
28927
28928         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
28929         * modules/mbsrtowcs (Files): Likewise.
28930         * modules/wctob (Files): Likewise.
28931         * modules/c-strcase-tests (Files): Likewise.
28932         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
28933         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
28934         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
28935         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
28936         * modules/vasnprintf-posix-tests (Files): Likewise.
28937
28938 2008-12-21  William Pursell  <bill.pursell@gmail.com>
28939
28940         gitlog-to-changelog: pass all command-line arguments to git-log
28941         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
28942         it is sometimes convenient to filter the commits in various ways.
28943         gitlog-to-changelog only allows --since to specify a start date,
28944         but git-log itself supports many other filtering mechanisms.
28945         At the moment, I want to filter by branch name.  Rather than
28946         adding a --branch option to gitlog-to-changelog, it seems more
28947         flexible to simply pass all options directly to git-log and let
28948         git do the work.  Notice that this effectively makes --since a
28949         redundant option for gitlog-to-changelog, but removing it would
28950         require current usage to change since calls would then require
28951         an additional '--'.
28952
28953 2008-12-21  Bruno Haible  <bruno@clisp.org>
28954
28955         * modules/mbsnrtowcs-tests: New file.
28956         * tests/test-mbsnrtowcs1.sh: New file.
28957         * tests/test-mbsnrtowcs2.sh: New file.
28958         * tests/test-mbsnrtowcs3.sh: New file.
28959         * tests/test-mbsnrtowcs4.sh: New file.
28960         * tests/test-mbsnrtowcs.c: New file.
28961
28962         New module 'mbsnrtowcs'.
28963         * lib/wchar.in.h (mbsnrtowcs): New declaration.
28964         * lib/mbsnrtowcs.c: New file.
28965         * lib/mbsrtowcs-state.c: New file.
28966         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
28967         (internal_state): Remove variable.
28968         * m4/mbsnrtowcs.m4: New file.
28969         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
28970         compilation units.
28971         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
28972         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
28973         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
28974         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
28975         * modules/mbsnrtowcs: New file.
28976         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
28977         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
28978         portability problem.
28979
28980 2008-12-21  Bruno Haible  <bruno@clisp.org>
28981
28982         Work around mbsrtowcs bug.
28983         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
28984         (gl_FUNC_MBSRTOWCS): Invoke it.
28985         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
28986         m4/locale-zh.m4.
28987         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
28988
28989 2008-12-21  Bruno Haible  <bruno@clisp.org>
28990
28991         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
28992
28993 2008-12-21  Bruno Haible  <bruno@clisp.org>
28994
28995         Update doc for AIX.
28996         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
28997         16-bit wchar_t type.
28998         * doc/posix-functions/btowc.texi: Likewise.
28999         * doc/posix-functions/fgetwc.texi: Likewise.
29000         * doc/posix-functions/fgetws.texi: Likewise.
29001         * doc/posix-functions/fputwc.texi: Likewise.
29002         * doc/posix-functions/fputws.texi: Likewise.
29003         * doc/posix-functions/fwide.texi: Likewise.
29004         * doc/posix-functions/fwprintf.texi: Likewise.
29005         * doc/posix-functions/fwscanf.texi: Likewise.
29006         * doc/posix-functions/getwchar.texi: Likewise.
29007         * doc/posix-functions/getwc.texi: Likewise.
29008         * doc/posix-functions/iswalnum.texi: Likewise.
29009         * doc/posix-functions/iswalpha.texi: Likewise.
29010         * doc/posix-functions/iswblank.texi: Likewise.
29011         * doc/posix-functions/iswcntrl.texi: Likewise.
29012         * doc/posix-functions/iswctype.texi: Likewise.
29013         * doc/posix-functions/iswdigit.texi: Likewise.
29014         * doc/posix-functions/iswgraph.texi: Likewise.
29015         * doc/posix-functions/iswlower.texi: Likewise.
29016         * doc/posix-functions/iswprint.texi: Likewise.
29017         * doc/posix-functions/iswpunct.texi: Likewise.
29018         * doc/posix-functions/iswspace.texi: Likewise.
29019         * doc/posix-functions/iswupper.texi: Likewise.
29020         * doc/posix-functions/iswxdigit.texi: Likewise.
29021         * doc/posix-functions/mbrtowc.texi: Likewise.
29022         * doc/posix-functions/mbsrtowcs.texi: Likewise.
29023         * doc/posix-functions/mbstowcs.texi: Likewise.
29024         * doc/posix-functions/mbtowc.texi: Likewise.
29025         * doc/posix-functions/putwchar.texi: Likewise.
29026         * doc/posix-functions/putwc.texi: Likewise.
29027         * doc/posix-functions/swprintf.texi: Likewise.
29028         * doc/posix-functions/tolower.texi: Likewise.
29029         * doc/posix-functions/toupper.texi: Likewise.
29030         * doc/posix-functions/towctrans.texi: Likewise.
29031         * doc/posix-functions/ungetwc.texi: Likewise.
29032         * doc/posix-functions/vswprintf.texi: Likewise.
29033         * doc/posix-functions/wcrtomb.texi: Likewise.
29034         * doc/posix-functions/wcscat.texi: Likewise.
29035         * doc/posix-functions/wcschr.texi: Likewise.
29036         * doc/posix-functions/wcscmp.texi: Likewise.
29037         * doc/posix-functions/wcscoll.texi: Likewise.
29038         * doc/posix-functions/wcscpy.texi: Likewise.
29039         * doc/posix-functions/wcscspn.texi: Likewise.
29040         * doc/posix-functions/wcsftime.texi: Likewise.
29041         * doc/posix-functions/wcslen.texi: Likewise.
29042         * doc/posix-functions/wcsncat.texi: Likewise.
29043         * doc/posix-functions/wcsncmp.texi: Likewise.
29044         * doc/posix-functions/wcsncpy.texi: Likewise.
29045         * doc/posix-functions/wcspbrk.texi: Likewise.
29046         * doc/posix-functions/wcsrchr.texi: Likewise.
29047         * doc/posix-functions/wcsrtombs.texi: Likewise.
29048         * doc/posix-functions/wcsspn.texi: Likewise.
29049         * doc/posix-functions/wcsstr.texi: Likewise.
29050         * doc/posix-functions/wcstod.texi: Likewise.
29051         * doc/posix-functions/wcstof.texi: Likewise.
29052         * doc/posix-functions/wcstoimax.texi: Likewise.
29053         * doc/posix-functions/wcstok.texi: Likewise.
29054         * doc/posix-functions/wcstold.texi: Likewise.
29055         * doc/posix-functions/wcstoll.texi: Likewise.
29056         * doc/posix-functions/wcstol.texi: Likewise.
29057         * doc/posix-functions/wcstombs.texi: Likewise.
29058         * doc/posix-functions/wcstoull.texi: Likewise.
29059         * doc/posix-functions/wcstoul.texi: Likewise.
29060         * doc/posix-functions/wcstoumax.texi: Likewise.
29061         * doc/posix-functions/wcswidth.texi: Likewise.
29062         * doc/posix-functions/wcsxfrm.texi: Likewise.
29063         * doc/posix-functions/wctob.texi: Likewise.
29064         * doc/posix-functions/wctomb.texi: Likewise.
29065         * doc/posix-functions/wctrans.texi: Likewise.
29066         * doc/posix-functions/wctype.texi: Likewise.
29067         * doc/posix-functions/wcwidth.texi: Likewise.
29068         * doc/posix-functions/wmemchr.texi: Likewise.
29069         * doc/posix-functions/wmemcmp.texi: Likewise.
29070         * doc/posix-functions/wmemcpy.texi: Likewise.
29071         * doc/posix-functions/wmemmove.texi: Likewise.
29072         * doc/posix-functions/wmemset.texi: Likewise.
29073         * doc/posix-functions/wprintf.texi: Likewise.
29074         * doc/posix-functions/wscanf.texi: Likewise.
29075
29076 2008-12-21  Bruno Haible  <bruno@clisp.org>
29077
29078         Update doc for HP-UX 11.11.
29079         * doc/posix-functions/btowc.texi: Clarify that the function is missing
29080         in HP-UX version 11.00, not in all versions of HP-UX 11.
29081         * doc/posix-functions/fwide.texi: Likewise.
29082         * doc/posix-functions/fwprintf.texi: Likewise.
29083         * doc/posix-functions/fwscanf.texi: Likewise.
29084         * doc/posix-functions/inet_ntop.texi: Likewise.
29085         * doc/posix-functions/inet_pton.texi: Likewise.
29086         * doc/posix-functions/mbrlen.texi: Likewise.
29087         * doc/posix-functions/mbrtowc.texi: Likewise.
29088         * doc/posix-functions/mbsinit.texi: Likewise.
29089         * doc/posix-functions/mbsrtowcs.texi: Likewise.
29090         * doc/posix-functions/swprintf.texi: Likewise.
29091         * doc/posix-functions/swscanf.texi: Likewise.
29092         * doc/posix-functions/towctrans.texi: Likewise.
29093         * doc/posix-functions/vfwprintf.texi: Likewise.
29094         * doc/posix-functions/vswprintf.texi: Likewise.
29095         * doc/posix-functions/vwprintf.texi: Likewise.
29096         * doc/posix-functions/wcrtomb.texi: Likewise.
29097         * doc/posix-functions/wcsrtombs.texi: Likewise.
29098         * doc/posix-functions/wcsstr.texi: Likewise.
29099         * doc/posix-functions/wctob.texi: Likewise.
29100         * doc/posix-functions/wctrans.texi: Likewise.
29101         * doc/posix-functions/wmemchr.texi: Likewise.
29102         * doc/posix-functions/wmemcmp.texi: Likewise.
29103         * doc/posix-functions/wmemcpy.texi: Likewise.
29104         * doc/posix-functions/wmemmove.texi: Likewise.
29105         * doc/posix-functions/wmemset.texi: Likewise.
29106         * doc/posix-functions/wprintf.texi: Likewise.
29107         * doc/posix-functions/wscanf.texi: Likewise.
29108
29109 2008-12-21  Bruno Haible  <bruno@clisp.org>
29110
29111         Work around a portability problem.
29112         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
29113         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
29114
29115 2008-12-20  Bruno Haible  <bruno@clisp.org>
29116
29117         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
29118         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
29119         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
29120         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
29121         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
29122
29123         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
29124         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
29125         set.
29126         (GNULIB_defined_mbstate_t): New macro.
29127         (mbsinit): Redefine if REPLACE_MBSINIT is set.
29128         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
29129         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
29130         reuses the system's mbrtowc function but works around the bugs.
29131         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
29132         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
29133         macros.
29134         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
29135         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
29136         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
29137         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
29138         REPLACE_MBSINIT if mbsinit needs to be overridden.
29139         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
29140         REPLACE_MBSINIT, REPLACE_MBRTOWC.
29141         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
29142         REPLACE_MBSINIT, REPLACE_MBRTOWC.
29143         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
29144         m4/locale-zh.m4.
29145         (Depends): Add mbsinit.
29146         * modules/mbsinit (Depends): Add mbrtowc.
29147         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
29148
29149 2008-12-20  Bruno Haible  <bruno@clisp.org>
29150
29151         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
29152         so that there are no conversion errors on AIX.
29153         * tests/test-mbsrtowcs.c (main): LIkewise.
29154
29155 2008-12-20  Bruno Haible  <bruno@clisp.org>
29156
29157         Work around wctob bug on Solaris <= 9.
29158         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
29159         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
29160         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
29161         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
29162         * modules/wctob (Files): Add m4/locale-fr.m4.
29163         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
29164
29165 2008-12-20  Bruno Haible  <bruno@clisp.org>
29166
29167         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
29168         /dev/null.
29169         * tests/test-select-in.sh: Likewise.
29170         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29171
29172 2008-12-20  Bruno Haible  <bruno@clisp.org>
29173
29174         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
29175         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
29176         Cygwin 1.5.x.
29177
29178 2008-12-20  Bruno Haible  <bruno@clisp.org>
29179
29180         Ensure mbstate_t is defined on HP-UX 11.11.
29181         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
29182         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
29183         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
29184         AC_USE_SYSTEM_EXTENSIONS.
29185         * modules/fnmatch (Depends-on): Add extensions.
29186         * modules/mbrlen (Depends-on): Likewise.
29187         * modules/mbrtowc (Depends-on): Likewise.
29188         * modules/mbsinit (Depends-on): Likewise.
29189         * modules/mbsrtowcs (Depends-on): Likewise.
29190         * modules/mbswidth (Depends-on): Likewise.
29191         * modules/quotearg (Depends-on): Likewise.
29192         * modules/strftime (Depends-on): Likewise.
29193
29194 2008-12-20  Bruno Haible  <bruno@clisp.org>
29195
29196         Ensure wctob is declared on IRIX 6.5.
29197         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
29198         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
29199         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
29200         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
29201         of HAVE_WCTOB.
29202         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
29203         HAVE_WCTOB.
29204         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
29205
29206 2008-12-19  Bruno Haible  <bruno@clisp.org>
29207
29208         * modules/mbsrtowcs-tests: New file.
29209         * tests/test-mbsrtowcs1.sh: New file.
29210         * tests/test-mbsrtowcs2.sh: New file.
29211         * tests/test-mbsrtowcs3.sh: New file.
29212         * tests/test-mbsrtowcs4.sh: New file.
29213         * tests/test-mbsrtowcs.c: New file.
29214
29215         New module 'mbsrtowcs'.
29216         * lib/wchar.in.h (mbsrtowcs): New declaration.
29217         * lib/mbsrtowcs.c: New file.
29218         * m4/mbsrtowcs.m4: New file.
29219         * modules/mbsrtowcs: New file.
29220         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
29221         HAVE_MBSRTOWCS.
29222         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
29223         HAVE_MBSRTOWCS.
29224         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
29225
29226 2008-12-19  Bruno Haible  <bruno@clisp.org>
29227
29228         New module 'mbrlen'.
29229         * lib/wchar.in.h (mbrlen): New declaration.
29230         * lib/mbrlen.c: New file.
29231         * m4/mbrlen.m4: New file.
29232         * modules/mbrlen: New file.
29233         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
29234         HAVE_MBRLEN.
29235         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
29236         HAVE_MBRLEN.
29237         * doc/posix-functions/mbrlen.texi: Document the new module.
29238
29239 2008-12-19  Bruno Haible  <bruno@clisp.org>
29240
29241         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
29242         * modules/mbrtowc (Depends-on): Add verify.
29243         Suggested by Paul Eggert.
29244
29245 2008-12-18  Bruno Haible  <bruno@clisp.org>
29246
29247         * modules/mbsinit-tests: New file.
29248         * tests/test-mbsinit.sh: New file.
29249         * tests/test-mbsinit.c: New file.
29250
29251 2008-12-18  Bruno Haible  <bruno@clisp.org>
29252
29253         * modules/mbrtowc-tests: New file.
29254         * tests/test-mbrtowc1.sh: New file.
29255         * tests/test-mbrtowc2.sh: New file.
29256         * tests/test-mbrtowc3.sh: New file.
29257         * tests/test-mbrtowc4.sh: New file.
29258         * tests/test-mbrtowc.c: New file.
29259
29260         New module 'mbrtowc'.
29261         * lib/wchar.in.h (mbstate_t): Override when the system does not have
29262         mbsinit and mbrtowc.
29263         (mbrtowc): New declaration.
29264         * lib/mbrtowc.c: New file.
29265         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
29266         * modules/mbrtowc: New file.
29267         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
29268         HAVE_MBRTOWC.
29269         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
29270         HAVE_MBRTOWC.
29271         * doc/posix-functions/mbrtowc.texi: Document the new module.
29272
29273 2008-12-18  Bruno Haible  <bruno@clisp.org>
29274
29275         New module 'wctob'.
29276         * lib/wchar.in.h (wctob): New declaration.
29277         * lib/wctob.c: New file.
29278         * m4/wctob.m4: New file.
29279         * modules/wctob: New file.
29280         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
29281         HAVE_WCTOB.
29282         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
29283         * doc/posix-functions/wctob.texi: Document the new module.
29284
29285 2008-12-18  Bruno Haible  <bruno@clisp.org>
29286
29287         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
29288         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
29289
29290 2008-12-18  Simon Josefsson  <simon@josefsson.org>
29291
29292         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
29293         G. Christensen" <tgc@jupiterrise.com>.
29294
29295         * lib/flock.c: Need to include errno.h.  Reported by "Tom
29296         G. Christensen" <tgc@jupiterrise.com>.
29297
29298         * lib/flock.c: Need to include string.h.  Reported by "Tom
29299         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
29300         <ebb9@byu.net>.
29301
29302 2008-12-18  Bruno Haible  <bruno@clisp.org>
29303
29304         * m4/locale-ja.m4: New file, from GNU gettext.
29305
29306 2008-12-17  Bruno Haible  <bruno@clisp.org>
29307
29308         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
29309         Suggested by Eric Blake.
29310
29311 2008-12-17  Bruno Haible  <bruno@clisp.org>
29312
29313         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
29314
29315 2008-12-17  Bruno Haible  <bruno@clisp.org>
29316
29317         * lib/mbsinit.c: Include verify.h. Verify an assumption.
29318         * modules/mbsinit (Depends-on): Add verify.
29319         Suggested by Paul Eggert.
29320
29321 2008-12-17  Bruno Haible  <bruno@clisp.org>
29322
29323         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
29324         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
29325         gl_FUNC_MBRTOWC.
29326         * m4/mbiter.m4 (gl_MBITER): LIkewise.
29327         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
29328         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
29329         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
29330         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
29331         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
29332         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
29333         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
29334         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
29335         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
29336         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
29337         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
29338         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
29339         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
29340         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
29341         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
29342         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
29343         * modules/trim (configure.ac): Likewise.
29344
29345 2008-12-17  Bruno Haible  <bruno@clisp.org>
29346
29347         * modules/btowc-tests: New file.
29348         * tests/test-btowc1.sh: New file.
29349         * tests/test-btowc2.sh: New file.
29350         * tests/test-btowc.c: New file.
29351
29352         New module 'btowc'.
29353         * lib/wchar.in.h (btowc): New declaration.
29354         * lib/btowc.c: New file.
29355         * m4/btowc.m4: New file.
29356         * modules/btowc: New file.
29357         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
29358         HAVE_BTOWC.
29359         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
29360         * doc/posix-functions/btowc.texi: Document the new module.
29361
29362 2008-12-17  Bruno Haible  <bruno@clisp.org>
29363
29364         New module 'mbsinit'.
29365         * lib/wchar.in.h (mbsinit): New declaration.
29366         * lib/mbsinit.c: New file.
29367         * m4/mbsinit.m4: New file.
29368         * modules/mbsinit: New file.
29369         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
29370         HAVE_MBSINIT.
29371         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
29372         HAVE_MBSINIT.
29373         * doc/posix-functions/mbsinit.texi: Document the new module.
29374
29375 2008-12-16  Bruno Haible  <bruno@clisp.org>
29376
29377         * lib/unistd.in.h: Add comment.
29378         * tests/test-environ.c: Don't include <stdlib.h>.
29379
29380 2008-12-16  Bruno Haible  <bruno@clisp.org>
29381
29382         * lib/parse-duration.h (parse_duration): Document return value
29383         convention.
29384         * lib/parse-duration.c: Include specification header first. Add
29385         comments.
29386         (_): Remove macro.
29387         (parse_year_month_day, parse_hour_minute_second): Move side effects
29388         outside of strchr call.
29389         (parse_non_iso8601): Move side effects outside of isspace call.
29390         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
29391         call.
29392
29393 2008-12-16  Bruno Haible  <bruno@clisp.org>
29394
29395         * tests/test-parse-duration.sh: Produce no output when the test
29396         succeeds.
29397
29398 2008-12-16  Bruno Haible  <bruno@clisp.org>
29399
29400         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
29401         expressions.
29402
29403 2008-12-15  Bruno Haible  <bruno@clisp.org>
29404
29405         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
29406         * doc/glibc-functions/flistxattr.texi: Likewise.
29407         * doc/glibc-functions/fopencookie.texi: Likewise.
29408         * doc/glibc-functions/fremovexattr.texi: Likewise.
29409         * doc/glibc-functions/fsetxattr.texi: Likewise.
29410         * doc/glibc-functions/getxattr.texi: Likewise.
29411         * doc/glibc-functions/lgetxattr.texi: Likewise.
29412         * doc/glibc-functions/listxattr.texi: Likewise.
29413         * doc/glibc-functions/llistxattr.texi: Likewise.
29414         * doc/glibc-functions/lremovexattr.texi: Likewise.
29415         * doc/glibc-functions/lsetxattr.texi: Likewise.
29416         * doc/glibc-functions/removexattr.texi: Likewise.
29417         * doc/glibc-functions/setxattr.texi: Likewise.
29418         * doc/posix-functions/open_memstream.texi: Likewise.
29419
29420 2008-12-15  Eric Blake  <ebb9@byu.net>
29421
29422         Update doc for cygwin 1.7.
29423         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
29424         functions.
29425         * doc/posix-functions/fchmodat.texi: Likewise.
29426         * doc/posix-functions/fchownat.texi: Likewise.
29427         * doc/posix-functions/fdopendir.texi: Likewise.
29428         * doc/posix-functions/fmemopen.texi: Likewise.
29429         * doc/posix-functions/freeaddrinfo.texi: Likewise.
29430         * doc/posix-functions/fstatat.texi: Likewise.
29431         * doc/posix-functions/futimens.texi: Likewise.
29432         * doc/posix-functions/gai_strerror.texi: Likewise.
29433         * doc/posix-functions/getaddrinfo.texi: Likewise.
29434         * doc/posix-functions/getnameinfo.texi: Likewise.
29435         * doc/posix-functions/if_freenameindex.texi: Likewise.
29436         * doc/posix-functions/if_indextoname.texi: Likewise.
29437         * doc/posix-functions/if_nameindex.texi: Likewise.
29438         * doc/posix-functions/if_nametoindex.texi: Likewise.
29439         * doc/posix-functions/insque.texi: Likewise.
29440         * doc/posix-functions/linkat.texi: Likewise.
29441         * doc/posix-functions/llrint.texi: Likewise.
29442         * doc/posix-functions/llrintf.texi: Likewise.
29443         * doc/posix-functions/llrintl.texi: Likewise.
29444         * doc/posix-functions/lockf.texi: Likewise.
29445         * doc/posix-functions/lrintl.texi: Likewise.
29446         * doc/posix-functions/mkdirat.texi: Likewise.
29447         * doc/posix-functions/mkfifoat.texi: Likewise.
29448         * doc/posix-functions/mknodat.texi: Likewise.
29449         * doc/posix-functions/mq_close.texi: Likewise.
29450         * doc/posix-functions/mq_getattr.texi: Likewise.
29451         * doc/posix-functions/mq_notify.texi: Likewise.
29452         * doc/posix-functions/mq_open.texi: Likewise.
29453         * doc/posix-functions/mq_receive.texi: Likewise.
29454         * doc/posix-functions/mq_send.texi: Likewise.
29455         * doc/posix-functions/mq_setattr.texi: Likewise.
29456         * doc/posix-functions/mq_timedreceive.texi: Likewise.
29457         * doc/posix-functions/mq_timedsend.texi: Likewise.
29458         * doc/posix-functions/mq_unlink.texi: Likewise.
29459         * doc/posix-functions/open_memstream.texi: Likewise.
29460         * doc/posix-functions/openat.texi: Likewise.
29461         * doc/posix-functions/posix_fadvise.texi: Likewise.
29462         * doc/posix-functions/posix_fallocate.texi: Likewise.
29463         * doc/posix-functions/posix_madvise.texi: Likewise.
29464         * doc/posix-functions/posix_memalign.texi: Likewise.
29465         * doc/posix-functions/posix_openpt.texi: Likewise.
29466         * doc/posix-functions/readlinkat.texi: Likewise.
29467         * doc/posix-functions/remque.texi: Likewise.
29468         * doc/posix-functions/renameat.texi: Likewise.
29469         * doc/posix-functions/rintl.texi: Likewise.
29470         * doc/posix-functions/sem_unlink.texi: Likewise.
29471         * doc/posix-functions/shm_open.texi: Likewise.
29472         * doc/posix-functions/shm_unlink.texi: Likewise.
29473         * doc/posix-functions/signgam.texi: Likewise.
29474         * doc/posix-functions/sigset.texi: Likewise.
29475         * doc/posix-functions/stpcpy.texi: Likewise.
29476         * doc/posix-functions/stpncpy.texi: Likewise.
29477         * doc/posix-functions/strerror.texi: Likewise.
29478         * doc/posix-functions/strtod.texi: Likewise.
29479         * doc/posix-functions/symlinkat.texi: Likewise.
29480         * doc/posix-functions/unlinkat.texi: Likewise.
29481         * doc/posix-functions/utimensat.texi: Likewise.
29482         * doc/glibc-functions/bindresvport.texi: Likewise.
29483         * doc/glibc-functions/dn_expand.texi: Likewise.
29484         * doc/glibc-functions/exp10.texi: Likewise.
29485         * doc/glibc-functions/exp10f.texi: Likewise.
29486         * doc/glibc-functions/fgetxattr.texi: Likewise.
29487         * doc/glibc-functions/flistxattr.texi: Likewise.
29488         * doc/glibc-functions/fopencookie.texi: Likewise.
29489         * doc/glibc-functions/freeifaddrs.texi: Likewise.
29490         * doc/glibc-functions/fremovexattr.texi: Likewise.
29491         * doc/glibc-functions/fsetxattr.texi: Likewise.
29492         * doc/glibc-functions/getifaddrs.texi: Likewise.
29493         * doc/glibc-functions/getxattr.texi: Likewise.
29494         * doc/glibc-functions/lgetxattr.texi: Likewise.
29495         * doc/glibc-functions/listxattr.texi: Likewise.
29496         * doc/glibc-functions/llistxattr.texi: Likewise.
29497         * doc/glibc-functions/lremovexattr.texi: Likewise.
29498         * doc/glibc-functions/lsetxattr.texi: Likewise.
29499         * doc/glibc-functions/pow10.texi: Likewise.
29500         * doc/glibc-functions/pow10f.texi: Likewise.
29501         * doc/glibc-functions/rcmd_af.texi: Likewise.
29502         * doc/glibc-functions/removexattr.texi: Likewise.
29503         * doc/glibc-functions/res_init.texi: Likewise.
29504         * doc/glibc-functions/res_mkquery.texi: Likewise.
29505         * doc/glibc-functions/res_query.texi: Likewise.
29506         * doc/glibc-functions/res_querydomain.texi: Likewise.
29507         * doc/glibc-functions/res_send.texi: Likewise.
29508         * doc/glibc-functions/rresvport_af.texi: Likewise.
29509         * doc/glibc-functions/setxattr.texi: Likewise.
29510         * doc/glibc-functions/strcasestr.texi: Likewise.
29511
29512 2008-12-15  Bruno Haible  <bruno@clisp.org>
29513
29514         Fix compilation error on OSF/1 4.0.
29515         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
29516         <sys/time.h>, simply delegate to the system header.
29517         Reported by Daniel Richard G. <oss@teragram.com>.
29518
29519 2008-12-15  Bruno Haible  <bruno@clisp.org>
29520
29521         * doc/posix-functions/openat.texi: Mention the 'openat' module.
29522         * doc/posix-functions/fchmodat.texi: Likewise.
29523         * doc/posix-functions/fchownat.texi: Likewise.
29524         * doc/posix-functions/fdopendir.texi: Likewise.
29525         * doc/posix-functions/fstatat.texi: Likewise.
29526         * doc/posix-functions/mkdirat.texi: Likewise.
29527         * doc/posix-functions/unlinkat.texi: Likewise.
29528
29529 2008-12-14  Bruno Haible  <bruno@clisp.org>
29530
29531         Update doc for POSIX:2008.
29532         * doc/posix-functions/faccessat.texi: New file.
29533         * doc/posix-functions/fchmodat.texi: New file.
29534         * doc/posix-functions/fchownat.texi: New file.
29535         * doc/posix-functions/fdopendir.texi: New file.
29536         * doc/posix-functions/fstatat.texi: New file.
29537         * doc/posix-functions/futimens.texi: New file.
29538         * doc/posix-functions/linkat.texi: New file.
29539         * doc/posix-functions/mkdirat.texi: New file.
29540         * doc/posix-functions/mkfifoat.texi: New file.
29541         * doc/posix-functions/mknodat.texi: New file.
29542         * doc/posix-functions/open_wmemstream.texi: New file.
29543         * doc/posix-functions/openat.texi: New file.
29544         * doc/posix-functions/psiginfo.texi: New file.
29545         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
29546         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
29547         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
29548         * doc/posix-functions/readlinkat.texi: New file.
29549         * doc/posix-functions/renameat.texi: New file.
29550         * doc/posix-functions/strerror_l.texi: New file.
29551         * doc/posix-functions/symlinkat.texi: New file.
29552         * doc/posix-functions/unlinkat.texi: New file.
29553         * doc/posix-functions/utimensat.texi: New file.
29554         * doc/gnulib.texi (Function Substitutes): Add these subsections.
29555
29556 2008-12-14  Bruno Haible  <bruno@clisp.org>
29557
29558         Update doc for POSIX:2008.
29559         * doc/posix-functions/alphasort.texi: Renamed from
29560         doc/glibc-functions/alphasort.texi.
29561         * doc/posix-functions/dirfd.texi: Renamed from
29562         doc/glibc-functions/dirfd.texi.
29563         * doc/posix-functions/dprintf.texi: Renamed from
29564         doc/glibc-functions/dprintf.texi.
29565         * doc/posix-functions/duplocale.texi: Renamed from
29566         doc/glibc-functions/duplocale.texi.
29567         * doc/posix-functions/fexecve.texi: Renamed from
29568         doc/glibc-functions/fexecve.texi.
29569         * doc/posix-functions/fmemopen.texi: Renamed from
29570         doc/glibc-functions/fmemopen.texi.
29571         * doc/posix-functions/freelocale.texi: Renamed from
29572         doc/glibc-functions/freelocale.texi.
29573         * doc/posix-functions/getdate_err.texi: Renamed from
29574         doc/glibc-functions/getdate_err.texi.
29575         * doc/posix-functions/isalnum_l.texi: Renamed from
29576         doc/glibc-functions/isalnum_l.texi.
29577         * doc/posix-functions/isalpha_l.texi: Renamed from
29578         doc/glibc-functions/isalpha_l.texi.
29579         * doc/posix-functions/isblank_l.texi: Renamed from
29580         doc/glibc-functions/isblank_l.texi.
29581         * doc/posix-functions/iscntrl_l.texi: Renamed from
29582         doc/glibc-functions/iscntrl_l.texi.
29583         * doc/posix-functions/isdigit_l.texi: Renamed from
29584         doc/glibc-functions/isdigit_l.texi.
29585         * doc/posix-functions/isgraph_l.texi: Renamed from
29586         doc/glibc-functions/isgraph_l.texi.
29587         * doc/posix-functions/islower_l.texi: Renamed from
29588         doc/glibc-functions/islower_l.texi.
29589         * doc/posix-functions/isprint_l.texi: Renamed from
29590         doc/glibc-functions/isprint_l.texi.
29591         * doc/posix-functions/ispunct_l.texi: Renamed from
29592         doc/glibc-functions/ispunct_l.texi.
29593         * doc/posix-functions/isspace_l.texi: Renamed from
29594         doc/glibc-functions/isspace_l.texi.
29595         * doc/posix-functions/isupper_l.texi: Renamed from
29596         doc/glibc-functions/isupper_l.texi.
29597         * doc/posix-functions/iswalnum_l.texi: Renamed from
29598         doc/glibc-functions/iswalnum_l.texi.
29599         * doc/posix-functions/iswalpha_l.texi: Renamed from
29600         doc/glibc-functions/iswalpha_l.texi.
29601         * doc/posix-functions/iswblank_l.texi: Renamed from
29602         doc/glibc-functions/iswblank_l.texi.
29603         * doc/posix-functions/iswcntrl_l.texi: Renamed from
29604         doc/glibc-functions/iswcntrl_l.texi.
29605         * doc/posix-functions/iswctype_l.texi: Renamed from
29606         doc/glibc-functions/iswctype_l.texi.
29607         * doc/posix-functions/iswdigit_l.texi: Renamed from
29608         doc/glibc-functions/iswdigit_l.texi.
29609         * doc/posix-functions/iswgraph_l.texi: Renamed from
29610         doc/glibc-functions/iswgraph_l.texi.
29611         * doc/posix-functions/iswlower_l.texi: Renamed from
29612         doc/glibc-functions/iswlower_l.texi.
29613         * doc/posix-functions/iswprint_l.texi: Renamed from
29614         doc/glibc-functions/iswprint_l.texi.
29615         * doc/posix-functions/iswpunct_l.texi: Renamed from
29616         doc/glibc-functions/iswpunct_l.texi.
29617         * doc/posix-functions/iswspace_l.texi: Renamed from
29618         doc/glibc-functions/iswspace_l.texi.
29619         * doc/posix-functions/iswupper_l.texi: Renamed from
29620         doc/glibc-functions/iswupper_l.texi.
29621         * doc/posix-functions/iswxdigit_l.texi: Renamed from
29622         doc/glibc-functions/iswxdigit_l.texi.
29623         * doc/posix-functions/isxdigit_l.texi: Renamed from
29624         doc/glibc-functions/isxdigit_l.texi.
29625         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
29626         doc/glibc-functions/mbsnrtowcs.texi.
29627         * doc/posix-functions/mkdtemp.texi: Renamed from
29628         doc/glibc-functions/mkdtemp.texi.
29629         * doc/posix-functions/newlocale.texi: Renamed from
29630         doc/glibc-functions/newlocale.texi.
29631         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
29632         doc/glibc-functions/nl_langinfo_l.texi.
29633         * doc/posix-functions/open_memstream.texi: Renamed from
29634         doc/glibc-functions/open_memstream.texi.
29635         * doc/posix-functions/opterr.texi: Renamed from
29636         doc/glibc-functions/opterr.texi.
29637         * doc/posix-functions/optind.texi: Renamed from
29638         doc/glibc-functions/optind.texi.
29639         * doc/posix-functions/optopt.texi: Renamed from
29640         doc/glibc-functions/optopt.texi.
29641         * doc/posix-functions/psignal.texi: Renamed from
29642         doc/glibc-functions/psignal.texi.
29643         * doc/posix-functions/scandir.texi: Renamed from
29644         doc/glibc-functions/scandir.texi.
29645         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
29646         doc/glibc-functions/sched_get_priority_min.texi.
29647         * doc/posix-functions/signgam.texi: Renamed from
29648         doc/glibc-functions/signgam.texi.
29649         * doc/posix-functions/stpcpy.texi: Renamed from
29650         doc/glibc-functions/stpcpy.texi.
29651         * doc/posix-functions/stpncpy.texi: Renamed from
29652         doc/glibc-functions/stpncpy.texi.
29653         * doc/posix-functions/strcasecmp_l.texi: Renamed from
29654         doc/glibc-functions/strcasecmp_l.texi.
29655         * doc/posix-functions/strcoll_l.texi: Renamed from
29656         doc/glibc-functions/strcoll_l.texi.
29657         * doc/posix-functions/strfmon_l.texi: Renamed from
29658         doc/glibc-functions/strfmon_l.texi.
29659         * doc/posix-functions/strftime_l.texi: Renamed from
29660         doc/glibc-functions/strftime_l.texi.
29661         * doc/posix-functions/strncasecmp_l.texi: Renamed from
29662         doc/glibc-functions/strncasecmp_l.texi.
29663         * doc/posix-functions/strndup.texi: Renamed from
29664         doc/glibc-functions/strndup.texi.
29665         * doc/posix-functions/strnlen.texi: Renamed from
29666         doc/glibc-functions/strnlen.texi.
29667         * doc/posix-functions/strsignal.texi: Renamed from
29668         doc/glibc-functions/strsignal.texi.
29669         * doc/posix-functions/strxfrm_l.texi: Renamed from
29670         doc/glibc-functions/strxfrm_l.texi.
29671         * doc/posix-functions/timer_gettime.texi: Renamed from
29672         doc/glibc-functions/timer_gettime.texi.
29673         * doc/posix-functions/tolower_l.texi: Renamed from
29674         doc/glibc-functions/tolower_l.texi.
29675         * doc/posix-functions/toupper_l.texi: Renamed from
29676         doc/glibc-functions/toupper_l.texi.
29677         * doc/posix-functions/towctrans_l.texi: Renamed from
29678         doc/glibc-functions/towctrans_l.texi.
29679         * doc/posix-functions/towlower_l.texi: Renamed from
29680         doc/glibc-functions/towlower_l.texi.
29681         * doc/posix-functions/towupper_l.texi: Renamed from
29682         doc/glibc-functions/towupper_l.texi.
29683         * doc/posix-functions/uselocale.texi: Renamed from
29684         doc/glibc-functions/uselocale.texi.
29685         * doc/posix-functions/vdprintf.texi: Renamed from
29686         doc/glibc-functions/vdprintf.texi.
29687         * doc/posix-functions/wcpcpy.texi:
29688         Renamed from doc/glibc-functions/wcpcpy.texi.
29689         * doc/posix-functions/wcpncpy.texi: Renamed from
29690         doc/glibc-functions/wcpncpy.texi.
29691         * doc/posix-functions/wcscasecmp.texi: Renamed from
29692         doc/glibc-functions/wcscasecmp.texi.
29693         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
29694         doc/glibc-functions/wcscasecmp_l.texi.
29695         * doc/posix-functions/wcscoll_l.texi: Renamed from
29696         doc/glibc-functions/wcscoll_l.texi.
29697         * doc/posix-functions/wcsdup.texi: Renamed from
29698         doc/glibc-functions/wcsdup.texi.
29699         * doc/posix-functions/wcsncasecmp.texi: Renamed from
29700         doc/glibc-functions/wcsncasecmp.texi.
29701         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
29702         doc/glibc-functions/wcsncasecmp_l.texi.
29703         * doc/posix-functions/wcsnlen.texi: Renamed from
29704         doc/glibc-functions/wcsnlen.texi.
29705         * doc/posix-functions/wcsnrtombs.texi: Renamed from
29706         doc/glibc-functions/wcsnrtombs.texi.
29707         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
29708         doc/glibc-functions/wcsxfrm_l.texi.
29709         * doc/posix-functions/wctrans_l.texi: Renamed from
29710         doc/glibc-functions/wctrans_l.texi.
29711         * doc/posix-functions/wctype_l.texi: Renamed from
29712         doc/glibc-functions/wctype_l.texi.
29713         * doc/gnulib.texi (Function Substitutes): Add these subsections.
29714         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
29715         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
29716         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
29717         these subsections.
29718         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
29719         Remove sections.
29720
29721 2008-12-14  Bruno Haible  <bruno@clisp.org>
29722
29723         Update doc for POSIX:2008.
29724         * doc/posix-functions/*.texi: Update URL of POSIX specification.
29725
29726 2008-12-14  Bruno Haible  <bruno@clisp.org>
29727
29728         Update doc for POSIX:2008.
29729         * doc/pastposix-functions/bcmp.texi: Renamed from
29730         doc/posix-functions/bcmp.texi.
29731         * doc/pastposix-functions/bcopy.texi: Renamed from
29732         doc/posix-functions/bcopy.texi.
29733         * doc/pastposix-functions/bsd_signal.texi: Renamed from
29734         doc/posix-functions/bsd_signal.texi.
29735         * doc/pastposix-functions/bzero.texi: Renamed from
29736         doc/posix-functions/bzero.texi.
29737         * doc/pastposix-functions/ecvt.texi: Renamed from
29738         doc/posix-functions/ecvt.texi.
29739         * doc/pastposix-functions/fcvt.texi: Renamed from
29740         doc/posix-functions/fcvt.texi.
29741         * doc/pastposix-functions/ftime.texi: Renamed from
29742         doc/posix-functions/ftime.texi.
29743         * doc/pastposix-functions/gcvt.texi: Renamed from
29744         doc/posix-functions/gcvt.texi.
29745         * doc/pastposix-functions/getcontext.texi: Renamed from
29746         doc/posix-functions/getcontext.texi.
29747         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
29748         doc/posix-functions/gethostbyaddr.texi.
29749         * doc/pastposix-functions/gethostbyname.texi: Renamed from
29750         doc/posix-functions/gethostbyname.texi.
29751         * doc/pastposix-functions/getwd.texi: Renamed from
29752         doc/posix-functions/getwd.texi.
29753         * doc/pastposix-functions/h_errno.texi: Renamed from
29754         doc/posix-functions/h_errno.texi.
29755         * doc/pastposix-functions/index.texi: Renamed from
29756         doc/posix-functions/index.texi.
29757         * doc/pastposix-functions/makecontext.texi: Renamed from
29758         doc/posix-functions/makecontext.texi.
29759         * doc/pastposix-functions/mktemp.texi: Renamed from
29760         doc/posix-functions/mktemp.texi.
29761         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
29762         doc/posix-functions/pthread_attr_getstackaddr.texi.
29763         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
29764         doc/posix-functions/pthread_attr_setstackaddr.texi.
29765         * doc/pastposix-functions/rindex.texi: Renamed from
29766         doc/posix-functions/rindex.texi.
29767         * doc/pastposix-functions/scalb.texi: Renamed from
29768         doc/posix-functions/scalb.texi.
29769         * doc/pastposix-functions/setcontext.texi: Renamed from
29770         doc/posix-functions/setcontext.texi.
29771         * doc/pastposix-functions/swapcontext.texi: Renamed from
29772         doc/posix-functions/swapcontext.texi.
29773         * doc/pastposix-functions/ualarm.texi: Renamed from
29774         doc/posix-functions/ualarm.texi.
29775         * doc/pastposix-functions/usleep.texi: Renamed from
29776         doc/posix-functions/usleep.texi.
29777         * doc/pastposix-functions/vfork.texi: Renamed from
29778         doc/posix-functions/vfork.texi.
29779         * doc/pastposix-functions/wcswcs.texi: Renamed from
29780         doc/posix-functions/wcswcs.texi.
29781         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
29782         (Function Substitutes): Update.
29783
29784 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29785
29786         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
29787         m4/strerror.m4.
29788
29789 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29790             Bruno Haible  <bruno@clisp.org>
29791
29792         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
29793
29794 2008-12-13  Bruno Haible  <bruno@clisp.org>
29795
29796         * modules/strtoull (Depends-on): Remove unistd.
29797
29798 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29799
29800         * modules/strtoull (Depends-on): Add stdlib.
29801
29802 2008-12-11  Simon Josefsson  <simon@josefsson.org>
29803
29804         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
29805
29806 2008-12-10  Jim Meyering  <meyering@redhat.com>
29807
29808         gl_ASSERT: don't say assertions are disabled when they're not
29809         * m4/assert.m4 (gl_ASSERT): Do not make configure report
29810         "checking whether to enable assertions... no", when they are in
29811         fact enabled.  This is solely a bug in the output of configure.
29812         In spite of saying "no", NDEBUG was not defined in that case.
29813         Also, as noted by Eric Blake, leave assertions enabled upon
29814         --enable-assert=INVALID.
29815
29816 2008-12-10  Bruno Haible  <bruno@clisp.org>
29817
29818         Change MODULES.html to refer to POSIX:2008 where possible.
29819         * MODULES.html.sh (POSIX2008_URL): New variable.
29820         (posix_headers): Remove sys/timeb, ucontext.
29821         (posix2001_headers): New variable.
29822         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
29823         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
29824         index, makecontext, mktemp, pthread_attr_getstackaddr,
29825         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
29826         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
29827         (posix2001_functions): New variable.
29828         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
29829         otherwise.
29830
29831 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29832
29833         add missing include to parse-duration.c
29834         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
29835         * modules/parse-duration (Depends-on): Add xalloc.
29836
29837         fix sed script reading maint.mk
29838         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
29839         (syntax-check-rules): Use it.
29840
29841 2008-12-09  Bruno Haible  <bruno@clisp.org>
29842
29843         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
29844         MacOS X 10.4/PowerPC.
29845         Reported by Simon Josefsson.
29846
29847 2008-12-08  Jim Meyering  <meyering@redhat.com>
29848
29849         work around mingw's lack of some S_IF definitions
29850         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
29851         Reported by Simon Josefsson.
29852
29853 2008-12-08  Bruno Haible  <bruno@clisp.org>
29854
29855         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
29856         applied to variables. Needed on MacOS X 10.4/PowerPC.
29857         Reported by Simon Josefsson.
29858
29859 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
29860         and Eric Blake  <ebb9@byu.net>
29861
29862         assert: honor --enable-assert
29863         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
29864         order to honor --enable-assert, rather than treating it as a
29865         synonym for --disable-assert.
29866
29867 2008-12-08  Jim Meyering  <meyering@redhat.com>
29868
29869         * lib/posixtm.c: Remove now-useless declaration of mktime.
29870
29871         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
29872
29873 2008-12-07  Bruno Haible  <bruno@clisp.org>
29874
29875         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
29876         test_once): Mark functions as static.
29877         * tests/test-tls.c (test_tls): Likewise.
29878
29879 2008-12-07  Bruno Haible  <bruno@clisp.org>
29880
29881         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
29882         iconv_register_autodetect.
29883
29884 2008-12-07  Jim Meyering  <meyering@redhat.com>
29885
29886         posixtm.c: avoid a warning
29887         * lib/posixtm.c (posixtime): Don't initialize tm0.
29888         It's no longer needed to placate gcc4's -Wuninitialized,
29889         and the attempt to placate would elicit a new warning.
29890
29891         unicodeio.c: mark unused parameters
29892         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
29893         (fallback_failure_callback): Likewise.
29894
29895 2008-12-07  Bruno Haible  <bruno@clisp.org>
29896
29897         * gnulib-tool (func_create_testdir): When building the tests
29898         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
29899         Reported by Simon Josefsson.
29900
29901 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29902
29903         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
29904
29905 2008-12-06  Bruno Haible  <bruno@clisp.org>
29906
29907         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
29908         Suggested by Eric Blake.
29909
29910 2008-12-06  Bruno Haible  <bruno@clisp.org>
29911
29912         Fix a c-stack test failure on MacOS X.
29913         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
29914         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
29915         handler for SIGBUS as well.
29916         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
29917         install a signal handler for SIGBUS as well.
29918         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
29919
29920 2008-12-06  Bruno Haible  <bruno@clisp.org>
29921
29922         Advocacy documentation.
29923         * doc/gnulib-intro.texi (Benefits): New section.
29924         * doc/gnulib.texi: Update.
29925
29926 2008-12-06  Bruno Haible  <bruno@clisp.org>
29927
29928         Document the 'manywarnings' module.
29929         * doc/manywarnings.texi: New file.
29930         * doc/gnulib.texi: Include it.
29931
29932 2008-12-05  Eric Blake  <ebb9@byu.net>
29933
29934         tests: silence some gcc warnings
29935         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
29936         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
29937         type mismatches.
29938
29939 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29940             Bruno Haible  <bruno@clisp.org>
29941
29942         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
29943
29944 2008-11-29  Jim Meyering  <meyering@redhat.com>
29945
29946         unicodeio.c: mark unused parameters
29947         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
29948         (fallback_failure_callback): Likewise.
29949
29950         fts: fix a thinko
29951         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
29952         (set_stat_type): Return S_IF*-valued "type" directly.
29953         Prompted by James Youngman's spotting a related bug.
29954         Confirmed by further testing through find.
29955
29956         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
29957         * lib/fts.c (D_TYPE): Define.
29958         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
29959         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
29960         (s_ifmt_shift_bits): New function.
29961         (set_stat_type): New function.
29962         (fts_build): When not calling fts_stat, call set_stat_type
29963         to propagate dirent.d_type info to fts_read caller.
29964         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
29965         fts_statp->st_mode type information may be valid.
29966
29967 2008-11-28  Simon Josefsson  <simon@josefsson.org>
29968
29969         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
29970         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
29971         <sds@gnu.org>.
29972
29973 2008-11-20  Bruno Haible  <bruno@clisp.org>
29974
29975         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
29976         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
29977         INCLUDE_NEXT.
29978         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
29979         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
29980         * modules/math (Makefile.am): Substitute
29981         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
29982         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29983
29984 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
29985             Bruno Haible  <bruno@clisp.org>
29986
29987         * lib/stdint.in.h: Define all type macros so that their expansion is
29988         a single typedef'ed token. Fixes a compilation failure in Boost which
29989         does "using ::int8_t;".
29990
29991 2008-11-18  Simon Josefsson  <simon@josefsson.org>
29992
29993         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
29994         gl_MANYWARN_ALL_GCC.
29995         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
29996         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
29997         * modules/manywarnings: New file.
29998         * MODULES.html.sh: Mention manywarnings module.
29999
30000 2008-11-18  Bruno Haible  <bruno@clisp.org>
30001
30002         * doc/gnulib-tool.texi (Unit tests): New section.
30003
30004 2008-11-18  Simon Josefsson  <simon@josefsson.org>
30005
30006         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
30007         paths like 'lib/po/foo.po'.
30008
30009 2008-11-17  Simon Josefsson  <simon@josefsson.org>
30010
30011         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
30012         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
30013
30014 2008-11-17  Simon Josefsson  <simon@josefsson.org>
30015
30016         * m4/warnings.m4: Use CPPFLAGS to really check whether the
30017         parameter works.
30018
30019 2008-11-17  Simon Josefsson  <simon@josefsson.org>
30020
30021         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
30022
30023 2008-11-17  Bruce Korb  <bkorb@gnu.org>
30024
30025         * modules/parse-duration-tests: New file.
30026         * tests/test-parse-duration.sh: New file.
30027         * tests/test-parse-duration.c: New file.
30028
30029         New module 'parse-duration'.
30030         * lib/parse-duration.h: New file.
30031         * lib/parse-duration.c: New file.
30032         * modules/parse-duration: New file.
30033
30034 2008-11-17  Bruno Haible  <bruno@clisp.org>
30035
30036         * tests/test-select-out.sh: Comment out the first pipe test.
30037         Reported by Simon Josefsson.
30038
30039 2008-11-17  Bruno Haible  <bruno@clisp.org>
30040
30041         * modules/getaddrinfo (Depends-on): Add servent, hostent.
30042         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
30043         gl_HOSTENT.
30044
30045 2008-11-17  Bruno Haible  <bruno@clisp.org>
30046
30047         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
30048         -lnetwork and -lnet. Needed for Haiku and BeOS.
30049
30050 2008-11-16  Bruno Haible  <bruno@clisp.org>
30051
30052         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
30053
30054 2008-11-16  Bruno Haible  <bruno@clisp.org>
30055
30056         Avoid test failure on Haiku.
30057         * tests/test-fsync.c: Include <errno.h>.
30058         (main): Don't require that fsync (0) fails.
30059
30060 2008-11-15  Bruno Haible  <bruno@clisp.org>
30061
30062         New module 'hostent'.
30063         * modules/hostent: New file.
30064         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
30065
30066 2008-11-15  Bruno Haible  <bruno@clisp.org>
30067
30068         New module 'servent'.
30069         * modules/servent: New file.
30070         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
30071
30072 2008-11-15  Bruno Haible  <bruno@clisp.org>
30073
30074         Avoid generating same test program with two different rules.
30075         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
30076         test-frexp to test-frexp-nolibm.
30077         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
30078         test-frexpl to test-frexpl-nolibm.
30079
30080 2008-11-15  Bruno Haible  <bruno@clisp.org>
30081
30082         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
30083         $(FREXPL_LIBM).
30084
30085 2008-11-15  Bruno Haible  <bruno@clisp.org>
30086
30087         * lib/netdb.in.h: Activate the definitions also when the system's
30088         <netdb.h> has 'struct addrinfo'.
30089         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
30090         EAI_OVERFLOW or AI_NUMERICSERV.
30091         * doc/posix-headers/netdb.texi: Document the problem.
30092
30093 2008-11-15  Bruno Haible  <bruno@clisp.org>
30094
30095         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
30096
30097         Make the 'sched' module work on platforms where <sched.h> exists but
30098         is incomplete (such as Haiku).
30099         * lib/sched.in.h; Include the system's <sched.h> if it exists.
30100         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
30101         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
30102         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
30103         HAVE_STRUCT_SCHED_PARAM.
30104         * modules/sched (Depends-on): Add include_next.
30105         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
30106         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
30107         * doc/posix-headers/sched.texi: Document the issue.
30108
30109 2008-11-13  Jim Meyering  <meyering@redhat.com>
30110
30111         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
30112         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
30113         test would fail due to the difference in the Report bugs to ...
30114         line.  The expected address is empty, "<>", while the actual
30115         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
30116
30117 2008-11-12  Bruno Haible  <bruno@clisp.org>
30118
30119         lstat: don't compile lstat.c on systems lacking lstat
30120         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
30121         which don't have lstat; this is handled by lib/sys_stat.in.h already.
30122         Reported by Daniel P. Berrange via Jim Meyering.
30123
30124 2008-11-12  Jim Meyering  <meyering@redhat.com>
30125
30126         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
30127
30128 2008-11-12  Simon Josefsson  <simon@josefsson.org>
30129
30130         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
30131         instead.
30132
30133 2008-11-12  Bruno Haible  <bruno@clisp.org>
30134
30135         * lib/unicodeio.c: Include unistr.h.
30136         (utf8_wctomb): Remove function.
30137         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
30138
30139 2008-11-12  Simon Josefsson  <simon@josefsson.org>
30140
30141         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
30142         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
30143         <bruno@clisp.org>.
30144         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
30145
30146 2008-11-12  Simon Josefsson  <simon@josefsson.org>
30147
30148         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
30149         * doc/gnulib.texi: Add section for warnings.
30150
30151 2008-11-11  Bruno Haible  <bruno@clisp.org>
30152
30153         * lib/sockets.h: Add a comment.
30154
30155 2008-11-11  Karl Berry  <karl@gnu.org>
30156
30157         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
30158
30159 2008-11-11  Eric Blake  <ebb9@byu.net>
30160
30161         fdl.texi: avoid git symlinks
30162         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
30163
30164 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30165
30166         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
30167
30168 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30169
30170         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
30171         (gl_WARN_ADD): Substitute $2 if literal.
30172
30173 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30174
30175         * m4/warning.m4: Remove.
30176
30177 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
30178
30179         * m4/warnings.m4: Almost complete rewrite. :-)
30180
30181 2008-11-10  Simon Josefsson  <simon@josefsson.org>
30182
30183         * modules/warnings: New module.
30184         * m4/warnings.m4: New file.
30185         * MODULES.html.sh: Mention warnings module.
30186         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
30187         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30188
30189 2008-11-10  Eric Blake  <ebb9@byu.net>
30190
30191         fdl.texi: make a symlink to the latest version
30192         * doc/standards.texi: Revert today's earlier change.
30193         * doc/fdl-1.2.texi: Rename from old fdl.texi...
30194         * doc/fdl.texi: ...and replace this with a symlink to the newer
30195         fdl-1.3.texi.
30196
30197 2008-11-10  Bruno Haible  <bruno@clisp.org>
30198
30199         * tests/test-select-fd.c (main): Accept the result file name as fourth
30200         argument.
30201         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
30202         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
30203
30204 2008-11-10  Bruno Haible  <bruno@clisp.org>
30205
30206         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
30207         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
30208         as autoconf-substituted macros.
30209         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
30210         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
30211         gl_NETDB_H_DEFAULTS. Set these variables.
30212         * modules/netdb (Makefile.am): Substitute these variables.
30213
30214 2008-11-10  Eric Blake  <ebb9@byu.net>
30215
30216         standards.texi: include correct file for FDL 1.3
30217         * doc/standards.texi (GNU Free Documentation License): Change
30218         include file to pull in FDL 1.3, not 1.2.
30219
30220         fdl.texi: revert accidental change to license
30221         * doc/fdl.texi: This is FDL 1.2, not 1.3.
30222
30223 2008-11-10  Bruno Haible  <bruno@clisp.org>
30224
30225         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
30226         cross-compiling guesses also when the native compile gives no result.
30227
30228 2008-11-10  Bruno Haible  <bruno@clisp.org>
30229
30230         * lib/spawni.c (__spawni): Force variable into the stack.
30231
30232 2008-11-10  Bruno Haible  <bruno@clisp.org>
30233
30234         Add support for Haiku.
30235         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
30236         glibc and BeOS, but also on Haiku.
30237         * lib/fpurge.c (fpurge): Likewise.
30238         * lib/freadable.c (freadable): Likewise.
30239         * lib/freadahead.c (freadahead): Likewise.
30240         * lib/freading.c (freading): Likewise.
30241         * lib/freadptr.c (freadptr): Likewise.
30242         * lib/freadseek.c (freadptrinc): Likewise.
30243         * lib/fseeko.c (rpl_fseeko): Likewise.
30244         * lib/fseterr.c (fseterr): Likewise.
30245         * lib/fwritable.c (fwritable): Likewise.
30246         * lib/fwriting.c (fwriting): Likewise.
30247         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
30248
30249 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
30250
30251         * lib/config.charset: Treat Haiku like BeOS.
30252
30253 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
30254
30255         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
30256         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
30257
30258 2008-11-08  Bruno Haible  <bruno@clisp.org>
30259
30260         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
30261         AC_CACHE_CHECK.
30262
30263 2008-11-08  Bruno Haible  <bruno@clisp.org>
30264
30265         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
30266
30267 2008-11-08  Bruno Haible  <bruno@clisp.org>
30268
30269         * tests/test-select-fd.c: New file.
30270         * tests/test-select-in.sh: New file.
30271         * tests/test-select-out.sh: New file.
30272         * tests/test-select-stdin.c: New file.
30273         * modules/select-tests (Files): Add the new files.
30274         (Depends-on): Add gettimeofday.
30275         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
30276         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
30277         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
30278
30279 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
30280             Bruno Haible  <bruno@clisp.org>
30281
30282         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
30283
30284 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
30285
30286         * build-aux/pmccabe2html: Added support for C++ source files.
30287
30288 2008-11-05  Ben Pfaff  <blp@gnu.org>
30289
30290         Fix lib/close.c build on Windows.
30291         * modules/close (Files): Add lib/w32sock.h.
30292
30293 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
30294
30295         Accept Bison's NEWS format.
30296         * build-aux/announce-gen (print_news_deltas): Tweak
30297         $re_prefix.
30298
30299 2008-11-04  Bruno Haible  <bruno@clisp.org>
30300
30301         * modules/random_r (Maintainer): Add glibc.
30302
30303 2008-11-04  Simon Josefsson  <simon@josefsson.org>
30304
30305         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
30306         by karl@freefriends.org (Karl Berry).
30307         * doc/alloca.texi: Likewise.
30308         * doc/c-ctype.texi: Likewise.
30309         * doc/c-strcase.texi: Likewise.
30310         * doc/c-strcaseeq.texi: Likewise.
30311         * doc/c-strcasestr.texi: Likewise.
30312         * doc/c-strstr.texi: Likewise.
30313         * doc/c-strtod.texi: Likewise.
30314         * doc/c-strtold.texi: Likewise.
30315         * doc/ctime.texi: Likewise.
30316         * doc/error.texi: Likewise.
30317         * doc/fdl.texi: Likewise.
30318         * doc/gcd.texi: Likewise.
30319         * doc/getdate.texi: Likewise.
30320         * doc/gnulib-intro.texi: Likewise.
30321         * doc/gnulib-tool.texi: Likewise.
30322         * doc/gnulib.texi: Likewise.
30323         * doc/inet_ntoa.texi: Likewise.
30324         * doc/maintain.texi: Likewise.
30325         * doc/make-stds.texi: Likewise.
30326         * doc/quote.texi: Likewise.
30327         * doc/regexprops-generic.texi: Likewise.
30328         * doc/standards.texi: Likewise.
30329         * doc/verify.texi: Likewise.
30330         * doc/visibility.texi: Likewise.
30331         * doc/gnulib.texi (GNU Free Documentation License): Include
30332         fdl-1.3.texi instead of fdl.texi.
30333
30334 2008-11-04  Simon Josefsson  <simon@josefsson.org>
30335
30336         * doc/fdl-1.3.texi: New file, from
30337         <http://www.gnu.org/licenses/fdl-1.3.texi>.
30338         * modules/fdl-1.3: Add.
30339         * MODULES.html.sh: Add fdl-1.3.
30340
30341 2008-11-03  Bruno Haible  <bruno@clisp.org>
30342
30343         Make determination of absolute name of header file work with AIX xlc.
30344         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
30345         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
30346         preprocessing.
30347         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30348         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
30349
30350 2008-11-03  Simon Josefsson  <simon@josefsson.org>
30351
30352         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
30353         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
30354         <ludo@gnu.org>.
30355
30356 2008-11-02  Bruno Haible  <bruno@clisp.org>
30357
30358         Mark 'strpbrk' obsolete.
30359         * modules/strpbrk (Status, Notice): New sections.
30360         * modules/strtok_r (Depends-on): Add strpbrk.
30361
30362 2008-11-02  Bruno Haible  <bruno@clisp.org>
30363
30364         Mark 'strdup' obsolete.
30365         * modules/strdup (Status, Notice): New sections.
30366         * modules/findprog (Depends-on): Add strdup.
30367         * modules/getaddrinfo (Depends-on): Likewise.
30368         * modules/localename (Depends-on): Likewise.
30369         * modules/relocatable-lib (Depends-on): Likewise.
30370         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
30371         * modules/relocatable-prog (Depends-on): Likewise.
30372         * modules/trim (Depends-on): Likewise.
30373         * modules/unictype/gen-ctype (Depends-on): Likewise.
30374         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
30375
30376 2008-11-02  Bruno Haible  <bruno@clisp.org>
30377
30378         Mark 'strcspn' obsolete.
30379         * modules/strcspn (Status, Notice): New sections.
30380
30381 2008-11-02  Bruno Haible  <bruno@clisp.org>
30382
30383         Mark 'rmdir' obsolete.
30384         * modules/rmdir (Status, Notice): New sections.
30385         * modules/clean-temp (Depends-on): Add rmdir.
30386         * modules/openat (Depends-on): Likewise.
30387
30388 2008-11-02  Bruno Haible  <bruno@clisp.org>
30389
30390         Mark 'raise' obsolete.
30391         * modules/raise (Status, Notice): New sections.
30392         (Include): Specify <signal.h>.
30393         * modules/stdio (Depends-on): Add raise.
30394         * modules/write (Depends-on): Likewise.
30395
30396 2008-11-02  Bruno Haible  <bruno@clisp.org>
30397
30398         Mark 'memset' obsolete.
30399         * modules/memset (Status, Notice): New sections.
30400
30401 2008-11-02  Bruno Haible  <bruno@clisp.org>
30402
30403         Mark 'memmove' obsolete.
30404         * modules/memmove (Status, Notice): New sections.
30405         * modules/argp (Depends-on): Add memmove.
30406         * modules/argz (Depends-on): Likewise.
30407         * modules/canonicalize (Depends-on): Likewise.
30408         * modules/canonicalize-lgpl (Depends-on): Likewise.
30409         * modules/fts (Depends-on): Likewise.
30410         * modules/getcwd (Depends-on): Likewise.
30411         * modules/human (Depends-on): Likewise.
30412         * modules/regex (Depends-on): Likewise.
30413         * modules/striconveh (Depends-on): Likewise.
30414         * modules/trim (Depends-on): Likewise.
30415         * modules/unistr/u8-move (Depends-on): Likewise.
30416         * modules/unistr/u16-move (Depends-on): Likewise.
30417         * modules/unistr/u32-move (Depends-on): Likewise.
30418
30419 2008-11-02  Bruno Haible  <bruno@clisp.org>
30420
30421         Mark 'memcpy' obsolete.
30422         * modules/memcpy (Status, Notice): New sections.
30423
30424 2008-11-02  Bruno Haible  <bruno@clisp.org>
30425
30426         Mark 'memcmp' obsolete.
30427         * modules/memcmp (Status, Notice): New sections.
30428         * modules/argmatch (Depends-on): Add memchr.
30429         * modules/backupfile (Depends-on): Likewise.
30430         * modules/c-strcasestr (Depends-on): Likewise.
30431         * modules/crypto/des (Depends-on): Likewise.
30432         * modules/csharpcomp (Depends-on): Likewise.
30433         * modules/fnmatch (Depends-on): Likewise.
30434         * modules/git-merge-changelog (Depends-on): Likewise.
30435         * modules/isnand (Depends-on): Likewise.
30436         * modules/isnand-nolibm (Depends-on): Likewise.
30437         * modules/isnanf (Depends-on): Likewise.
30438         * modules/isnanf-nolibm (Depends-on): Likewise.
30439         * modules/isnanl (Depends-on): Likewise.
30440         * modules/isnanl-nolibm (Depends-on): Likewise.
30441         * modules/mbchar (Depends-on): Likewise.
30442         * modules/memcoll (Depends-on): Likewise.
30443         * modules/quotearg (Depends-on): Likewise.
30444         * modules/regex (Depends-on): Likewise.
30445         * modules/relocatable-prog (Depends-on): Likewise.
30446         * modules/same (Depends-on): Likewise.
30447         * modules/signbit (Depends-on): Likewise.
30448         * modules/strcasestr-simple (Depends-on): Likewise.
30449         * modules/unictype/gen-ctype (Depends-on): Likewise.
30450         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
30451         * modules/uniname/uniname (Depends-on): Likewise.
30452         * modules/unistr/u8-cmp (Depends-on): Likewise.
30453
30454 2008-11-02  Bruno Haible  <bruno@clisp.org>
30455
30456         Mark 'memchr' obsolete.
30457         * modules/memchr (Status, Notice): New sections.
30458         * modules/argp (Depends-on): Add memchr.
30459         * modules/base64 (Depends-on): Likewise.
30460         * modules/c-strcasestr (Depends-on): Likewise.
30461         * modules/chdir-long (Depends-on): Likewise.
30462         * modules/fnmatch (Depends-on): Likewise.
30463         * modules/getsubopt (Depends-on): Likewise.
30464         * modules/git-merge-changelog (Depends-on): Likewise.
30465         * modules/glob (Depends-on): Likewise.
30466         * modules/strcasestr-simple (Depends-on): Likewise.
30467         * modules/strnlen (Depends-on): Likewise.
30468
30469 2008-11-02  Bruno Haible  <bruno@clisp.org>
30470
30471         Mark 'atexit' obsolete.
30472         * modules/atexit (Status, Notice): New sections.
30473         * modules/chdir-long (Depends-on): Add atexit.
30474         * modules/wait-process (Depends-on): Likewise.
30475
30476 2008-11-02  Bruno Haible  <bruno@clisp.org>
30477
30478         * gnulib-tool: New option --with-obsolete.
30479         (func_usage): Document it.
30480         (func_modules_transitive_closure): Drop obsolete dependencies if
30481         incobsolete is not true.
30482         (func_import): Read and save the incobsolete variable to the cache.
30483
30484 2008-11-02  Bruno Haible  <bruno@clisp.org>
30485
30486         * modules/TEMPLATE-EXTENDED: New field 'Status'.
30487         * gnulib-tool: New option --extract-status.
30488         (func_usage): Document it.
30489         (sed_extract_prog): Recognize it.
30490         (func_get_status): New function.
30491
30492 2008-10-30  Simon Josefsson  <simon@josefsson.org>
30493
30494         * modules/sockets (License): Change from LGPL to LGPLv2+.
30495
30496 2008-10-28  Simon Josefsson  <simon@josefsson.org>
30497
30498         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
30499
30500 2008-10-28  Simon Josefsson  <simon@josefsson.org>
30501
30502         * MODULES.html.sh (Support for systems lacking POSIX:2001):
30503         Mention times and sys_times.
30504         * modules/sys_times, modules/sys_times-tests: New modules.
30505         * modules/times, modules/times-tests: Likewise
30506         * m4/sys_times_h.m4: New file.
30507         * lib/sys_times.in.h: Likewise
30508         * lib/times.c: Likewise.
30509         * tests/test-sys_times.c: Likewise.
30510         * tests/test-times.c: Likewise.
30511         * doc/posix-headers/sys_times.texi: Update.
30512         * doc/posix-functions/times.texi: Update.
30513
30514 2008-10-28  Jim Meyering  <meyering@redhat.com>
30515
30516         * modules/tempname (Depends-on): Add lstat.
30517
30518         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
30519
30520 2008-10-28  Simon Josefsson  <simon@josefsson.org>
30521
30522         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
30523         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
30524         using idiom used elsewhere in gnulib.
30525
30526 2008-10-27  Jim Meyering  <meyering@redhat.com>
30527
30528         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
30529
30530 2008-10-27  Simon Josefsson  <simon@josefsson.org>
30531
30532         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
30533         TESTS_ENVIRONMENT, for shell scripts that needs to call built
30534         programs.
30535         * tests/test-argp-2.sh: Use $EXEEXT when needed.
30536
30537 2008-10-27  Simon Josefsson  <simon@josefsson.org>
30538
30539         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
30540
30541 2008-10-27  Bruno Haible  <bruno@clisp.org>
30542
30543         * tests/test-lstat.c: Include <stdio.h>.
30544
30545 2008-10-27  Simon Josefsson  <simon@josefsson.org>
30546
30547         * modules/lstat-tests: New module.
30548         * tests/test-lstat.c: New file.
30549
30550 2008-10-26  Jim Meyering  <meyering@redhat.com>
30551
30552         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
30553
30554 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30555             Bruno Haible  <bruno@clisp.org>
30556
30557         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
30558         * modules/configmake (Include): Add a note that the include must come
30559         after all system headers.
30560         * lib/javaversion.c: Include configmake.h after all other includes.
30561
30562 2008-10-26  Bruno Haible  <bruno@clisp.org>
30563
30564         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
30565         HAVE_STRUCT_RANDOM_DATA to 1.
30566         (gl_STDLIB_H): Simplify.
30567
30568 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30569
30570         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
30571         substitute HAVE_STRUCT_RANDOM_DATA.
30572         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
30573         random_data.
30574         * modules/stdlib (Makefile.am): Substitute
30575         HAVE_STRUCT_RANDOM_DATA.
30576
30577 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30578
30579         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
30580         * doc/gnulib-intro.texi (Copyright): Likewise.
30581
30582 2008-10-26  Simon Josefsson  <simon@josefsson.org>
30583
30584         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
30585         findings.
30586
30587 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
30588             Bruno Haible  <bruno@clisp.org>
30589
30590         * lib/unistd.in.h: Include <winsock2.h>.
30591         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
30592         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
30593         Provide dummy declarations.
30594         (gethostname): Override.
30595         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
30596         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
30597         gl_PREREQ_SYS_H_WINSOCK2.
30598         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
30599         * doc/posix-functions/gethostname.texi: More details.
30600
30601 2008-10-25  Bruno Haible  <bruno@clisp.org>
30602
30603         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
30604         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
30605         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
30606
30607         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
30608         here ...
30609         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
30610         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
30611         gl_UNISTD_H_DEFAULTS.
30612
30613 2008-10-25  Eric Blake  <ebb9@byu.net>
30614
30615         signbit: avoid spurious compiler failure
30616         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
30617         declarations inside function.
30618
30619 2008-10-24  Simon Josefsson  <simon@josefsson.org>
30620             Bruno Haible  <bruno@clisp.org>
30621
30622         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
30623         * modules/random_r (Depends-on): Add stdint.
30624
30625 2008-10-24  Bruno Haible  <bruno@clisp.org>
30626
30627         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
30628         Eggert.
30629         * modules/strerror (License): Likewise.
30630
30631 2008-10-24  Jim Meyering  <meyering@redhat.com>
30632
30633         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
30634         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
30635
30636 2008-10-24  Eric Blake  <ebb9@byu.net>
30637
30638         getgroups: fix compilation when getgroups is available
30639         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
30640         but with <config.h> override of getgroups disabled.
30641
30642 2008-10-24  Simon Josefsson  <simon@josefsson.org>
30643
30644         * doc/gnulib.texi (Header files): Add note about C++ problems.
30645         Explained by Bruno Haible <bruno@clisp.org>.
30646
30647 2008-10-23  Bruno Haible  <bruno@clisp.org>
30648
30649         Define a dummy SA_NODEFER macro on Interix.
30650         * lib/signal.in.h (SA_NODEFER): Define fallback.
30651         Reported by Aleksey Cheusov <cheusov@tut.by> via
30652         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
30653
30654 2008-10-23  Bruno Haible  <bruno@clisp.org>
30655
30656         * modules/freadahead (License): Change to LGPLv2+.
30657         Suggested by Simon Josefsson.
30658
30659 2008-10-23  Jim Meyering  <meyering@redhat.com>
30660
30661         random_r: new module
30662         * modules/random_r: New file.
30663         * m4/random_r.m4: New file.
30664         * lib/random_r.c: New file, from glibc.
30665         * modules/random_r-tests: New file.
30666         * tests/test-random_r.c: New file.
30667         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
30668          Declare.
30669         (RAND_MAX): Define.
30670         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
30671         * modules/stdlib: Substitute them, too.
30672         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
30673         * doc/glibc-functions/initstate_r.texi: Mention the new module.
30674         * doc/glibc-functions/random_r.texi: Likewise.
30675         * doc/glibc-functions/setstate_r.texi: Likewise.
30676         * doc/glibc-functions/srandom_r.texi: Likewise.
30677         * config/srclist.txt: Mention it.
30678
30679 2008-10-23  David Lutterkort  <lutter@redhat.com>
30680
30681         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
30682         link requirement
30683
30684 2008-10-23  Jim Meyering  <meyering@redhat.com>
30685
30686         selinux-h: mark parameters of stub functions as intentionally unused
30687         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
30688         * lib/se-context.in.h: Likewise.
30689
30690 2008-10-22  Simon Josefsson  <simon@josefsson.org>
30691
30692         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
30693
30694 2008-10-22  Simon Josefsson  <simon@josefsson.org>
30695
30696         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
30697
30698 2008-10-22  Eric Blake  <ebb9@byu.net>
30699
30700         glthread/thread: avoid compiler warning
30701         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
30702         Add unreachable abort to silence compiler.
30703
30704 2008-10-22  Eric Blake  <ebb9@byu.net>
30705
30706         netdb: also supply struct addrinfo for cygwin 1.5.x
30707         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
30708         older cygwin.
30709         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
30710         cygwin.
30711         * doc/posix-headers/netdb.texi (netdb.h): Document this.
30712
30713 2008-10-22  Bruno Haible  <bruno@clisp.org>
30714
30715         * users.txt: Update entry about pspp.
30716
30717 2008-10-21  Bruno Haible  <bruno@clisp.org>
30718
30719         Simplification.
30720         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
30721         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
30722
30723         Simplification.
30724         * lib/ioctl.c (ioctl): Don't undefine.
30725         * lib/socket.c (socket): Don't undefine.
30726
30727         Remove unused module indicator macros.
30728         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
30729         GNULIB_$1 as a C macro.
30730
30731         * doc/posix-functions/close.texi: Undo last change.
30732         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
30733         Windows platforms.
30734
30735 2008-10-21  Bruno Haible  <bruno@clisp.org>
30736
30737         Add gethostname() declaration to <unistd.h>.
30738         * lib/unistd.in.h (gethostname): New declaration.
30739         * lib/gethostname.c: Include <unistd.h>.
30740         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
30741         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
30742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
30743         and HAVE_GETHOSTNAME.
30744         * modules/gethostname (Depends-on): Add unistd.
30745         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30746         (Include): Specify <unistd.h>.
30747         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
30748         HAVE_GETHOSTNAME.
30749         * tests/test-gethostname.c: Include <unistd.h> first.
30750
30751 2008-10-21  Bruno Haible  <bruno@clisp.org>
30752
30753         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
30754         * modules/select-tests (Depends-on): Likewise.
30755         Reported by Simon Josefsson.
30756
30757 2008-10-21  Simon Josefsson  <simon@josefsson.org>
30758
30759         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
30760         * lib/accept.c: New file, based on winsock.c.
30761         * lib/bind.c: New file, based on winsock.c.
30762         * lib/connect.c: New file, based on winsock.c.
30763         * lib/getpeername.c: New file, based on winsock.c.
30764         * lib/getsockname.c: New file, based on winsock.c.
30765         * lib/getsockopt.c: New file, based on winsock.c.
30766         * lib/ioctl.c: New file, based on winsock.c.
30767         * lib/listen.c: New file, based on winsock.c.
30768         * lib/recv.c: New file, based on winsock.c.
30769         * lib/recvfrom.c: New file, based on winsock.c.
30770         * lib/send.c: New file, based on winsock.c.
30771         * lib/sendto.c: New file, based on winsock.c.
30772         * lib/setsockopt.c: New file, based on winsock.c.
30773         * lib/shutdown.c: New file, based on winsock.c.
30774         * lib/socket.c: New file, based on winsock.c.
30775         * lib/w32sock.h: New file, based on winsock.c.
30776         * lib/winsock.c: Remove file.
30777         * modules/accept: Likewise.
30778         * modules/bind: Likewise.
30779         * modules/connect: Likewise.
30780         * modules/getpeername: Likewise.
30781         * modules/getsockname: Likewise.
30782         * modules/getsockopt: Likewise.
30783         * modules/ioctl: Likewise.
30784         * modules/listen: Likewise.
30785         * modules/recv: Likewise.
30786         * modules/recvfrom: Likewise.
30787         * modules/send: Likewise.
30788         * modules/sendto: Likewise.
30789         * modules/setsockopt: Likewise.
30790         * modules/shutdown: Likewise.
30791         * modules/socket: Use socket.c instead of winsock.c.
30792         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
30793         * doc/posix-functions/accept.texi: Doc fix.
30794         * doc/posix-functions/bind.texi: Doc fix.
30795         * doc/posix-functions/close.texi: Doc fix.
30796         * doc/posix-functions/connect.texi: Doc fix.
30797         * doc/posix-functions/getpeername.texi: Doc fix.
30798         * doc/posix-functions/getsockname.texi: Doc fix.
30799         * doc/posix-functions/getsockopt.texi: Doc fix.
30800         * doc/posix-functions/ioctl.texi: Doc fix.
30801         * doc/posix-functions/listen.texi: Doc fix.
30802         * doc/posix-functions/recv.texi: Doc fix.
30803         * doc/posix-functions/recvfrom.texi: Doc fix.
30804         * doc/posix-functions/send.texi: Doc fix.
30805         * doc/posix-functions/sendto.texi: Doc fix.
30806         * doc/posix-functions/setsockopt.texi: Doc fix.
30807         * doc/posix-functions/shutdown.texi: Doc fix.
30808         * doc/posix-functions/socket.texi: Doc fix.
30809
30810 2008-10-20  Bruno Haible  <bruno@clisp.org>
30811
30812         Take into account the role of SIGABRT_COMPAT on Windows 2008.
30813         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
30814         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
30815         as an alias for SIGABRT.
30816         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
30817         (sigaction): Map it to SIGABRT.
30818         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
30819
30820 2008-10-20  Bruno Haible  <bruno@clisp.org>
30821
30822         * lib/fts.c: Don't include lstat.h.
30823         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
30824
30825         Move the lstat() declaration to <sys/stat.h>.
30826         * lib/lstat.h: Remove file.
30827         * lib/sys_stat.in.h: Add special invocation convention.
30828         (lstat): New declaration.
30829         * lib/lstat.c (orig_lstat): New function.
30830         (rpl_lstat): Use orig_lstat instead of lstat.
30831         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
30832         AC_C_INLINE. Set REPLACE_LSTAT.
30833         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
30834         and REPLACE_LSTAT.
30835         * modules/lstat (Files): Remove lib/lstat.h.
30836         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
30837         (Include): Specify <sys/stat.h> instead of lstat.h.
30838         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
30839         REPLACE_LSTAT.
30840         * NEWS: Mention the change.
30841
30842 2008-10-20  Bruno Haible  <bruno@clisp.org>
30843
30844         * modules/posix_spawn-tests: New file.
30845         * tests/test-posix_spawn3.c: New file.
30846
30847 2008-10-20  Bruno Haible  <bruno@clisp.org>
30848
30849         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
30850         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
30851         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
30852         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
30853         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
30854
30855 2008-10-20  Bruno Haible  <bruno@clisp.org>
30856
30857         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
30858         of posix_spawn on AIX 5.3.
30859
30860 2008-10-20  Bruno Haible  <bruno@clisp.org>
30861
30862         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
30863
30864 2008-10-20  Bruno Haible  <bruno@clisp.org>
30865
30866         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
30867         of AC_LANG_PROGRAM.
30868
30869 2008-10-20  Simon Josefsson  <simon@josefsson.org>
30870
30871         * lib/netdb.in.h: Don't define GNU specific constants until they
30872         are supported or needed.  Reported by Bruno Haible
30873         <bruno@clisp.org>.
30874
30875 2008-10-20  Simon Josefsson  <simon@josefsson.org>
30876
30877         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
30878
30879 2008-10-20  Simon Josefsson  <simon@josefsson.org>
30880
30881         * lib/getaddrinfo.h: Remove file.
30882         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
30883         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
30884         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
30885         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
30886         * modules/netdb: Substitute GNULIB_GETADDRINFO.
30887         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
30888         * tests/test-getaddrinfo.c: Likewise.
30889         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
30890         * NEWS: Mention change.
30891
30892 2008-10-19  Bruno Haible  <bruno@clisp.org>
30893
30894         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
30895
30896 2008-10-19  Bruno Haible  <bruno@clisp.org>
30897
30898         * lib/wait-process.c: Include simply <sys/wait.h>.
30899         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
30900         WIFSTOPPED): Remove fallback definitions.
30901         * modules/wait-process (Depends-on): Add sys_wait.
30902
30903         New module 'sys_wait'.
30904         * modules/sys_wait: New file.
30905         * lib/sys_wait.in.h: New file, partially copied from
30906         lib/wait-process.c.
30907         * m4/sys_wait_h.m4: New file.
30908         * doc/posix-headers/sys_wait.texi: Mention the new module.
30909
30910 2008-10-19  Bruno Haible  <bruno@clisp.org>
30911
30912         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
30913
30914 2008-10-19  Bruno Haible  <bruno@clisp.org>
30915
30916         Assume that waitpid() fills an 'int' status, not a 'union wait'.
30917         * lib/wait-process.c (WAIT_T): Remove type.
30918         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
30919         (wait_subprocess): Update.
30920
30921 2008-10-19  Bruno Haible  <bruno@clisp.org>
30922
30923         New module 'atoll'.
30924         * modules/atoll: New file.
30925         * lib/stdlib.in.h (atoll): New declaration.
30926         * lib/atoll.c: New file, from glibc with modifications.
30927         * m4/atoll.m4: New file.
30928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
30929         HAVE_ATOLL.
30930         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
30931         * doc/posix-functions/atoll.texi: Mention the new module.
30932
30933 2008-10-19  Bruno Haible  <bruno@clisp.org>
30934
30935         Add strtoull() declaration to <stdlib.h>.
30936         * lib/stdlib.in.h (strtoull): New declaration.
30937         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
30938         Set HAVE_STRTOULL.
30939         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
30940         HAVE_STRTOULL.
30941         * modules/strtoull (Depends-on): Add stdlib.
30942         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30943         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
30944         HAVE_STRTOULL.
30945
30946 2008-10-19  Bruno Haible  <bruno@clisp.org>
30947
30948         Add strtoll() declaration to <stdlib.h>.
30949         * lib/stdlib.in.h (strtoll): New declaration.
30950         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
30951         Set HAVE_STRTOLL.
30952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
30953         HAVE_STRTOLL.
30954         * modules/strtoll (Depends-on): Add stdlib.
30955         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30956         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
30957
30958 2008-10-19  Bruno Haible  <bruno@clisp.org>
30959
30960         * modules/bcopy (Depends-on): Add strings.
30961         (Include): Specify <strings.h>.
30962
30963 2008-10-19  Bruno Haible  <bruno@clisp.org>
30964
30965         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
30966
30967 2008-10-19  Bruno Haible  <bruno@clisp.org>
30968
30969         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
30970         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
30971         mingw.
30972
30973 2008-10-19  Bruno Haible  <bruno@clisp.org>
30974
30975         * lib/atanl.c: Don't include isnanl.h.
30976         * lib/cosl.c: Likewise.
30977         * lib/ldexpl.c: Likewise.
30978         * lib/logl.c: Likewise.
30979         * lib/sinl.c: Likewise.
30980         * lib/sqrtl.c: Likewise.
30981         * lib/tanl.c: Likewise.
30982
30983         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
30984         * lib/isnanf.h: Remove file.
30985         * lib/isnand.h: Remove file.
30986         * lib/isnanl.h: Remove file.
30987         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
30988         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
30989         macros.
30990         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
30991         HAVE_ISNANF, don't define it as a C macro.
30992         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
30993         HAVE_ISNAND, don't define it as a C macro.
30994         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
30995         HAVE_ISNANL, don't define it as a C macro.
30996         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
30997         HAVE_ISNAN[FDL].
30998         * modules/isnanf (Files): Remove lib/isnanf.h.
30999         (Depends-on): Add math.
31000         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
31001         (Include): Specify <math.h> instead of isnanf.h.
31002         * modules/isnand (Files): Remove lib/isnand.h.
31003         (Depends-on): Add math.
31004         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
31005         (Include): Specify <math.h> instead of isnand.h.
31006         * modules/isnanl (Files): Remove lib/isnanl.h.
31007         (Depends-on): Add math.
31008         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
31009         (Include): Specify <math.h> instead of isnanl.h.
31010         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
31011         HAVE_ISNAN[FDL].
31012         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
31013         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
31014         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
31015         * NEWS: Mention the change.
31016
31017 2008-10-18  Bruno Haible  <bruno@clisp.org>
31018
31019         Add getusershell(), setusershell(), endusershell() declarations to
31020         <unistd.h>.
31021         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
31022         declarations.
31023         * lib/getusershell.c: Include unistd.h.
31024         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
31025         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
31026         HAVE_GETUSERSHELL.
31027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
31028         and HAVE_GETUSERSHELL.
31029         * modules/getusershell (Depends-on): Add unistd, extensions.
31030         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31031         (Include): Specify <unistd.h>.
31032         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
31033         HAVE_GETUSERSHELL.
31034
31035 2008-10-18  Bruno Haible  <bruno@clisp.org>
31036
31037         Add a getloadavg() declaration to <stdlib.h>.
31038         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
31039         getloadavg declaration.
31040         (getloadavg): New declaration.
31041         * lib/getloadavg.c: Include <stdlib.h> first.
31042         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
31043         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
31044         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
31045         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
31046         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
31047         * modules/getloadavg (Depends-on): Add stdlib, extensions.
31048         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
31049         (Include): Specify <stdlib.h>.
31050         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
31051         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
31052
31053 2008-10-18  Bruno Haible  <bruno@clisp.org>
31054
31055         * lib/dirchownmod.c: Don't include lchmod.h.
31056
31057         Move the lchmod() declaration to <sys/stat.h>.
31058         * lib/lchmod.h: Remove file.
31059         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
31060         (lchmod): New declaration, moved here from lib/lchown.h.
31061         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
31062         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
31063         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
31064         and HAVE_LCHMOD.
31065         * modules/lchmod (Files): Remove lib/lchmod.h.
31066         (Depends-on): Add sys_stat, extensions.
31067         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
31068         (Include): Specify <sys/stat.h> instead of lchmod.h.
31069         * modules/sys_stat (Depends-on): Add link-warning.
31070         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
31071         definition of GL_LINK_WARNING.
31072         * NEWS: Mention the change.
31073
31074 2008-10-18  Bruno Haible  <bruno@clisp.org>
31075
31076         * lib/fchdir.c: Don't include dirfd.h.
31077         * lib/fts.c: Likewise.
31078         * lib/getcwd.c: Likewise.
31079         * lib/glob.c: Likewise.
31080
31081         Move the dirfd() declaration to <dirent.h>.
31082         * lib/dirfd.h: Remove file.
31083         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
31084         (dirfd): New declaration.
31085         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
31086         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
31087         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
31088         HAVE_DECL_DIRFD.
31089         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
31090         HAVE_DECL_DIRFD.
31091         * modules/dirfd (Files): Remove lib/dirfd.h.
31092         (Depends-on): Add dirent, extensions.
31093         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
31094         (Include): Specify <dirent.h> instead of dirfd.h.
31095         * modules/dirent (Depends-on): Add link-warning.
31096         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
31097         definition of GL_LINK_WARNING.
31098         * NEWS: Mention the change.
31099
31100 2008-10-18  Bruno Haible  <bruno@clisp.org>
31101
31102         Move the euidaccess() declaration to <unistd.h>.
31103         * lib/euidaccess.h: Remove file.
31104         * lib/unistd.in.h (euidaccess): New declaration.
31105         * lib/euidaccess.c: Don't include euidaccess.h.
31106         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
31107         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
31108         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
31109         and HAVE_EUIDACCESS.
31110         * modules/euidaccess (Files): Remove lib/euidaccess.h.
31111         (Depends-on): Add unistd.
31112         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31113         (Include): Specify <unistd.h> instead of euidaccess.h.
31114         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
31115         HAVE_EUIDACCESS.
31116         * NEWS: Mention the change.
31117
31118 2008-10-18  Bruno Haible  <bruno@clisp.org>
31119
31120         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
31121
31122         Move the getdomainname() declaration to <unistd.h>.
31123         * lib/getdomainname.h: Remove file.
31124         * lib/unistd.in.h (getdomainname): New declaration.
31125         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
31126         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
31127         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
31128         HAVE_GETDOMAINNAME.
31129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31130         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
31131         * modules/getdomainname (Files): Remove lib/getdomainname.h.
31132         (Depends-on): Add unistd, extensions.
31133         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
31134         (Includes): Specify <unistd.h> instead of getdomainname.h.
31135         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
31136         HAVE_GETDOMAINNAME.
31137         * NEWS: Mention the change.
31138
31139 2008-10-18  Bruno Haible  <bruno@clisp.org>
31140
31141         * modules/dirent: New file.
31142         * m4/dirent_h.m4: New file.
31143         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
31144         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
31145         * modules/fchdir (Files): Remove lib/dirent.in.h.
31146         (Depends-on): Add dirent.
31147         (Makefile.am): Move rules to modules/dirent.
31148         * doc/posix-headers/dirent.texi: Mention the new module.
31149
31150 2008-10-18  Bruno Haible  <bruno@clisp.org>
31151
31152         Avoid -Wunused-parameter warnings in public gnulib header files.
31153         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
31154         macro.
31155         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
31156
31157 2008-10-18  Bruno Haible  <bruno@clisp.org>
31158
31159         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
31160         * doc/glibc-functions/error.texi: Mention the module 'error'.
31161         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
31162         * doc/glibc-functions/getdomainname.texi: Mention the module
31163         'getdomainname'.
31164         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
31165         * doc/glibc-functions/getpagesize.texi: Mention the module
31166         'getpagesize'.
31167         * doc/glibc-functions/getusershell.texi: Mention the module
31168         'getusershell'.
31169         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
31170         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
31171         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
31172         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
31173         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
31174         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
31175         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
31176         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
31177         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
31178         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
31179         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
31180         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
31181         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
31182         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
31183
31184 2008-10-17  Bruno Haible  <bruno@clisp.org>
31185
31186         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
31187         HP-UX and IRIX, use -0.0L.
31188         * tests/test-ceill.c (minus_zero): Likewise.
31189         * tests/test-floorl.c (minus_zero): Likewise.
31190         * tests/test-frexpl.c (minus_zero): Likewise.
31191         * tests/test-isnan.c (minus_zerol): Likewise.
31192         * tests/test-isnanl.h (minus_zero): Likewise.
31193         * tests/test-ldexpl.c (minus_zero): Likewise.
31194         * tests/test-roundl.c (minus_zero): Likewise.
31195         * tests/test-signbit.c (minus_zerol): Likewise.
31196         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31197         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31198         * tests/test-truncl.c (minus_zero): Likewise.
31199         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31200         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31201         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
31202         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
31203
31204 2008-10-17  Bruno Haible  <bruno@clisp.org>
31205
31206         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
31207         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
31208         that it gets activated only for gcc >= 3.0.
31209         * lib/dirent.in.h: Likewise.
31210         * lib/errno.in.h: Likewise.
31211         * lib/fcntl.in.h: Likewise.
31212         * lib/float.in.h: Likewise.
31213         * lib/iconv.in.h: Likewise.
31214         * lib/inttypes.in.h: Likewise.
31215         * lib/locale.in.h: Likewise.
31216         * lib/math.in.h: Likewise.
31217         * lib/netdb.in.h: Likewise.
31218         * lib/netinet_in.in.h: Likewise.
31219         * lib/search.in.h: Likewise.
31220         * lib/signal.in.h: Likewise.
31221         * lib/spawn.in.h: Likewise.
31222         * lib/stdarg.in.h: Likewise.
31223         * lib/stdint.in.h: Likewise.
31224         * lib/stdio.in.h: Likewise.
31225         * lib/stdlib.in.h: Likewise.
31226         * lib/string.in.h: Likewise.
31227         * lib/strings.in.h: Likewise.
31228         * lib/sys_file.in.h: Likewise.
31229         * lib/sys_ioctl.in.h: Likewise.
31230         * lib/sys_select.in.h: Likewise.
31231         * lib/sys_socket.in.h: Likewise.
31232         * lib/sys_stat.in.h: Likewise.
31233         * lib/sys_time.in.h: Likewise.
31234         * lib/sysexits.in.h: Likewise.
31235         * lib/time.in.h: Likewise.
31236         * lib/unistd.in.h: Likewise.
31237         * lib/wchar.in.h: Likewise.
31238         * lib/wctype.in.h: Likewise.
31239         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
31240
31241 2008-10-17  Jim Meyering  <meyering@redhat.com>
31242
31243         ignore-value: don't depend on inline module
31244         * modules/ignore-value (Depends-on): Remove 'inline'.
31245         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
31246         Suggestion from Bruno Haible.
31247
31248 2008-10-17  Bruno Haible  <bruno@clisp.org>
31249
31250         New implementation of condition variables for Win32.
31251         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
31252         (gl_linked_waitqueue_t): New type.
31253         (gl_cond_t): Use it.
31254         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
31255         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
31256         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
31257         (glthread_cond_init_func, glthread_cond_wait_func,
31258         glthread_cond_timedwait_func, glthread_cond_signal_func,
31259         glthread_cond_broadcast_func, glthread_cond_destroy_func):
31260         Reimplemented on the basis of gl_linked_waitqueue_t.
31261         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
31262         gl_waitqueue_t.
31263         (gl_rwlock_t): Update.
31264         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
31265
31266 2008-10-17  Simon Josefsson  <simon@josefsson.org>
31267
31268         * modules/recvfrom (Depends-on): Add dependency on getpeername.
31269         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
31270
31271 2008-10-17  Jim Meyering  <meyering@redhat.com>
31272
31273         ignore-value: new module
31274         * modules/ignore-value: New file.
31275         * lib/ignore-value.h: New file.
31276         * MODULES.html.sh (Compiler warning management): New section,
31277         just for this module.  More to come.
31278
31279 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
31280
31281         open-safer.c: avoid 'signed and unsigned in conditional...' warning
31282         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
31283         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
31284
31285 2008-10-16  Jim Meyering  <meyering@redhat.com>
31286
31287         openat-die.c: avoid 'no previous prototype' warning
31288         * lib/openat-die.c: Include "openat.h".
31289         Reported by Reuben Thomas <rrt@sc3d.org>.
31290
31291 2008-10-16  Simon Josefsson  <simon@josefsson.org>
31292
31293         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
31294         * lib/netdb.in.h: Fix typo.
31295         Reported by Bruno Haible  <bruno@clisp.org>
31296
31297         * lib/netdb.in.h: Include sys/socket.h for platforms without
31298         netdb.h, to get structures like hostent on MinGW.
31299         * modules/netdb (Depends-on): Add sys_socket.
31300
31301 2008-10-15  Simon Josefsson  <simon@josefsson.org>
31302
31303         * modules/netdb, modules/netdb-tests: New file.
31304         * m4/netdb_h.m4: New file.
31305         * lib/netdb.in.h: Add, currently just an empty file pending
31306         definitions.
31307         * tests/test-netdb.c: New file.
31308         * doc/posix-headers/netdb.texi: Mention that we replace it if
31309         needed.
31310         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31311         netdb.
31312
31313 2008-10-15  Simon Josefsson  <simon@josefsson.org>
31314
31315         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
31316         with code.
31317
31318 2008-10-13  Bruno Haible  <bruno@clisp.org>
31319
31320         * lib/glthread/cond.c (glthread_cond_wait_func,
31321         glthread_cond_timedwait_func): Add a comment.
31322
31323 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
31324
31325         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
31326         * tests/test-select.c: Likewise,
31327
31328 2008-10-13  Bruno Haible  <bruno@clisp.org>
31329
31330         * lib/glthread/cond.c (glthread_cond_wait_func,
31331         glthread_cond_timedwait_func): Fix variable name.
31332         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
31333
31334 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
31335
31336         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
31337         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
31338         struct sockaddr.sa_len.
31339         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
31340
31341 2008-10-13  Simon Josefsson  <simon@josefsson.org>
31342
31343         * build-aux/pmccabe2html: Add css and css_url parameters.
31344
31345 2008-10-12  Bruno Haible  <bruno@clisp.org>
31346
31347         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
31348         calling aclx_get.
31349         Reported by Rainer Tammer <tammer@tammer.net>.
31350
31351 2008-10-12  Bruno Haible  <bruno@clisp.org>
31352
31353         Use msvcrt aware primitives for creation/termination of Win32 threads.
31354         * lib/glthread/thread.c: Include <process.h>.
31355         (glthread_create_func): Use _beginthreadex instead of CreateThread.
31356         (wrapper_func): Update signature.
31357         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
31358
31359 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
31360             Bruno Haible  <bruno@clisp.org>
31361
31362         Provide a Win32 implementation of the 'cond' module.
31363         * lib/glthread/cond.h [USE_WIN32]: New implementation.
31364         * lib/glthread/cond.c (glthread_cond_init_func,
31365         glthread_cond_wait_func, glthread_cond_timedwait_func,
31366         glthread_cond_signal_func, glthread_cond_broadcast_func,
31367         glthread_cond_destroy_func) [USE_WIN32]: New functions.
31368         * modules/cond (Dependencies): Add gettimeofday.
31369
31370 2008-10-11  Bruno Haible  <bruno@clisp.org>
31371
31372         Make sleep work on older versions of mingw.
31373         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
31374         only whether it exists.
31375         * doc/posix-functions/sleep.texi: Mention the problem with older
31376         versions of mingw.
31377
31378 2008-10-11  Bruno Haible  <bruno@clisp.org>
31379
31380         New module 'shutdown'.
31381         * modules/shutdown: New file.
31382         * lib/sys_socket.in.h (shutdown): New declaration.
31383         * lib/winsock.c (shutdown): New function.
31384         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
31385         GNULIB_SHUTDOWN.
31386         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
31387         * doc/posix-functions/shutdown.texi: Document the new module.
31388
31389 2008-10-11  Jim Meyering  <meyering@redhat.com>
31390
31391         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
31392
31393 2008-10-11  Bruno Haible  <bruno@clisp.org>
31394
31395         New module 'fclose'.
31396         * modules/fclose: New file.
31397         * lib/stdio.in.h (fclose): New declaration.
31398         * lib/fclose.c: New file.
31399         * m4/fclose.m4: New file.
31400         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
31401         REPLACE_FCLOSE.
31402         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
31403         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
31404         REPLACE_FCLOSE.
31405         * modules/close (Depends-on): fclose.
31406         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
31407
31408 2008-10-11  Bruno Haible  <bruno@clisp.org>
31409
31410         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
31411         set errno and don't call _close.
31412
31413 2008-10-10  Bruno Haible  <bruno@clisp.org>
31414
31415         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
31416         ACL, not afterwards. Fixes test failure on Cygwin.
31417
31418 2008-10-09  Ben Pfaff  <blp@gnu.org>
31419
31420         * build-aux/announce-gen: Fix gnulib version related part of usage
31421         message.  Die with a useful error message if no tarballs are
31422         found.
31423
31424 2008-10-10  Jim Meyering  <meyering@redhat.com>
31425
31426         bootstrap: use git's --depth=N option only if it's supported
31427         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
31428         recognize the --depth option.  Reported by Pádraig Brady.
31429
31430 2008-10-09  Bruno Haible  <bruno@clisp.org>
31431
31432         New module 'ioctl'.
31433         * modules/ioctl: New file.
31434         * lib/sys_socket.in.h (ioctl): Remove declaration.
31435         * lib/winsock.c: Include <sys/ioctl.h>.
31436         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
31437         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
31438         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
31439         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
31440         * doc/posix-functions/ioctl.texi: Mention the new module.
31441
31442 2008-10-09  Bruno Haible  <bruno@clisp.org>
31443
31444         New module 'sys_ioctl'.
31445         * lib/sys_ioctl.in.h: New file.
31446         * m4/sys_ioctl_h.m4: New file.
31447         * modules/sys_ioctl: New file.
31448         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
31449
31450 2008-10-09  Bruno Haible  <bruno@clisp.org>
31451
31452         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
31453         * lib/winsock.c: Include <stdarg.h>.
31454         (rpl_ioctl): Change to second argument 'int' and then varargs.
31455
31456 2008-10-09  Bruno Haible  <bruno@clisp.org>
31457
31458         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
31459         when the sys_socket module is present and the system has <winsock2.h>.
31460
31461 2008-10-09  Bruno Haible  <bruno@clisp.org>
31462
31463         * doc/posix-functions/close.texi: Mention module 'close' instead of
31464         module 'sys_socket'.
31465
31466 2008-10-09  Bruno Haible  <bruno@clisp.org>
31467
31468         * doc/glibc-headers/sys_ioctl.texi: New file.
31469         * doc/gnulib.texi: Include it.
31470
31471 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31472             Bruno Haible  <bruno@clisp.org>
31473
31474         Combine the two replacements of 'close'.
31475         * lib/sys_socket.in.h (close): Define to a reminder to include
31476         <unistd.h>.
31477         (_gl_close_fd_maybe_socket): New declaration.
31478         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
31479         * lib/winsock.c (close): Remove undefinition.
31480         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
31481         needed for the gnulib module 'close'.
31482         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
31483         define to an error symbol or to a warning, if suitable.
31484         * lib/close.c: Include <sys/socket.h>.
31485         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
31486         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
31487         UNISTD_H_HAVE_WINSOCK2_H.
31488         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
31489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31490         UNISTD_H_HAVE_WINSOCK2_H.
31491         * modules/sys_socket (Files): Add m4/unistd_h.m4.
31492         (configure.ac): Set a module indicator.
31493         (Makefile.am): Substitute GNULIB_CLOSE.
31494         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
31495         * modules/poll-tests (Depends-on): Add close.
31496         * modules/select-tests (Depends-on): Likewise.
31497
31498 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31499             Bruno Haible  <bruno@clisp.org>
31500
31501         New module 'close'.
31502         * modules/close: New file.
31503         * lib/unistd.in.h (close): Move declaration out of the
31504         FCHDIR_REPLACEMENT scope.
31505         (_gl_unregister_fd): New declaration.
31506         * lib/close.c: New file.
31507         * lib/fchdir.c (rpl_close): Remove function.
31508         * m4/close.m4: New file.
31509         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
31510         close.
31511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
31512         REPLACE_CLOSE.
31513         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
31514         REPLACE_CLOSE.
31515         * modules/fchdir (Depends-on): Add close.
31516
31517 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31518             Bruno Haible  <bruno@clisp.org>
31519
31520         * lib/fcntl.in.h (open): Simplify conditionals.
31521         (_gl_register_fd): New declaration.
31522         * lib/fchdir.c (rpl_open): Remove function.
31523         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
31524         also.
31525         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
31526         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
31527         open.
31528
31529 2008-10-09  Jim Meyering  <meyering@redhat.com>
31530
31531         GNUmakefile: use the more name-space-friendly "_version"
31532         * top/GNUmakefile (_dummy): Update.
31533         (_version): Rename from "version".
31534
31535 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31536             Bruno Haible  <bruno@clisp.org>
31537
31538         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
31539         rpl_close.
31540         (_gl_register_fd): New function, extracted from rpl_open.
31541         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
31542         (rpl_open, rpl_opendir): Use _gl_register_fd.
31543
31544 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
31545
31546         Fix organization of 'open' replacement.
31547         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
31548         (gl_FUNC_OPEN): Use it.
31549         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
31550
31551 2008-10-08  Bruno Haible  <bruno@clisp.org>
31552
31553         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
31554
31555 2008-10-08  Simon Josefsson  <simon@josefsson.org>
31556
31557         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
31558         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
31559         listen).
31560
31561 2008-10-08  Eric Blake  <ebb9@byu.net>
31562
31563         GNUmakefile: add 'make version' target
31564         * top/GNUmakefile (_curr-ver): Split version update rules...
31565         (version): ...into a target.
31566
31567 2008-10-07  Bruno Haible  <bruno@clisp.org>
31568
31569         Use a more portable replacement expression for -0.0L.
31570         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
31571         instead of -0.0L. Fix m4 quotation.
31572
31573         * tests/test-signbit.c: Include <float.h>.
31574         (minus_zero): New variable.
31575         (test_signbitl): Use minus_zero instead of -zero.
31576         * modules/signbit-tests (Depends-on): Add float.
31577
31578         * tests/test-ceill.c: Include <float.h>.
31579         (zero): Remove variable.
31580         (minus_zero): New variable.
31581         (main): Use minus_zero instead of -zero.
31582         * modules/ceill-tests (Depends-on): Add float.
31583
31584         * tests/test-floorl.c: Include <float.h>.
31585         (zero): Remove variable.
31586         (minus_zero): New variable.
31587         (main): Use minus_zero instead of -zero.
31588         * modules/floorl-tests (Depends-on): Add float.
31589
31590         * tests/test-roundl.c: Include <float.h>.
31591         (zero): Remove variable.
31592         (minus_zero): New variable.
31593         (main): Use minus_zero instead of -zero.
31594         * modules/roundl-tests (Depends-on): Add float.
31595
31596         * tests/test-truncl.c: Include <float.h>.
31597         (zero): Remove variable.
31598         (minus_zero): New variable.
31599         (main): Use minus_zero instead of -zero.
31600         * modules/truncl-tests (Depends-on): Add float.
31601
31602         * tests/test-frexpl.c (zero): Remove variable.
31603         (minus_zero): New variable.
31604         (main): Use minus_zero instead of -zero.
31605         * modules/frexpl-tests (Depends-on): Add float.
31606
31607         * tests/test-isnan.c (zerol): Remove variable.
31608         (minus_zerol): New variable.
31609         (test_long_double): Use minus_zerol instead of -zerol.
31610         * modules/isnan-tests (Depends-on): Add float.
31611
31612         * tests/test-isnanl.h (zero): Remove variable.
31613         (minus_zero): New variable.
31614         (main): Use minus_zero instead of -zero.
31615         * modules/isnanl-nolibm-tests (Depends-on): Add float.
31616         * modules/isnanl-tests (Depends-on): Add float.
31617
31618         * tests/test-ldexpl.c (zero): Remove variable.
31619         (minus_zero): New variable.
31620         (main): Use minus_zero instead of -zero.
31621         * modules/ldexpl-tests (Depends-on): Add float.
31622
31623         * tests/test-snprintf-posix.h (zerol): Remove variable.
31624         (minus_zerol): New variable.
31625         (test_function): Use minus_zerol instead of -zerol.
31626         * modules/snprintf-posix-tests (Depends-on): Add float.
31627         * modules/vsnprintf-posix-tests (Depends-on): Add float.
31628
31629         * tests/test-sprintf-posix.h (zerol): Remove variable.
31630         (minus_zerol): New variable.
31631         (test_function): Use minus_zerol instead of -zerol.
31632         * modules/sprintf-posix-tests (Depends-on): Add float.
31633         * modules/vsprintf-posix-tests (Depends-on): Add float.
31634
31635         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
31636         (minus_zerol): New variable.
31637         (test_function): Use minus_zerol instead of -zerol.
31638         * modules/vasnprintf-posix-tests (Depends-on): Add float.
31639
31640         * tests/test-vasprintf-posix.c (zerol): Remove variable.
31641         (minus_zerol): New variable.
31642         (test_function): Use minus_zerol instead of -zerol.
31643         * modules/vasprintf-posix-tests (Depends-on): Add float.
31644
31645 2008-10-07  Simon Josefsson  <simon@josefsson.org>
31646
31647         * MODULES.html.sh (Support for building documentation): Mention
31648         pmccabe2html.  Sort entries.
31649
31650         Add pmccabe2html module, from gnupdf.
31651         * build-aux/pmccabe.css: New file.
31652         * build-aux/pmccabe2html: New file.
31653         * m4/pmccabe2html.m4: New file.
31654         * modules/pmccabe2html: New file.
31655
31656 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
31657
31658         flock: new module
31659         * MODULES.html.sh: Add to list of modules.
31660         * lib/flock.c: flock implementation for Windows and Unix systems
31661         which have fcntl.
31662         * doc/glibc-functions/flock.texi: Update documentation.
31663         * lib/sys_file.in.h: <sys/file.h> header file.
31664         * m4/flock.m4: M4 macros.
31665         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
31666         * modules/flock: flock module.
31667         * modules/flock-tests: flock tests module.
31668         * modules/sys_file: sys/file.h module.
31669         * tests/test-flock.c: test suite for flock.
31670
31671 2008-10-06  Jim Meyering  <meyering@redhat.com>
31672
31673         bootstrap: check for LT_INIT more portably still ;-)
31674         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
31675         Spotted by Bruno Haible.
31676
31677 2008-10-06  Eric Blake  <ebb9@byu.net>
31678
31679         test-signbit: avoid tripping Irix cc bug on -0.0L
31680         * tests/test-signbit.c (minus_zerol): Delete, and replace with
31681         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
31682         entire testsuite consistent and avoids an Irix 6.2 bug.
31683
31684 2008-10-05  Bruno Haible  <bruno@clisp.org>
31685             Jim Meyering  <jim@meyering.net>
31686
31687         Add an option for ignoring EPIPE during close_stdout.
31688         * lib/closeout.h: Include <stdbool.h>.
31689         (close_stdout_set_ignore_EPIPE): New declaration.
31690         * lib/closeout.c: Include <stdbool.h>.
31691         (ignore_EPIPE): New variable.
31692         (close_stdout_set_ignore_EPIPE): New function.
31693         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
31694         * lib/close-stream.c (close_stream): Mention the possible EPIPE
31695         failure.
31696         * modules/closeout (Depends-on): Add stdbool.
31697
31698 2008-10-05  Bruno Haible  <bruno@clisp.org>
31699
31700         * modules/accept: New file.
31701         * modules/bind: New file.
31702         * modules/connect: New file.
31703         * modules/getpeername: New file.
31704         * modules/getsockname: New file.
31705         * modules/getsockopt: New file.
31706         * modules/listen: New file.
31707         * modules/recv: New file.
31708         * modules/recvfrom: New file.
31709         * modules/send: New file.
31710         * modules/sendto: New file.
31711         * modules/setsockopt: New file.
31712         * modules/socket: New file.
31713         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
31714         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
31715         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
31716         the particular module is requested. Add a link warning when the
31717         particular module is not requested.
31718         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
31719         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
31720         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
31721         the particular module is requested.
31722         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
31723         gl_SYS_SOCKET_H_DEFAULTS): New macros.
31724         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
31725         * modules/sys_socket (Depends-on): Add link-warning.
31726         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
31727         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
31728         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
31729         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
31730         GL_LINK_WARNING.
31731         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
31732         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
31733         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
31734         * doc/posix-functions/getpeername.texi: Mention the new module
31735         'getpeername'.
31736         * doc/posix-functions/getsockname.texi: Mention the new module
31737         'getsockname'.
31738         * doc/posix-functions/getsockopt.texi: Mention the new module
31739         'getsockopt'.
31740         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
31741         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
31742         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
31743         * doc/posix-functions/send.texi: Mention the new module 'send'.
31744         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
31745         * doc/posix-functions/setsockopt.texi: Mention the new module
31746         'setsockopt'.
31747         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
31748         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
31749         listen, connect, accept.
31750         * modules/select-tests (Depends-on): Likewise.
31751
31752 2008-10-05  Bruno Haible  <bruno@clisp.org>
31753
31754         * lib/winsock.c (strerror): Remove unused #undef.
31755         (rpl_close): Remove unused local variable.
31756
31757         * modules/sys_socket (Depends-on); Add errno.
31758
31759 2008-10-05  Bruno Haible  <bruno@clisp.org>
31760
31761         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
31762         (select): Add a link warning when the 'select' module is not used.
31763         * modules/sys_select (Depends-on): Add link-warning.
31764         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
31765         Suggested by Paolo Bonzini.
31766
31767 2008-10-05  Jim Meyering  <meyering@redhat.com>
31768
31769         bootstrap: check for LT_INIT more portably
31770         * build-aux/bootstrap: Avoid using grep -E, since it's not
31771         portable enough.  Suggestion from Bruno Haible.
31772
31773 2008-10-05  Bruno Haible  <bruno@clisp.org>
31774
31775         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
31776         as being fixed by gnulib.
31777
31778 2008-10-05  Bruno Haible  <bruno@clisp.org>
31779
31780         * modules/select-tests: New file, mostly copied from
31781         modules/sys_select-tests.
31782         * tests/test-select.c: New file, mostly copied from
31783         tests/test-sys_select.c.
31784         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
31785         * modules/sys_select-tests (Depends-on): Remove all dependencies.
31786         (Makefile.am): Remove test_sys_select_LDADD.
31787
31788         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
31789         to an undefined symbol, for an error message.
31790         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
31791         (gl_SYS_SELECT_H_DEFAULTS): New macro.
31792         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
31793         winsock-select.c here.
31794         * modules/sys_select (Files): Remove lib/winsock-select.c.
31795         (Depends-on): Remove alloca.
31796         (Makefile.am): Substitute GNULIB_SELECT.
31797         * modules/select: New file.
31798         * doc/posix-functions/select.texi: Update.
31799
31800 2008-10-05  Bruno Haible  <bruno@clisp.org>
31801
31802         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
31803         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
31804         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
31805         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
31806         getdtablesize.
31807         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
31808         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
31809
31810 2008-10-05  Bruno Haible  <bruno@clisp.org>
31811
31812         * modules/getdtablesize-tests: New file.
31813         * tests/test-getdtablesize.c: New file.
31814
31815         New module 'getdtablesize'.
31816         * lib/unistd.in.h (getdtablesize): New declaration.
31817         * lib/getdtablesize.c: New file.
31818         * m4/getdtablesize.m4: New file.
31819         * modules/getdtablesize: New file.
31820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31821         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
31822         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
31823         HAVE_GETDTABLESIZE.
31824         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
31825
31826 2008-10-05  Bruno Haible  <bruno@clisp.org>
31827
31828         * modules/sched (Makefile.am): Fix typo.
31829         Reported by Simon Josefsson.
31830
31831 2008-10-05  Jim Meyering  <meyering@redhat.com>
31832
31833         bootstrap: check for LT_INIT, too
31834         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
31835         are deprecated.  Suggestion from Ralf Wildenhues.
31836
31837 2008-10-05  Bruno Haible  <bruno@clisp.org>
31838
31839         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
31840         overriding them by ours.
31841         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
31842
31843 2008-10-05  Jim Meyering  <meyering@redhat.com>
31844
31845         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
31846         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
31847         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
31848
31849 2008-10-04  Bruno Haible  <bruno@clisp.org>
31850
31851         * modules/dup2 (License): Change to LGPLv2+.
31852         * modules/sleep (License): Likewise.
31853         * modules/perror (License): Likewise.
31854         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
31855         Blake.
31856         * modules/signal (License): Likewise.
31857         * modules/sigprocmask (License): Likewise.
31858         * modules/raise (License): Change to LGPLv2+, with approval by Jim
31859         Meyering.
31860
31861 2008-10-04  Bruno Haible  <bruno@clisp.org>
31862
31863         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
31864         Reported by Rainer Tammer <tammer@tammer.net>.
31865
31866 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
31867             Bruno Haible  <bruno@clisp.org>
31868
31869         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
31870         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
31871         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
31872
31873 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
31874
31875         filevercmp: new module
31876         * lib/filevercmp.h: New function filevercmp comparing version strings.
31877         * lib/filevercmp.c: Implementation of filevercmp function.
31878         * modules/filevercmp: Module metadata.
31879         * tests/test-filevercmp.c: Unit test for new module.
31880         * modules/filevercmp-tests: Unit test metadata.
31881         * MODULES.html.sh: Add filevercmp module.
31882
31883 2008-10-03  Bruno Haible  <bruno@clisp.org>
31884
31885         * lib/c-ctype.h: Add comment.
31886         Reported by Jim Meyering.
31887
31888 2008-10-02  Bruno Haible  <bruno@clisp.org>
31889
31890         * modules/posix_spawn-internal (Depends-on): Add 'open'.
31891
31892 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
31893
31894         * build-aux/bootstrap: Allow renaming bootstrap, and change the
31895         name of bootstrap.conf accordingly.
31896
31897 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
31898
31899         * build-aux/bootstrap: Install git-merge-changelog configuration
31900         items into .gitconfig if needed.
31901
31902 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
31903
31904         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
31905         git repository, and initialize/update it accordingly.
31906
31907 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
31908
31909         * modules/fsync-tests: New file.
31910         * tests/test-fsync.c: New file.
31911
31912         New module 'fsync'.
31913         * lib/fsync.c: New file.
31914         * m4/fsync.m4: New file.
31915         * modules/fsync: New file.
31916         * lib/unistd.in.h (fsync): New declaration.
31917         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
31918         GNULIB_FSYNC and HAVE_FSYNC.
31919         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
31920         * MODULES.html.sh (posix_functions): Add fsync.
31921         * doc/posix-functions/fsync.texi: Mention the new module.
31922
31923 2008-10-02  Jim Meyering  <meyering@redhat.com>
31924
31925         fts.c: sync with similar code from coreutils' remove.c
31926         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
31927         Guard also with "#if defined __linux__", since for now at least,
31928         this code is Linux-kernel-specific.
31929
31930 2008-10-02  Jim Meyering  <meyering@redhat.com>
31931
31932         fts: bug fixes
31933         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
31934         Include <sys/vfs.h>, not <sys/statfs.h>.
31935
31936         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
31937         Include <sys/vfs.h>, not <sys/statfs.h>.
31938
31939 2008-10-01  Bruno Haible  <bruno@clisp.org>
31940
31941         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
31942         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
31943         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
31944         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
31945         * doc/posix-functions/posix_spawnp.texi: Likewise.
31946         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
31947         whether posix_spawn actually works.
31948         * m4/pipe.m4 (gl_PIPE): Likewise.
31949         * modules/execute (Files): Add m4/posix_spawn.m4.
31950         * modules/pipe (Files): Add m4/posix_spawn.m4.
31951         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
31952
31953 2008-10-01  Jim Meyering  <meyering@redhat.com>
31954
31955         remove trailing spaces
31956         * NEWS: Likewise.
31957         * lib/poll.c (poll): Likewise.
31958         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
31959         * lib/winsock.c (rpl_close): Likewise.
31960         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
31961         * modules/yield: Likewise.
31962         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
31963         * tests/test-sys_select.c (connect_to_socket): Likewise.
31964
31965         fts.c: adjust a new interface to be more generally useful
31966         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
31967         (fts_build): Adjust caller.
31968
31969 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31970
31971         * modules/cond-tests: New file.
31972         * tests/test-cond.c: New file.
31973
31974 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31975             Bruno Haible  <bruno@clisp.org>
31976
31977         * modules/cond (Dependencies): Add errno, time.
31978         * lib/glthread/cond.h: Include <time.h>.
31979         (gl_cond_define, gl_cond_define_initialized): Use the same definition
31980         across platforms.
31981
31982 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31983             Bruno Haible  <bruno@clisp.org>
31984
31985         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
31986
31987 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31988             Bruno Haible  <bruno@clisp.org>
31989
31990         * modules/tls-tests (Depends-on): Add thread, yield.
31991         (configure.ac): Remove all checks.
31992         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
31993         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
31994         gl_thread_self): Remove definitions. Include glthread/thread.h and
31995         glthread/yield.h instead.
31996         (test_tls): Pass an additional NULL argument to gl_thread_join.
31997
31998 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31999             Bruno Haible  <bruno@clisp.org>
32000
32001         * modules/lock-tests (Depends-on): Add thread, yield.
32002         (configure.ac): Remove all checks.
32003         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
32004         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
32005         gl_thread_self): Remove definitions. Include glthread/thread.h and
32006         glthread/yield.h instead.
32007         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
32008         additional NULL argument to gl_thread_join.
32009
32010 2008-09-30  Bruno Haible  <bruno@clisp.org>
32011
32012         Fix the Win32 implementation of the 'thread' module.
32013         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
32014         pointer type.
32015         (gl_thread_self): Invoke gl_thread_self_func.
32016         (gl_thread_self_func): New declaration.
32017         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
32018         (do_init_self_key, init_self_key): New functions.
32019         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
32020         Remove some fields.
32021         (running_threads, running_lock): Remove variables.
32022         (get_current_thread_handle): New function.
32023         (gl_thread_self_func, wrapper_func, glthread_create_func,
32024         glthread_join_func, gl_thread_exit_func): Largely rewritten and
32025         simplified.
32026
32027 2008-09-30  Bruno Haible  <bruno@clisp.org>
32028
32029         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
32030         files.
32031
32032 2008-09-30  Jim Meyering  <meyering@redhat.com>
32033
32034         fts.m4: correct the test for statfs.f_type
32035         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
32036         when checking for statfs.f_type.
32037
32038 2008-09-15  Simon Josefsson  <simon@josefsson.org>
32039
32040         tests: avoid some compiler warnings
32041         * tests/test-memchr.c (main): Pass NULL indirectly.
32042         * tests/test-getdate.c (main): Remove unused variable 'ret'.
32043
32044 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
32045
32046         getdate.y: disallow countable dayshifts like "4 yesterday ago"
32047         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
32048         exactly specified dayshifts.
32049         (dayshift): New rule.
32050         (rel): Add dayshift.
32051         (relative_time_table) [tomorrow, yesterday, today, now]:
32052         Use tDAY_SHIFT in place of tDAY_UNIT.
32053         * tests/test-getdate.c: Add tests for now-disallowed countable
32054         dayshifts, e.g., "4 yesterday ago".
32055
32056 2008-09-29  Bruno Haible  <bruno@clisp.org>
32057
32058         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
32059         * tests/test-posix_spawn1.in.sh: Renamed from
32060         tests/test-posix_spawn.in.sh.
32061         * tests/test-posix_spawn2.c: New file.
32062         * tests/test-posix_spawn2.in.sh: New file.
32063         * modules/posix_spawnp-tests (Files): Update.
32064         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
32065
32066 2008-09-29  Bruno Haible  <bruno@clisp.org>
32067
32068         Propagate effects of putenv/setenv/unsetenv to child processes.
32069         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
32070         * lib/pipe.c (create_pipe): Likewise.
32071
32072 2008-09-29  Bruno Haible  <bruno@clisp.org>
32073
32074         Enable use of shell scripts as executables in mingw.
32075         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
32076         run the program as a shell script.
32077         * lib/pipe.c (create_pipe): Likewise.
32078         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
32079         resulting array.
32080
32081 2008-09-29  Eric Blake  <ebb9@byu.net>
32082
32083         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
32084
32085 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
32086
32087         * doc/posix-functions/accept.texi: Update mingw problems.
32088         * doc/posix-functions/bind.texi: Update mingw problems.
32089         * doc/posix-functions/close.texi: Update mingw problems.
32090         * doc/posix-functions/connect.texi: Update mingw problems.
32091         * doc/posix-functions/getpeername.texi: Update mingw problems.
32092         * doc/posix-functions/getsockname.texi: Update mingw problems.
32093         * doc/posix-functions/getsockopt.texi: Update mingw problems.
32094         * doc/posix-functions/ioctl.texi: Update mingw problems.
32095         * doc/posix-functions/listen.texi: Update mingw problems.
32096         * doc/posix-functions/recv.texi: Update mingw problems.
32097         * doc/posix-functions/recvfrom.texi: Update mingw problems.
32098         * doc/posix-functions/select.texi: Update mingw problems.
32099         * doc/posix-functions/send.texi: Update mingw problems.
32100         * doc/posix-functions/sendto.texi: Update mingw problems.
32101         * doc/posix-functions/setsockopt.texi: Update mingw problems.
32102         * doc/posix-functions/socket.texi: Update mingw problems.
32103
32104 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
32105             Bruno Haible  <bruno@clisp.org>
32106
32107         * lib/sys_select.in.h: Include sys/time.h.
32108         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
32109         * modules/sys_select: Depend on sys_time.
32110         * tests/test-sys_select.c: Test that sys/select.h defines struct
32111         timeval fully.
32112
32113 2008-09-29  Bruno Haible  <bruno@clisp.org>
32114
32115         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
32116         * lib/sys_select.in.h: Likewise.
32117
32118 2008-09-29  Bruno Haible  <bruno@clisp.org>
32119
32120         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
32121
32122 2008-09-29  Bruno Haible  <bruno@clisp.org>
32123
32124         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
32125         Set LIBSOCKET instead of augmenting LIBS.
32126         * modules/sockets (Link): New section.
32127         * modules/sockets-tests (test_sockets_LDADD): New variable.
32128         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
32129         * modules/poll-tests (test_poll_LDADD): New variable.
32130         * NEWS: Document the change.
32131
32132 2008-09-29  Bruno Haible  <bruno@clisp.org>
32133
32134         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
32135         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
32136         ARPA_INET_H directly.
32137         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
32138
32139 2008-09-28  Bruno Haible  <bruno@clisp.org>
32140
32141         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
32142         from gl_HEADER_SYS_SOCKET.
32143         (gl_HEADER_SYS_SOCKET): Invoke it.
32144         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32145
32146 2008-09-28  Bruno Haible  <bruno@clisp.org>
32147
32148         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
32149         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
32150         Needed on OSF/1 4.0.
32151
32152 2008-09-28  Bruno Haible  <bruno@clisp.org>
32153
32154         Override open more carefully.
32155         * lib/open.c (orig_open): New function.
32156         (rpl_open): Use orig_open instead of open.
32157         * lib/fcntl.in.h: Add special invocation convention.
32158         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
32159         (gl_FUNC_OPEN): Invoke it.
32160
32161         Override freopen more carefully.
32162         * lib/freopen.c (orig_freopen): New function.
32163         (rpl_freopen): Use orig_freopen instead of freopen.
32164         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
32165         (gl_FUNC_FREOPEN): Invoke it.
32166
32167         Override fopen more carefully.
32168         * lib/fopen.c (orig_fopen): New function.
32169         (rpl_fopen): Use orig_fopen instead of fopen.
32170         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
32171         (gl_FUNC_FOPEN): Invoke it.
32172         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
32173
32174 2008-09-28  Bruno Haible  <bruno@clisp.org>
32175
32176         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
32177         SIGPIPE.
32178
32179 2008-09-28  Bruno Haible  <bruno@clisp.org>
32180
32181         * tests/test-sigaction.c (handler, main): Disable the check whether
32182         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
32183         glibc systems with LinuxThreads.
32184
32185 2008-09-28  Bruno Haible  <bruno@clisp.org>
32186
32187         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
32188
32189         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
32190         with AIX xlc.
32191         * lib/fcntl.in.h (open): Likewise.
32192         Reported by Rainer Tammer <tammer@tammer.net>.
32193
32194 2008-09-28  Bruno Haible  <bruno@clisp.org>
32195
32196         * modules/posix_spawnp-tests: New file.
32197         * tests/test-posix_spawn.c: New file.
32198         * tests/test-posix_spawn.in.sh: New file.
32199
32200         New module 'posix_spawnp'.
32201         * modules/posix_spawnp: New file.
32202         * lib/spawnp.c: New file, from GNU libc with modifications.
32203         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
32204
32205         New module 'posix_spawn'.
32206         * modules/posix_spawn: New file.
32207         * lib/spawn.c: New file, from GNU libc with modifications.
32208         * doc/posix-functions/posix_spawn.texi: Mention the new module.
32209
32210         New module 'posix_spawnattr_destroy'.
32211         * modules/posix_spawnattr_destroy: New file.
32212         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
32213         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
32214         module.
32215
32216         New module 'posix_spawnattr_setsigmask'.
32217         * modules/posix_spawnattr_setsigmask: New file.
32218         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
32219         modifications.
32220         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
32221         new module.
32222
32223         New module 'posix_spawnattr_getsigmask'.
32224         * modules/posix_spawnattr_getsigmask: New file.
32225         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
32226         modifications.
32227         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
32228         new module.
32229
32230         New module 'posix_spawnattr_setsigdefault'.
32231         * modules/posix_spawnattr_setsigdefault: New file.
32232         * lib/spawnattr_setdefault.c: New file, from GNU libc with
32233         modifications.
32234         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
32235         new module.
32236
32237         New module 'posix_spawnattr_getsigdefault'.
32238         * modules/posix_spawnattr_getsigdefault: New file.
32239         * lib/spawnattr_getdefault.c: New file, from GNU libc with
32240         modifications.
32241         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
32242         new module.
32243
32244         New module 'posix_spawnattr_setschedpolicy'.
32245         * modules/posix_spawnattr_setschedpolicy: New file.
32246         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
32247         modifications.
32248         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
32249         new module.
32250
32251         New module 'posix_spawnattr_getschedpolicy'.
32252         * modules/posix_spawnattr_getschedpolicy: New file.
32253         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
32254         modifications.
32255         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
32256         new module.
32257
32258         New module 'posix_spawnattr_setschedparam'.
32259         * modules/posix_spawnattr_setschedparam: New file.
32260         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
32261         modifications.
32262         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
32263         new module.
32264
32265         New module 'posix_spawnattr_getschedparam'.
32266         * modules/posix_spawnattr_getschedparam: New file.
32267         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
32268         modifications.
32269         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
32270         new module.
32271
32272         New module 'posix_spawnattr_setpgroup'.
32273         * modules/posix_spawnattr_setpgroup: New file.
32274         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
32275         modifications.
32276         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
32277         module.
32278
32279         New module 'posix_spawnattr_getpgroup'.
32280         * modules/posix_spawnattr_getpgroup: New file.
32281         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
32282         modifications.
32283         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
32284         module.
32285
32286         New module 'posix_spawnattr_setflags'.
32287         * modules/posix_spawnattr_setflags: New file.
32288         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
32289         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
32290         module.
32291
32292         New module 'posix_spawnattr_getflags'.
32293         * modules/posix_spawnattr_getflags: New file.
32294         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
32295         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
32296         module.
32297
32298         New module 'posix_spawnattr_init'.
32299         * modules/posix_spawnattr_init: New file.
32300         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
32301         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
32302         module.
32303
32304         New module 'posix_spawn_file_actions_destroy'.
32305         * modules/posix_spawn_file_actions_destroy: New file.
32306         * lib/spawn_faction_destroy.c: New file, from GNU libc with
32307         modifications.
32308         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
32309         the new module.
32310
32311         New module 'posix_spawn_file_actions_addopen'.
32312         * modules/posix_spawn_file_actions_addopen: New file.
32313         * lib/spawn_faction_addopen.c: New file, from GNU libc with
32314         modifications.
32315         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
32316         the new module.
32317
32318         New module 'posix_spawn_file_actions_adddup2'.
32319         * modules/posix_spawn_file_actions_adddup2: New file.
32320         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
32321         modifications.
32322         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
32323         the new module.
32324
32325         New module 'posix_spawn_file_actions_addclose'.
32326         * modules/posix_spawn_file_actions_addclose: New file.
32327         * lib/spawn_faction_addclose.c: New file, from GNU libc with
32328         modifications.
32329         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
32330         the new module.
32331
32332         New module 'posix_spawn_file_actions_init'.
32333         * modules/posix_spawn_file_actions_init: New file.
32334         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
32335         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
32336         new module.
32337
32338         New module 'posix_spawn-internal'.
32339         * modules/posix_spawn-internal: New file.
32340         * lib/spawn_int.h: New file, from GNU libc with modifications.
32341         * lib/spawni.c: New file, from GNU libc with modifications.
32342         * m4/posix_spawn.m4: New file.
32343
32344         New module 'spawn'.
32345         * modules/spawn: New file.
32346         * lib/spawn.in.h: New file, from GNU libc with modifications.
32347         * m4/spawn_h.m4: New file.
32348         * doc/posix-headers/spawn.texi: Mention the new module.
32349
32350 2008-09-28  Bruno Haible  <bruno@clisp.org>
32351
32352         * modules/sched-tests: New file.
32353         * tests/test-sched.c: New file.
32354
32355         New module 'sched'.
32356         * modules/sched: New file.
32357         * lib/sched.in.h: New file.
32358         * m4/sched_h.m4: New file.
32359         * doc/posix-headers/sched.texi: Mention the new module.
32360
32361 2008-09-27  Eric Blake  <ebb9@byu.net>
32362
32363         Fix previous patch, and tweak references to $0.
32364         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
32365         (func_version, func_gnulib_dir): Don't call this program
32366         gnulib-tool.
32367         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
32368         with using $0 in function.
32369         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
32370         (func_fatal_error): Reuse the name the user invoked us with.
32371
32372 2008-09-27  Bruno Haible  <bruno@clisp.org>
32373
32374         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
32375         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
32376         (gl_ICONV_H): Not here.
32377         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
32378         instead of assigning ICONV_H directly.
32379
32380         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
32381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
32382         WCHAR_H directly.
32383
32384 2008-09-27  Bruno Haible  <bruno@clisp.org>
32385
32386         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
32387         * modules/arpa_inet (Depends-on): Add link-warning.
32388         (Makefile.am): Insert the definition of GL_LINK-WARNING.
32389         * modules/unistd (Makefile.am): Likewise.
32390
32391 2008-09-26  Bruno Haible  <bruno@clisp.org>
32392
32393         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
32394         variables.
32395         (func_version): Essentially copied from gnulib-tool.
32396         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
32397         func_readlink): Copied from gnulib-tool.
32398
32399 2008-09-26  Bruno Haible  <bruno@clisp.org>
32400
32401         * gnulib-tool (func_version): Change directory to $gnulib_dir before
32402         invoking git-version-gen.
32403
32404 2008-09-26  Bruno Haible  <bruno@clisp.org>
32405
32406         * posix-modules: Update to directory names changed on 2008-01-19.
32407         Remove commas in output before splitting into words. No more need to
32408         avoid 'ftruncate' since 2007-02-19.
32409
32410 2008-09-26  Bruno Haible  <bruno@clisp.org>
32411
32412         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
32413
32414 2008-09-26  Bruno Haible  <bruno@clisp.org>
32415
32416         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
32417         * modules/fwriteerror (Depends-on): Add errno.
32418
32419 2008-09-26  Bruno Haible  <bruno@clisp.org>
32420
32421         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
32422         * tests/test-vc-list-files-cvs.sh: Likewise.
32423
32424 2008-09-26  Bruno Haible  <bruno@clisp.org>
32425
32426         * doc/posix-headers/sys_resource.texi: Reorder items.
32427
32428 2008-09-26  Jim Meyering  <meyering@redhat.com>
32429
32430         fts: tweak inode comparison function
32431         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
32432         inode numbers, as documented.
32433
32434         fts: sort dirent entries on inode number before traversing
32435         This avoids a quadratic, seek-related performance penalty when
32436         operating on a directory containing many entries (measurable at 10k;
32437         3.5 hours at 2 million entries with a cold cache) on certain types
32438         of file systems, including ext3 and ext4, but not tmpfs.
32439         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
32440         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
32441         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
32442         (fs_handles_readdir_ordered_dirents_efficiently): New function.
32443         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
32444         (fts_build): Set the stat.st_ino member from D_INO.
32445         If it is likely to be useful, sort dirent entries on inode number.
32446
32447         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
32448         and the struct statfs.f_type member.
32449         * modules/fts (Depends-on): Add d-ino.
32450
32451 2008-09-26  Bruno Haible  <bruno@clisp.org>
32452
32453         * modules/sigpipe-die (Depends-on): Add sigpipe.
32454
32455         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
32456         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
32457         and GNULIB_STDIO_H_SIGPIPE are set.
32458         * lib/stdio-write.c: New file.
32459         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
32460         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
32461         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
32462         REPLACE_STDIO_WRITE_FUNCS.
32463         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
32464         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
32465         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
32466         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
32467         * modules/stdio (Files): Add lib/stdio-write.c.
32468         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
32469         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
32470         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
32471         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
32472         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
32473         REPLACE_FPRINTF_POSIX.
32474         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
32475         REPLACE_PRINTF_POSIX.
32476         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
32477         REPLACE_VFPRINTF_POSIX.
32478         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
32479         REPLACE_VPRINTF_POSIX.
32480         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
32481         SIGPIPE issue.
32482         * doc/posix-functions/fputc.texi: Likewise.
32483         * doc/posix-functions/fputs.texi: Likewise.
32484         * doc/posix-functions/fwrite.texi: Likewise.
32485         * doc/posix-functions/printf.texi: Likewise.
32486         * doc/posix-functions/putc.texi: Likewise.
32487         * doc/posix-functions/putchar.texi: Likewise.
32488         * doc/posix-functions/puts.texi: Likewise.
32489         * doc/posix-functions/vfprintf.texi: Likewise.
32490         * doc/posix-functions/vprintf.texi: Likewise.
32491
32492         * modules/safe-write (Depends-on): Add write.
32493
32494         * modules/sigpipe-tests: New file.
32495         * tests/test-sigpipe.c: New file.
32496         * tests/test-sigpipe.sh: New file.
32497
32498         * modules/write: New file.
32499         * lib/unistd.in.h: Include <sys/types.h>.
32500         (write): New declaration.
32501         * lib/write.c: New file.
32502         * m4/write.m4: New file.
32503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32504         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
32505         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
32506         GNULIB_WRITE, REPLACE_WRITE.
32507         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
32508         and the SIGPIPE issue.
32509
32510         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
32511         (raise): New declaration.
32512         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
32513         (ext_signal): New function.
32514         (rpl_raise): New function.
32515         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
32516         GNULIB_SIGNAL_H_SIGPIPE.
32517         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
32518         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
32519
32520         * modules/sigpipe: New file.
32521         * m4/sigpipe.m4: New file.
32522
32523 2008-09-25  Derek Price  <derek@ximbiot.com>
32524             Bruno Haible  <bruno@clisp.org>
32525
32526         * gnulib-tool (func_import): Report all license incompatibilities, not
32527         just the first one.
32528
32529 2008-09-25  Bruno Haible  <bruno@clisp.org>
32530
32531         * gnulib-tool (func_import): When computing the edits, consider not
32532         only the Makefile.ams that exist but also those that will be generated.
32533
32534 2008-09-25  Simon Josefsson  <simon@josefsson.org>
32535
32536         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
32537         fixes gnulib-tool --test warning about duplicate dependency.
32538
32539 2008-09-25  Bruno Haible  <bruno@clisp.org>
32540
32541         * gnulib-tool: Don't ask the user to perform edits in the generated
32542         Makefile.ams.
32543         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
32544         apply to the Makefile.am being generated.
32545         (func_emit_tests_Makefile_am): Execute edits that apply to the
32546         Makefile.am being generated.
32547         (func_import): Setup list of Makefile.am edits before emitting the
32548         Makefile.ams, not at the end.
32549         (func_create_testdir): Update.
32550         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32551
32552 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32553
32554         * gnulib-tool (func_import): Store the --tests-base option in the
32555         comment in gnulib-cache.m4.
32556
32557 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
32558
32559         * NEWS: Document increased portability that sys_select now provides.
32560
32561         * lib/sys_select.in.h: Install select wrapper.
32562         * lib/sys_socket.in.h: Use more descriptive name when there is no
32563         select wrapper.
32564         * lib/winsock-select.c: New.
32565         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
32566         Require gl_HEADER_SYS_SOCKET.
32567         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
32568         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
32569         * tests/test-sys_select.c: Add functional tests.
32570
32571 2008-09-24  Eric Blake  <ebb9@byu.net>
32572
32573         open, fopen: close fd leak in last patch
32574         * lib/open.c (rpl_open): Close fd before returning error.
32575         * lib/fopen.c (rpl_fopen): Close fd before returning error.
32576         * doc/posix-functions/open.texi (open): Document that Irix also
32577         has the bug.
32578         * doc/posix-functions/fopen.texi (fopen): Likewise.
32579         Reported by Paolo Bonzini.
32580
32581 2008-09-24  Bruno Haible  <bruno@clisp.org>
32582
32583         Ensure that a filename ending in a slash cannot be used to access a
32584         non-directory.
32585         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
32586         to check whether it's really a directory.
32587         * lib/fopen.c: Include fcntl.h, unistd.h.
32588         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
32589         and fdopen().
32590         * modules/fopen (Depends-on): Add unistd.
32591         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
32592         * tests/test-fopen.c (main): Likewise.
32593         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
32594         * doc/posix-functions/fopen.texi: Likewise.
32595         Reported by Eric Blake.
32596
32597 2008-09-23  Eric Blake  <ebb9@byu.net>
32598
32599         c-stack: avoid compiler optimizations when provoking overflow
32600         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
32601         recursion harder to optimize, to ensure a stack overflow occurs.
32602         * tests/test-c-stack.c (recurse): Likewise.
32603         Borrowed from libsigsegv.
32604
32605         c-stack: work around Irix sigaltstack bug
32606         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
32607         whether sigaltstack uses wrong end of stack_t (copied in part from
32608         libsigsegv).
32609         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
32610         Irix bug, without requiring an over-allocation.
32611         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
32612         bug.
32613
32614         fopen: document mingw bug on directories
32615         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
32616         not allowing a stream visiting a directory, even though reading
32617         from such a stream is not portable.
32618
32619 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
32620
32621         * lib/poll.c: Rewrite.
32622         * modules/poll: Depend on alloca.
32623
32624 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
32625
32626         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
32627         instead define prototypes for a full set of wrappers.  Ensure
32628         that Cygwin does not use the compatibility code, which is only
32629         for MinGW.
32630         * lib/winsock.c: New.
32631         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
32632         * modules/sys_socket: Add lib/winsock.c.
32633
32634         * modules/poll-tests: Add errno and perror.
32635         * tests/test-poll.c: Use ioctl, not ioctlsocket.
32636
32637 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
32638
32639         * tests/test-poll.c: Downgrade minimum needed Winsock version.
32640
32641 2008-09-23  Bruno Haible  <bruno@clisp.org>
32642
32643         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
32644         * doc/glibc-functions/*: Likewise.
32645
32646 2008-09-23  Simon Josefsson  <simon@josefsson.org>
32647
32648         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
32649         success.
32650
32651 2008-09-22  Eric Blake  <ebb9@byu.net>
32652             Bruno Haible  <bruno@clisp.org>
32653
32654         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
32655         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
32656         supply %A but mishandle pseudo-NaN.
32657         Reported by Simon Josefsson.
32658
32659 2008-09-21  Bruno Haible  <bruno@clisp.org>
32660
32661         * tests/test-lock.c (main): Tweak skip message.
32662         * tests/test-tls.c (main): Likewise.
32663
32664 2008-09-21  Bruno Haible  <bruno@clisp.org>
32665
32666         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
32667         whether 'struct sigaction' has sa_sigaction here...
32668         (gl_PREREQ_SIG_HANDLER_H): ... not here.
32669         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
32670
32671 2008-09-21  Bruno Haible  <bruno@clisp.org>
32672
32673         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
32674         section.
32675         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
32676         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
32677         the new section.
32678         (Support for obsolete systems lacking POSIX:2001): New section.
32679         (String handling <string.h>): Move strdup to the new section.
32680         Suggested by Simon Josefsson and Paolo Bonzini.
32681
32682 2008-09-21  Bruno Haible  <bruno@clisp.org>
32683
32684         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
32685         exponents in %e and %g results on 'long double'. Needed for mingw's
32686         improved *printf functions.
32687         * tests/test-vasprintf-posix.c (test_function): Likewise.
32688         * tests/test-snprintf-posix.h (test_function): Likewise.
32689         * tests/test-sprintf-posix.h (test_function): Likewise.
32690         Reported by Eric Blake.
32691
32692 2008-09-21  Bruno Haible  <bruno@clisp.org>
32693
32694         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
32695         * tests/test-sprintf-posix.h (test_function): Likewise.
32696
32697 2008-09-21  Bruno Haible  <bruno@clisp.org>
32698
32699         * modules/getpass (Depends-on): Add strdup-posix.
32700
32701         New module 'strdup-posix'.
32702         * modules/strdup-posix: New file.
32703         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
32704         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
32705         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32706         REPLACE_STRDUP.
32707         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
32708         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
32709         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
32710         strdup-posix.
32711
32712         * modules/strdup (Depends-on): Remove malloc-posix.
32713
32714 2008-09-20  Bruno Haible  <bruno@clisp.org>
32715
32716         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
32717         Wildenhues.
32718
32719 2008-09-20  Bruno Haible  <bruno@clisp.org>
32720
32721         Ensure that wint_t gets defined on IRIX 5.3.
32722         * lib/wchar.in.h (wint_t): Define if not defined by the system.
32723         * lib/wctype.in.h (wint_t): Likewise.
32724         (__wctype_wint_t): Remove type.
32725         (isw*): Use wint_t instead of __wctype_wint_t.
32726         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
32727         * modules/wchar (Files): Add m4/wint_t.m4.
32728         (Makefile.am): Substitute HAVE_WINT_T.
32729         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
32730         * tests/test-wctype.c: Check that wint_t is defined.
32731         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
32732         * doc/posix-headers/wctype.texi: Likewise.
32733         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32734
32735 2008-09-18  Bruno Haible  <bruno@clisp.org>
32736
32737         * gnulib-tool (func_exit): Update comment.
32738
32739 2008-09-18  Simon Josefsson  <simon@josefsson.org>
32740
32741         * modules/getaddrinfo (Depends-on): Remove strdup, this module
32742         assumes strdup exists and does not depend on strdup to return
32743         ENOMEM on out of memory conditions.
32744
32745 2008-09-18  Bruno Haible  <bruno@clisp.org>
32746
32747         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
32748         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
32749         digits for the exponent.
32750
32751 2008-09-18  Jim Meyering  <meyering@redhat.com>
32752             Bruno Haible  <bruno@clisp.org>
32753
32754         * lib/vasnprintf.c (decimal_point_char): Define also if
32755         NEED_PRINTF_INFINITE_LONG_DOUBLE.
32756
32757 2008-09-16  Bruno Haible  <bruno@clisp.org>
32758         and Eric Blake  <ebb9@byu.net>
32759
32760         vasnprintf: support Irix 5.3
32761         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
32762         that mishandle long double infinity.
32763         Reported by Tom G. Christensen.
32764
32765 2008-09-16  Bruno Haible  <bruno@clisp.org>
32766
32767         * doc/glibc-functions/scandir.texi: Mention the function is missing on
32768         Solaris 9.
32769         * doc/glibc-functions/alphasort.texi: Likewise.
32770         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
32771
32772 2008-09-16  Jim Meyering  <meyering@redhat.com>
32773
32774         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
32775         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
32776         a umask modification leak out of a subshell.  Otherwise, the
32777         opensolaris /bin/sh would be accepted and thus cause unwarranted
32778         failures in the coreutils test suite.
32779
32780 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
32781
32782         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
32783         to succeed.
32784
32785 2008-09-16  Jim Meyering  <meyering@redhat.com>
32786
32787         avoid spurious test failure when library is built without ACL support
32788         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
32789         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
32790         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
32791         * tests/test-copy-acl.sh: Likewise.
32792
32793 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32794
32795         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
32796         based on character occurrence counts.
32797
32798 2008-09-15  Eric Blake  <ebb9@byu.net>
32799
32800         tests: avoid some compiler warnings
32801         * tests/test-memchr.c (main): Pass NULL indirectly.
32802         * tests/test-closein.c (main): Avoid unused variable.
32803
32804 2008-09-15  Bruno Haible  <bruno@clisp.org>
32805
32806         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
32807         are missing on OpenBSD 4.0 individually.
32808         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32809
32810 2008-09-15  Bruno Haible  <bruno@clisp.org>
32811
32812         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
32813         * doc/posix-functions/strerror.texi: Mention also Cygwin.
32814         * doc/posix-functions/perror.texi: Likewise.
32815         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
32816         is missing.
32817         Reported by Eric Blake.
32818
32819         * lib/errno.in.h: Use replacement values >= 2000.
32820         Reported by Eric Blake.
32821
32822 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32823
32824         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
32825         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
32826         limit.
32827         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
32828         compareseq was aborted.
32829
32830 2008-09-14  Bruno Haible  <bruno@clisp.org>
32831
32832         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
32833         yvec_edit_count.
32834         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
32835         (fstrcmp_bounded): Simplify result computation accordingly.
32836
32837 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32838
32839         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
32840         (fstrcmp): Define in terms of fstrcmp_bounded.
32841         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
32842         lower_bound argument.
32843         Return quickly if the result is certainly < lower_bound.
32844         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
32845
32846 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32847
32848         * lib/diffseq.h (EARLY_ABORT): New macro.
32849         (compareseq): Change return type to bool. Return true when EARLY_ABORT
32850         evaluates to true.
32851
32852 2008-09-14  Bruno Haible  <bruno@clisp.org>
32853
32854         * modules/perror-tests: New file.
32855         * tests/test-perror.sh: New file.
32856         * tests/test-perror.c: New file.
32857
32858         New module 'perror'.
32859         * lib/stdio.in.h (perror): New declaration.
32860         * lib/perror.c: New file.
32861         * m4/perror.m4: New file.
32862         * modules/perror: New file.
32863         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
32864         * doc/posix-functions/perror.texi: Mention the perror module.
32865         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
32866         REPLACE_PERROR.
32867         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
32868         REPLACE_PERROR.
32869
32870 2008-09-14  Bruno Haible  <bruno@clisp.org>
32871
32872         * modules/stdio (Makefile.am): Reorder to match the order in
32873         lib/stdio.in.h.
32874         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
32875
32876 2008-09-13  Bruno Haible  <bruno@clisp.org>
32877
32878         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
32879
32880 2008-09-13  Bruno Haible  <bruno@clisp.org>
32881
32882         Extend strerror to cover the added errno values.
32883         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
32884         (rpl_strerror): Provide error messages for the added errno values and
32885         for the WSA* values.
32886         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
32887         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
32888         strerror.
32889         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
32890         * modules/strerror (Depends-on): Add errno.
32891         * doc/posix-functions/strerror.texi: Document the change.
32892         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
32893         and EOVERFLOW.
32894
32895 2008-09-13  Bruno Haible  <bruno@clisp.org>
32896
32897         * modules/EOVERFLOW: Remove file.
32898         * m4/eoverflow.m4: Remove file.
32899         * modules/EOVERFLOW-tests: Remove file.
32900         * tests/test-EOVERFLOW.c: Remove file.
32901         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
32902         * modules/ftell (Depends-on): Likewise.
32903         * modules/getdelim (Depends-on): Likewise.
32904         * modules/getugroups (Depends-on): Likewise.
32905         * modules/poll (Depends-on): Likewise.
32906         * modules/snprintf (Depends-on): Likewise.
32907         * modules/sprintf-posix (Depends-on): Likewise.
32908         * modules/vasnprintf (Depends-on): Likewise.
32909         * modules/vasprintf (Depends-on): Likewise.
32910         * modules/vfprintf-posix (Depends-on): Likewise.
32911         * modules/vsnprintf (Depends-on): Likewise.
32912         * modules/vsprintf-posix (Depends-on): Likewise.
32913         * modules/xvasprintf (Depends-on): Likewise.
32914         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32915         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
32916         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
32917         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
32918         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32919         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
32920         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
32921         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
32922         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32923         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
32924         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
32925         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
32926         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32927         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
32928         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
32929         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
32930         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32931         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
32932         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
32933         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
32934         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32935         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
32936         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
32937         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
32938         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
32939         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32940         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
32941         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
32942         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
32943         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
32944         * MODULES.html.sh: Remove EOVERFLOW.
32945         * NEWS: Mention the change.
32946
32947 2008-09-13  Bruno Haible  <bruno@clisp.org>
32948
32949         * modules/errno-tests: New file.
32950         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
32951
32952         * lib/errno.in.h: New file.
32953         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
32954         * modules/errno: New file.
32955         * doc/posix-headers/errno.texi: Update documentation.
32956         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
32957
32958 2008-09-13  Bruno Haible  <bruno@clisp.org>
32959
32960         * tests/test-poll.c: Use #if for native Windows, rather than testing
32961         __MSVCRT__.
32962
32963 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32964             Bruno Haible  <bruno@clisp.org>
32965
32966         * lib/glob.c: Don't include <pwd.h> on native Windows.
32967         (WINDOWS32): New macro.
32968         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
32969
32970 2008-09-13  Bruno Haible  <bruno@clisp.org>
32971
32972         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
32973         (ETIMEDOUT): Remove macro.
32974         (glthread_cond_timedwait_multithreaded): New declaration.
32975         (glthread_cond_timedwait): Use it.
32976         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
32977         (glthread_cond_timedwait_multithreaded): New function.
32978
32979 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
32980
32981         * modules/poll-tests: Do not check for io.h.
32982         * tests/test-poll.c: Check for __MSVCRT__ instead.
32983
32984 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
32985
32986         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
32987         * modules/poll-tests: Add inet_pton, stdbool, sockets.
32988         * tests/test-poll.c: Use them.  Use _pipe on Windows.
32989
32990 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
32991
32992         * modules/poll-tests: New.
32993         * tests/test-poll.c: New.
32994
32995 2008-09-12  Eric Blake  <ebb9@byu.net>
32996
32997         frexp: test for NetBSD failure on -0.0
32998         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
32999         not all, bugs from NetBSD 3.0 have been fixed.
33000         * doc/posix-functions/frexp.texi (frexp): Document bug.
33001         Reported by Thomas Klausner.
33002
33003         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
33004         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
33005         literal -0.0.
33006         Reported by Jonathan C. Patschke <jp@centtech.com>.
33007
33008 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33009
33010         * lib/glthread/cond.h: Use dummy implementation also if
33011         USE_WIN32_THREADS.
33012
33013 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33014
33015         * modules/fnmatch-posix (License): Change to LGPLv2+.
33016         * modules/fnmatch-gnu (License): Likewise.
33017
33018 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33019
33020         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
33021
33022 2008-09-11  Jim Meyering  <meyering@redhat.com>
33023
33024         * users.txt: Add gtk-vnc.
33025
33026 2008-09-08  Simon Josefsson  <simon@josefsson.org>
33027
33028         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
33029         rotate amounts.
33030
33031         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
33032         required for 16-bit and 8-bit rotates.
33033         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
33034         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
33035         UINT8_MAX instead of hard-coded constants.
33036         Suggested by Paul Eggert.
33037
33038 2008-09-07  Bruno Haible  <bruno@clisp.org>
33039
33040         * tests/test-striconveh.c (main): Check behaviour when converting from
33041         UTF-7.
33042
33043         Make striconveh work better with stateful encodings.
33044         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
33045         that iconv does not increment the inptr when returning -1/EINVAL.
33046
33047 2008-09-07  Bruno Haible  <bruno@clisp.org>
33048
33049         * build-aux/config.rpath: Update according to libtool-2.2.6.
33050         * build-aux/config.libpath: Likewise.
33051
33052 2008-09-06  Bruno Haible  <bruno@clisp.org>
33053
33054         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
33055         * lib/freadptr.c (freadptr): Likewise.
33056         * lib/freadseek.c (freadptrinc): Likewise.
33057         Reported by Simon Josefsson.
33058
33059 2008-09-06  Bruno Haible  <bruno@clisp.org>
33060
33061         * modules/freadptr (License): Change to LGPLv2+.
33062         * modules/freadseek (License): Likewise.
33063         Suggested by Eric Blake.
33064
33065         * modules/memchr2 (License): Change to LGPLv2+.
33066         Approved by Eric Blake.
33067
33068 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33069             Bruno Haible  <bruno@clisp.org>
33070
33071         Make gnulib-tool work with native 'sed' on AIX.
33072         * gnulib-tool (sed_noop): New variable.
33073         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
33074         func_add_or_update, func_create_testdir): Use it to initialize sed
33075         script variables.
33076         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33077
33078 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
33079             Bruno Haible  <bruno@clisp.org>
33080
33081         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
33082         also works after #include directives.
33083
33084 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
33085
33086         getdate.y: reject an out-of-range timezone value
33087         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
33088         the range [-24...+24].  When specified with only one or two digits,
33089         * tests/test-getdate.c: Tests for the fix.
33090         * doc/getdate.texi: Document this change.
33091
33092 2008-09-03  Bruno Haible  <bruno@clisp.org>
33093
33094         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
33095
33096 2008-09-02  Simon Josefsson  <simon@josefsson.org>
33097
33098         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
33099         <bruce.korb@gmail.com> with ideas from Ben Pfaff
33100         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
33101         Blake <ebb9@byu.net>.
33102
33103         * tests/test-bitrotate.c: Add more test vectors.
33104
33105 2008-09-02  Eric Blake  <ebb9@byu.net>
33106
33107         vasnprintf-posix: handle large precision via %.*d
33108         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
33109         when handling it ourselves.
33110         * tests/test-vasnprintf-posix.c (test_function): Add test.
33111         * tests/test-snprintf-posix.h (test_function): Likewise.
33112         * tests/test-sprintf-posix.h (test_function): Likewise.
33113         * tests/test-vasprintf-posix.c (test_function): Likewise.
33114         Reported by Alain Guibert.
33115
33116 2008-09-01  Eric Blake  <ebb9@byu.net>
33117
33118         c-stack: make configure-time check more robust
33119         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
33120         successful sigaction call.
33121         Reported by Tom G. Christensen.
33122
33123 2008-09-01  Bruno Haible  <bruno@clisp.org>
33124
33125         New module 'findprog-lgpl'.
33126         * modules/findprog-lgpl: New file.
33127         * lib/findprog-lgpl.c: New file.
33128         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
33129         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
33130         to decide whether to use strdup or xstrdup, concatenated_filename or
33131         xconcatenated_filename.
33132
33133 2008-09-01  Bruno Haible  <bruno@clisp.org>
33134
33135         Split module 'concat-filename' into 'concat-filename' (LGPL) and
33136         'xconcat-filename' (GPL).
33137         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
33138         (License): Change to LGPLv2+.
33139         * modules/xconcat-filename: New file.
33140         * lib/concat-filename.h (concatenated_filename): Change specification.
33141         (xconcatenated_filename): New declaration.
33142         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
33143         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
33144         memory situations.
33145         * lib/xconcat-filename.c: New file.
33146         * NEWS: Mention the change.
33147         * lib/findprog.c: Include concat-filename.h, not filename.h.
33148         (find_in_path): Use xconcatenated_filename instead of
33149         concatenated_filename.
33150         * lib/javacomp.c: Include concat-filename.h, not filename.h.
33151         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
33152         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
33153         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
33154         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
33155         instead of concatenated_filename.
33156         * lib/javaexec.c: Include concat-filename.h, not filename.h.
33157         (execute_java_class): Use xconcatenated_filename instead of
33158         concatenated_filename.
33159         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
33160         * modules/javacomp (Depends-on): Likewise.
33161         * modules/javaexec (Depends-on): Likewise.
33162
33163 2008-09-01  Bruno Haible  <bruno@clisp.org>
33164
33165         Split module 'filename' into 'filename' and 'concat-filename'.
33166         * modules/filename: Keep only lib/filename.h.
33167         (License): Change to LGPLv2+.
33168         * modules/concat-filename: New file, extracted from modules/filename.
33169         * lib/filename.h (concatenated_filename): Remove declaration.
33170         * lib/concat-filename.h: New file, extracted from lib/filename.h.
33171         * lib/concat-filename.c: Include concat-filename.h.
33172         * NEWS: Mention the change.
33173
33174 2008-09-01  Simon Josefsson  <simon@josefsson.org>
33175
33176         * lib/bitrotate.h (rotl8, rotr8): Add.
33177
33178         * modules/bitrotate (configure.ac): Need
33179         AC_REQUIRE([AC_C_INLINE]).
33180         (Description): Mention stdint.h.  Reported by Bruno Haible
33181         <bruno@clisp.org>.
33182
33183         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
33184         Paolo Bonzini <bonzini@gnu.org>.
33185
33186 2008-08-31  Bruno Haible  <bruno@clisp.org>
33187
33188         Assume Solaris specific bi-arch conventions on Solaris systems.
33189         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
33190         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
33191         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
33192         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
33193         like acl_libdirstem.
33194         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
33195         acl_libdirstem.
33196         * NEWS: Mention the change.
33197         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
33198
33199 2008-08-31  Jim Meyering  <meyering@redhat.com>
33200
33201         * lib/strftime.h: Add comments describing the two added arguments.
33202
33203         remove duplicate #include directives
33204         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
33205         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
33206
33207 2008-08-31  Bruno Haible  <bruno@clisp.org>
33208
33209         New module 'sigpipe-die'.
33210         * modules/sigpipe-die: New file.
33211         * lib/sigpipe-die.h: New file.
33212         * lib/sigpipe-die.c: New file.
33213         * MODULES.html.sh (Signal handling): Add sigpipe-die.
33214
33215 2008-08-31  Bruno Haible  <bruno@clisp.org>
33216
33217         Don't override previously installed signal handlers.
33218         * lib/fatal-signal.c (saved_sigactions): New variable.
33219         (uninstall_handlers): Reset the signal to the saved handler, not
33220         to SIG_DFL (except when ignored).
33221         (install_handlers): Save the previous handlers.
33222
33223 2008-08-30  Bruno Haible  <bruno@clisp.org>
33224
33225         * gnulib-tool (func_reset_sigpipe): New function.
33226         (func_get_automake_snippet, func_modules_transitive_closure,
33227         func_import): Invoke it before a join command that reads from stdin,
33228         to avoid "echo: write error: Broken pipe" error messages on stderr.
33229         Reported by Sam Steingold <sds@gnu.org>.
33230
33231 2008-08-30  Bruno Haible  <bruno@clisp.org>
33232
33233         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
33234         Code copied from m4/open.m4.
33235         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
33236         access and the filename ends in a slash. Code copied from lib/open.c.
33237         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
33238         * tests/test-fopen.c (main): Check against bug with trailing slash.
33239
33240 2008-08-29  Bruno Haible  <bruno@clisp.org>
33241
33242         Avoid some "gcc -pedantic" warnings.
33243         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
33244         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
33245         * lib/dirent.in.h: Likewise.
33246         * lib/fcntl.in.h: Likewise.
33247         * lib/float.in.h: Likewise.
33248         * lib/iconv.in.h: Likewise.
33249         * lib/inttypes.in.h: Likewise.
33250         * lib/locale.in.h: Likewise.
33251         * lib/math.in.h: Likewise.
33252         * lib/netinet_in.in.h: Likewise.
33253         * lib/search.in.h: Likewise.
33254         * lib/signal.in.h: Likewise.
33255         * lib/stdarg.in.h: Likewise.
33256         * lib/stdint.in.h: Likewise.
33257         * lib/stdio.in.h: Likewise.
33258         * lib/stdlib.in.h: Likewise.
33259         * lib/string.in.h: Likewise.
33260         * lib/strings.in.h: Likewise.
33261         * lib/sys_select.in.h: Likewise.
33262         * lib/sys_socket.in.h: Likewise.
33263         * lib/sys_stat.in.h: Likewise.
33264         * lib/sys_time.in.h: Likewise.
33265         * lib/sysexits.in.h: Likewise.
33266         * lib/time.in.h: Likewise.
33267         * lib/unistd.in.h: Likewise.
33268         * lib/wchar.in.h: Likewise.
33269         * lib/wctype.in.h: Likewise.
33270         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
33271         * modules/fchdir (Makefile.am): Likewise.
33272         * modules/fcntl (Makefile.am): Likewise.
33273         * modules/float (Makefile.am): Likewise.
33274         * modules/iconv_open (Makefile.am): Likewise.
33275         * modules/inttypes (Makefile.am): Likewise.
33276         * modules/locale (Makefile.am): Likewise.
33277         * modules/math (Makefile.am): Likewise.
33278         * modules/netinet_in (Makefile.am): Likewise.
33279         * modules/search (Makefile.am): Likewise.
33280         * modules/signal (Makefile.am): Likewise.
33281         * modules/stdarg (Makefile.am): Likewise.
33282         * modules/stdint (Makefile.am): Likewise.
33283         * modules/stdio (Makefile.am): Likewise.
33284         * modules/stdlib (Makefile.am): Likewise.
33285         * modules/string (Makefile.am): Likewise.
33286         * modules/strings (Makefile.am): Likewise.
33287         * modules/sys_select (Makefile.am): Likewise.
33288         * modules/sys_socket (Makefile.am): Likewise.
33289         * modules/sys_stat (Makefile.am): Likewise.
33290         * modules/sys_time (Makefile.am): Likewise.
33291         * modules/sysexits (Makefile.am): Likewise.
33292         * modules/time (Makefile.am): Likewise.
33293         * modules/unistd (Makefile.am): Likewise.
33294         * modules/wchar (Makefile.am): Likewise.
33295         * modules/wctype (Makefile.am): Likewise.
33296         Reported by Reuben Thomas <rrt@sc3d.org>.
33297
33298 2008-08-29  Bruno Haible  <bruno@clisp.org>
33299
33300         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
33301         any more.
33302
33303 2008-08-29  Simon Josefsson  <simon@josefsson.org>
33304
33305         * MODULES.html.sh (Misc): Add bitrotate.
33306
33307         * modules/bitrotate: New file.
33308
33309         * lib/bitrotate.h: New file.
33310
33311         * modules/bitrotate-tests: New file.
33312
33313         * tests/test-bitrotate.c: New file.
33314
33315         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
33316         on the bitrotate module.
33317
33318         * lib/arctwo.c: Use new bitrotate module.
33319
33320 2008-08-29  Jim Meyering  <meyering@redhat.com>
33321
33322         bootstrap: merge changes from coreutils
33323         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
33324         of copied files.  Remove a kludge, now that this is fixed.
33325         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
33326         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
33327         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
33328
33329 2008-08-29  Bruno Haible  <bruno@clisp.org>
33330
33331         * MODULES.html.sh: Remove --cvs-urls option.
33332
33333 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
33334
33335         maint.mk: adjust to file name change
33336         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
33337
33338 2008-08-28  Jim Meyering  <meyering@redhat.com>
33339
33340         * modules/getndelim2 (License): Relicense to LGPLv2+.
33341         Approved by Richard Stallman for the version of 1995, and by
33342         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
33343
33344 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
33345
33346         * lib/getdelim.c (flockfile, funlockfile): Make all of them
33347         dummy if one is not available.  Do not touch them if
33348         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
33349         (getc_maybe_unlocked): New.
33350         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
33351
33352 2008-08-26  Eric Blake  <ebb9@byu.net>
33353
33354         doc/INSTALL: resync from autoconf
33355         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
33356         (INSTALL_PRELUDE): Delete; this is done more efficiently by
33357         moving...
33358         * install.texi [!autoconf]: ...here.  Resync from autoconf.
33359         * INSTALL: Regenerate.
33360         * INSTALL.ISO: New file.
33361         * INSTALL.UTF-8: Likewise.
33362
33363 2008-08-26  Jim Meyering  <meyering@redhat.com>
33364
33365         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
33366         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
33367         these definitions conditional, so that they may be overridden, too.
33368
33369 2008-08-26  Bruno Haible  <bruno@clisp.org>
33370
33371         Generate INSTALL file variants with prettier quotes.
33372         * doc/Makefile (INSTALL_PRELUDE): New macro.
33373         (INSTALL): Use it.
33374         (INSTALL.ISO, INSTALL.UTF-8): New rules.
33375
33376 2008-08-26  Bruno Haible  <bruno@clisp.org>
33377
33378         Run makeinfo in an English locale.
33379         * doc/Makefile (MAKEINFO): New variable.
33380
33381 2008-08-26  Bruno Haible  <bruno@clisp.org>
33382
33383         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
33384         Suggested by Eric Blake.
33385
33386 2008-08-25  Bruno Haible  <bruno@clisp.org>
33387
33388         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
33389
33390 2008-08-25  Eric Blake  <ebb9@byu.net>
33391
33392         c-stack: test that stack overflow can be caught
33393         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
33394         that platform allows handling stack overflow; at least OS/2 EMX
33395         has sigaltstack, but crashes before transferring control to
33396         handler on stack overflow.
33397         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
33398         check for HAVE_STACK_OVERFLOW_HANDLING.
33399         Reported by Elbert Pol.
33400
33401 2008-08-25  Bruno Haible  <bruno@clisp.org>
33402
33403         * doc/posix-functions/strftime.texi: Fix description of strftime
33404         module.
33405
33406 2008-08-24  Bruno Haible  <bruno@clisp.org>
33407
33408         * tests/uniwidth/test-uc_width2.c: New file.
33409         * tests/uniwidth/test-uc_width2.sh: New file.
33410         * modules/uniwidth/width-tests (Files): Add the new files.
33411         (TESTS): Add uniwidth/test-uc_width2.sh.
33412         (TESTS_ENVIRONMENT): New variable.
33413         (check_PROGRAMS): Add test-uc_width2.
33414         (test_uc_width2_SOURCES): New variable.
33415
33416         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
33417         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
33418         not 0x00AB.
33419         Reported by Alexander V. Lukyanov <lav@netis.ru>.
33420
33421 2008-08-22  Eric Blake  <ebb9@byu.net>
33422
33423         test-lock, test-tls: mention why a test is skipped
33424         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
33425         skipped.
33426         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
33427
33428         count-one-bits: relax license
33429         * modules/count-one-bits (License): Relicense to LGPLv2+.
33430         Suggested by Ludovic Courtès, approved by Ben Pfaff.
33431
33432 2008-08-22  Andreas Schwab  <schwab@suse.de>
33433
33434         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
33435         Remove spurious space in assignment.
33436
33437 2008-08-21  Simon Josefsson  <simon@josefsson.org>
33438
33439         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
33440         Paul Eggert <eggert@CS.UCLA.EDU>.
33441
33442 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
33443
33444         * modules/gettext: Add m4/threadlib.m4.
33445
33446 2008-08-19  Eric Blake  <ebb9@byu.net>
33447
33448         test-c-stack: fix compilation failure on FreeBSD 5.0
33449         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
33450         headers before <sys/resource.h>.
33451         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
33452         the bug.
33453         Reported by Nelson H. F. Beebe.
33454
33455         strverscmp: migrate from "strverscmp.h" to <string.h>
33456         * modules/string (Makefile.am): Add new hooks.
33457         * modules/strverscmp (Files): Remove strverscmp.h.
33458         (Depends-on): Add string.
33459         (configure.ac): Add indicator.
33460         (Include): Mention new header.
33461         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
33462         defaults.
33463         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
33464         results.
33465         * lib/strverscmp.h: Delete.
33466         * lib/string.in.h (strverscmp): Provide declaration, when needed.
33467         * tests/test-strverscmp.c (includes): Adjust client.
33468         * lib/check-version.c (includes): Likewise.
33469         * NEWS: Document the change.
33470
33471         strverscmp: add unit test
33472         * modules/strverscmp-tests: New file.
33473         * tests/test-strverscmp.c: Likewise.
33474
33475 2008-08-19  Simon Josefsson  <simon@josefsson.org>
33476
33477         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
33478         regarding Windows crypto stuff, from Mono.
33479
33480 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
33481
33482         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
33483         if present, for intel RND.  Return error on failures.
33484
33485 2008-08-18  Ben Pfaff  <blp@gnu.org>
33486
33487         gitlog-to-changelog: give better diagnostic for failed pipe-open
33488         * build-aux/gitlog-to-changelog: Improve error message: suggest
33489         that the version of Git may be too old.
33490
33491 2008-08-18  Simon Josefsson  <simon@josefsson.org>
33492
33493         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
33494         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
33495
33496 2008-08-18  Bruno Haible  <bruno@clisp.org>
33497
33498         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
33499         pthread_in_use().
33500
33501 2008-08-18  Bruno Haible  <bruno@clisp.org>
33502
33503         * lib/glthread/threadlib.c: Include <pthread.h>.
33504
33505 2008-08-18  Bruno Haible  <bruno@clisp.org>
33506
33507         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
33508         glthread_recursive_lock_* macros.
33509         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
33510         Fix syntax error.
33511
33512 2008-08-18  Bruno Haible  <bruno@clisp.org>
33513
33514         * lib/glthread/thread.c: Avoid forcing a context switch right after
33515         thread creation.
33516
33517 2008-08-17  Bruno Haible  <bruno@clisp.org>
33518
33519         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
33520         * lib/glthread/thread.h: Provide Win32 specific implementation.
33521         * modules/thread (Files): Add lib/glthread/thread.c.
33522         (Depends-on): Add lock.
33523         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
33524
33525 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33526
33527         New module 'yield'.
33528         * modules/yield: New file.
33529         * lib/glthread/yield.h: New file.
33530         * m4/yield.m4: New file.
33531         * MODULES.html.sh (Multithreading): Add yield.
33532
33533 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33534
33535         New module 'thread'.
33536         * modules/thread: New file.
33537         * lib/glthread/thread.h: New file.
33538         * m4/thread.m4: New file.
33539         * MODULES.html.sh (Multithreading): Add thread.
33540
33541 2008-08-17  Bruno Haible  <bruno@clisp.org>
33542
33543         * lib/glthread/lock.h: Include <stdlib.h> always.
33544         * lib/glthread/tls.h: Likewise.
33545         * lib/glthread/cond.h: Likewise.
33546
33547 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33548
33549         New module 'cond'.
33550         * modules/cond: New file.
33551         * lib/glthread/cond.h: New file.
33552         * lib/glthread/cond.c: New file.
33553         * m4/cond.m4: New file.
33554         * MODULES.html.sh (Multithreading): Add cond.
33555
33556 2008-08-16  Eric Blake  <ebb9@byu.net>
33557
33558         c-stack: fix regression on Irix 5.3 from 2008-06-21
33559         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
33560         sa_sigaction...
33561         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
33562         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
33563         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
33564         * modules/signal (Makefile.am): Use the value.
33565         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
33566         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
33567         * doc/posix-headers/signal.texi (signal.h): Document this
33568         portability issue.
33569         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
33570         Reported by Tom G. Christensen.
33571
33572 2008-08-17  Bruno Haible  <bruno@clisp.org>
33573
33574         New module 'threadlib'.
33575         * modules/threadlib: New file.
33576         * lib/glthread/threadlib.c: New file, extracted from
33577         lib/glthread/lock.c.
33578         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
33579         functions.
33580         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
33581         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
33582         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
33583         macros.
33584         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
33585         (gl_DISABLE_THREADS): Remove macro.
33586         * modules/lock (Files): Remove build-aux/config.rpath.
33587         (Depends-on): Remove havelib. Add threadlib.
33588         (configure.ac-early): Remove section.
33589         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
33590         * modules/tls (Depends-on): Remove lock. Add threadlib.
33591         (Link): New section, copied from threadlib.
33592         * MODULES.html.sh (Multithreading): Add threadlib.
33593
33594 2008-08-14  Bruno Haible  <bruno@clisp.org>
33595
33596         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
33597         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
33598         glthread_rwlock_unlock, glthread_rwlock_destroy,
33599         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
33600         glthread_recursive_lock_destroy): Define as macros always.
33601         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
33602         glthread_lock_lock.
33603         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
33604         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
33605         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
33606         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
33607         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
33608         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
33609         (glthread_recursive_lock_lock_func): Renamed from
33610         glthread_recursive_lock_lock.
33611         (glthread_recursive_lock_unlock_func): Renamed from
33612         glthread_recursive_lock_unlock.
33613         (glthread_recursive_lock_destroy_func): Renamed from
33614         glthread_recursive_lock_destroy.
33615
33616 2008-08-14  Bruno Haible  <bruno@clisp.org>
33617
33618         * lib/glthread/lock.h: Renamed from lib/lock.h.
33619         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
33620         * lib/glthread/tls.h: Renamed from lib/tls.h.
33621         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
33622         * lib/fstrcmp.c: Update includes.
33623         * lib/strsignal.c: Update includes.
33624         * modules/lock (Files, Makefile.am): Update.
33625         (Include): Change to "glthread/lock.h".
33626         * modules/tls (Files, Makefile.am): Update.
33627         (Include): Change to "glthread/tls.h".
33628         * tests/test-lock.c: Update includes.
33629         * tests/test-tls.c: Update includes.
33630         * NEWS: Mention the renamed header files.
33631
33632 2008-08-11  Jim Meyering  <meyering@redhat.com>
33633
33634         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
33635
33636 2008-08-11  Eric Blake  <ebb9@byu.net>
33637
33638         test-c-stack: avoid C99-ism
33639         * tests/test-c-stack.c (main): Fix whitespace, move declaration
33640         before statement.
33641         Reported by Alain Guibert.
33642
33643 2008-08-10  Jim Meyering  <meyering@redhat.com>
33644
33645         ensure that return value of uinttostr et al are not ignored
33646         * lib/inttostr.h (__GNUC_PREREQ): Define.
33647         (__attribute_warn_unused_result__): Define.
33648         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
33649
33650 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
33651
33652         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
33653         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
33654
33655 2008-08-07  Jim Meyering  <meyering@redhat.com>
33656
33657         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
33658
33659         * modules/mkstemp (License): Relicense under LGPLv2+.
33660         * modules/tempname (License): Likewise.
33661
33662 2008-08-06  Bruno Haible  <bruno@clisp.org>
33663
33664         * lib/poll.c (poll): Further micro-optimization.
33665
33666 2008-08-06  Jim Meyering  <meyering@redhat.com>
33667
33668         inet_pton.c: use locale-independent tolower
33669         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
33670         (inet_pton6): Use c_tolower rather than tolower.
33671         * modules/inet_pton (Depends-on): Add c-ctype.
33672
33673 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
33674
33675         * lib/poll.c (poll): Avoid division when timeout is 0, cache
33676         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
33677
33678 2008-08-06  Jim Meyering  <meyering@redhat.com>
33679
33680         * modules/inet_pton (License): Relicense under LGPLv2+.
33681
33682 2008-08-03  Bruno Haible  <bruno@clisp.org>
33683
33684         Additional non-aborting API for lock and tls.
33685         * lib/lock.h: Include <errno.h>.
33686         (glthread_lock_init): New macro/function.
33687         (gl_lock_init): Define as wrapper around glthread_lock_init.
33688         (glthread_lock_lock): New macro/function.
33689         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
33690         (glthread_lock_unlock): New macro/function.
33691         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
33692         (glthread_lock_destroy): New macro/function.
33693         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
33694         (glthread_rwlock_init): New macro/function.
33695         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
33696         (glthread_rwlock_rdlock): New macro/function.
33697         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
33698         (glthread_rwlock_wrlock): New macro/function.
33699         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
33700         (glthread_rwlock_unlock): New macro/function.
33701         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
33702         (glthread_rwlock_destroy): New macro/function.
33703         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
33704         (glthread_recursive_lock_init): New macro/function.
33705         (gl_recursive_lock_init): Define as wrapper around
33706         glthread_recursive_lock_init.
33707         (glthread_recursive_lock_lock): New macro/function.
33708         (gl_recursive_lock_lock): Define as wrapper around
33709         glthread_recursive_lock_lock.
33710         (glthread_recursive_lock_unlock): New macro/function.
33711         (gl_recursive_lock_unlock): Define as wrapper around
33712         glthread_recursive_lock_unlock.
33713         (glthread_recursive_lock_destroy): New macro/function.
33714         (gl_recursive_lock_destroy): Define as wrapper around
33715         glthread_recursive_lock_destroy.
33716         (glthread_once): New macro/function.
33717         (gl_once): Define as wrapper around glthread_once.
33718         Update function declarations.
33719         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
33720         glthread_rwlock_init. Return error code.
33721         (glthread_rwlock_rdlock_multithreaded): Renamed from
33722         glthread_rwlock_rdlock. Return error code.
33723         (glthread_rwlock_wrlock_multithreaded): Renamed from
33724         glthread_rwlock_wrlock. Return error code.
33725         (glthread_rwlock_unlock_multithreaded): Renamed from
33726         glthread_rwlock_unlock. Return error code.
33727         (glthread_rwlock_destroy_multithreaded): Renamed from
33728         glthread_rwlock_destroy. Return error code.
33729         (glthread_recursive_lock_init_multithreaded): Renamed from
33730         glthread_recursive_lock_init. Return error code.
33731         (glthread_recursive_lock_lock_multithreaded): Renamed from
33732         glthread_recursive_lock_lock. Return error code.
33733         (glthread_recursive_lock_unlock_multithreaded): Renamed from
33734         glthread_recursive_lock_unlock. Return error code.
33735         (glthread_recursive_lock_destroy_multithreaded): Renamed from
33736         glthread_recursive_lock_destroy. Return error code.
33737         (glthread_once_call): Make static.
33738         (glthread_once_multithreaded): Renamed from glthread_once.
33739         * lib/tls.h: Include <errno.h>.
33740         (glthread_tls_key_init): New macro/function.
33741         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
33742         (glthread_tls_set): New macro/function.
33743         (gl_tls_set): Define as wrapper around glthread_tls_set.
33744         (glthread_tls_key_destroy): New macro/function.
33745         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
33746         Update function declarations.
33747         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
33748         glthread_tls_get.
33749         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
33750
33751 2008-08-04  Eric Blake  <ebb9@byu.net>
33752
33753         gnumakefile: use space, not TAB, outside of targets
33754         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
33755
33756 2008-08-02  Jim Meyering  <meyering@redhat.com>
33757
33758         getdate.y: avoid locale-dependent date parsing failure
33759         In Turkish locales, getdate would fail to recognize keywords
33760         containing a lowercase "i".  The solution is not to rely on
33761         locale-sensitive case-conversion.
33762         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
33763         (lookup_word): Use c_toupper in place of toupper.
33764         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
33765         Reported by Vefa Bicakci <bicave@superonline.com> in
33766         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
33767         * modules/getdate (Depends-on): Add c-ctype.
33768
33769 2008-08-02  Bruno Haible  <bruno@clisp.org>
33770
33771         * gnulib-tool (func_import): When updating or creating a .gitignore
33772         file, prepend each added line with a slash, and ignore leading slashes
33773         from the existing lines.
33774         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
33775
33776 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33777
33778         Portability fix for GNU make 3.79.1.
33779         * top/GNUmakefile: Avoid 'else COND', which older GNU make
33780         versions do not understand.
33781
33782 2008-08-01  Bruno Haible  <bruno@clisp.org>
33783
33784         Work around bug of HP-UX 10.20 cc with -0.0 literal.
33785         * tests/test-isnanf.h (zero): New variable.
33786         (main): Avoid literal -0.0f.
33787         * tests/test-isnand.h (zero): New variable.
33788         (main): Avoid literal -0.0.
33789         * tests/test-isnanl.h (zero): New variable.
33790         (main): Avoid literal -0.0L.
33791         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
33792         (test_float, test_double, test_long_double): Avoid literals -0.0f,
33793         -0.0, -0.0L.
33794         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
33795         (test_signbitd): Avoid literal -0.0.
33796         (test_signbitl): Avoid literal -0.0L.
33797         * tests/test-ceilf1.c (zero): New variable.
33798         (main): Avoid literal -0.0f.
33799         * tests/test-ceill.c (zero): New variable.
33800         (main): Avoid literal -0.0L.
33801         * tests/test-floorf1.c (zero): New variable.
33802         (main): Avoid literal -0.0f.
33803         * tests/test-floorl.c (zero): New variable.
33804         (main): Avoid literal -0.0L.
33805         * tests/test-roundf1.c (zero): New variable.
33806         (main): Avoid literal -0.0f.
33807         * tests/test-round1.c (zero): New variable.
33808         (main): Avoid literal -0.0.
33809         * tests/test-roundl.c (zero): New variable.
33810         (main): Avoid literal -0.0L.
33811         * tests/test-truncf1.c (zero): New variable.
33812         (main): Avoid literal -0.0f.
33813         * tests/test-trunc1.c (zero): New variable.
33814         (main): Avoid literal -0.0.
33815         * tests/test-truncl.c (zero): New variable.
33816         (main): Avoid literal -0.0L.
33817         * tests/test-frexp.c (zero): New variable.
33818         (main): Avoid literal -0.0.
33819         * tests/test-frexpl.c (zero): New variable.
33820         (main): Avoid literal -0.0L.
33821         * tests/test-ldexpl.c (zero): New variable.
33822         (main): Avoid literal -0.0L.
33823         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
33824         (zerod, zerol): New variables.
33825         (test_function): Avoid literals -0.0, -0.0L.
33826         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
33827         (zerod, zerol): New variables.
33828         (test_function): Avoid literals -0.0, -0.0L.
33829         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
33830         (zerod, zerol): New variables.
33831         (test_function): Avoid literals -0.0, -0.0L.
33832         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
33833         (zerod, zerol): New variables.
33834         (test_function): Avoid literals -0.0, -0.0L.
33835         * tests/test-strtod.c (zero): New variable.
33836         (main): Avoid literal -0.0.
33837         Reported by Jonathan C. Patschke <jp@centtech.com>.
33838
33839 2008-07-31  Jim Meyering  <meyering@redhat.com>
33840
33841         sha256.h: correct definition of SHA224_DIGEST_SIZE
33842         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
33843         Reported by Paulie Pena IV <paulie4@gmail.com>.
33844         Define as 224 / 8, rather than as a literal.
33845         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
33846         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
33847         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
33848
33849 2008-07-31  Bruno Haible  <bruno@clisp.org>
33850
33851         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
33852         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
33853         Reported by Jonathan Patschke <jp@centtech.com>.
33854
33855 2008-07-31  Bruno Haible  <bruno@clisp.org>
33856
33857         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
33858         Reported by Paolo Bonzini <bonzini@gnu.org>.
33859
33860 2008-07-30  Eric Blake  <ebb9@byu.net>
33861
33862         test-strtod: allow compilation without -lm
33863         * tests/test-strtod.c (main): Avoid link dependence on fabs.
33864         Reported by Dennis Clarke <blastwave@gmail.com>.
33865
33866 2008-07-28  Jim Meyering  <meyering@redhat.com>
33867
33868         bootstrap: work also when there are no .po files in po/
33869         * build-aux/bootstrap (update_po_files): Complete the change
33870         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
33871
33872 2008-07-27  Jim Meyering  <meyering@redhat.com>
33873
33874         * users.txt: Add zile.
33875
33876 2008-07-26  Ben Pfaff  <blp@gnu.org>
33877
33878         Add missing dependencies on new m4/exponent[fdl].m4 files.
33879         * modules/isnanf-nolibm: Add m4/exponentf.m4.
33880         * modules/isnand-nolibm: Add m4/exponentd.m4.
33881         * modules/isnanl-nolibm: Add m4/exponentl.m4.
33882         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
33883         m4/isnan[fdl].m4, because the macros actually used moved.
33884         Reported by Jim Meyering.
33885
33886 2008-07-14  Ben Pfaff  <blp@gnu.org>
33887
33888         Add isinf module.
33889         * lib/isinf.c: New file.
33890         * lib/math.in.h: Define isinf macro if we have decided to replace
33891         it.
33892         * m4/isinf.m4: New file.
33893         * m4/math_h.m4: Initialize and substitute variables for isinf
33894         module.
33895         * modules/isinf: New file.
33896         * modules/isinf-tests: New file.
33897         * modules/math: Add substitutions for new module.
33898         * tests/test-isinf.c: New file.
33899         * doc/posix-functions/isinf.texi: Mention new module.
33900         * MODULES.html.sh: Mention new module.
33901
33902 2008-07-14  Ben Pfaff  <blp@gnu.org>
33903
33904         Factor out some macros for use by additional modules.
33905         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
33906         exponentf.m4.
33907         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
33908         exponentd.m4.
33909         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
33910         file exponentl.m4.
33911         * m4/exponentf.m4: New file.
33912         * m4/exponentd.m4: New file.
33913         * m4/exponentl.m4: New file.
33914         * modules/isnanf: Use new file m4/exponentf.m4.
33915         * modules/isnand: Use new file m4/exponentd.m4.
33916         * modules/isnanl: Use new file m4/exponentl.m4.
33917
33918 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
33919
33920         mktime.c: normalize tp->tm_isdst value to -1/0/1.
33921         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
33922         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
33923         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
33924
33925         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
33926         readlink on platforms without PATH_MAX.
33927
33928 2008-07-21  Eric Blake  <ebb9@byu.net>
33929
33930         Warn, not fail, on stale version.
33931         * top/GNUmakefile (_curr-ver): Tone down previous patch.
33932
33933         Don't allow installation with stale devel version number.
33934         * top/GNUmakefile (_is-install-target): New macro.
33935         (_curr-ver): Forbid installation with stale version number.
33936
33937 2008-07-20  Bruno Haible  <bruno@clisp.org>
33938
33939         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
33940         TESTS_ENVIRONMENT.
33941         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
33942
33943 2008-07-20  Bruno Haible  <bruno@clisp.org>
33944
33945         * lib/c-stack.h (c_stack_action): Add documentation.
33946         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
33947
33948 2008-07-20  Bruno Haible  <bruno@clisp.org>
33949
33950         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
33951         * modules/readlink (License): Likewise.
33952
33953 2008-07-17  Eric Blake  <ebb9@byu.net>
33954
33955         * modules/c-stack (Link): Fix typo.
33956
33957         Make c-stack use libsigsegv, when available.
33958         * modules/c-stack (Depends-on): Add libsigsegv.
33959         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
33960         needed.
33961         * lib/c-stack.c (SIGSTKSZ): Define fallback.
33962         (segv_handler, overflow_handler, c_stack_action)
33963         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
33964         implementation when libsigsegv is available, but only when using
33965         the library is necessary.
33966         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
33967         comment, explaining why XSI check fails on Linux.
33968         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
33969         * tests/test-c-stack2.sh: Tweak skip message.
33970         * NEWS: Document new link-time requirements.
33971
33972 2008-07-16  Eric Blake  <ebb9@byu.net>
33973
33974         c-stack: Expose false positives when not using libsigsegv.
33975         * modules/c-stack-tests (Files): Expand test.
33976         * tests/test-c-stack.c (main): Add means to conditionally trigger
33977         non-overflow SIGSEGV.
33978         * tests/test-c-stack2.sh: New file.
33979
33980 2008-07-14  Bruno Haible  <bruno@clisp.org>
33981
33982         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
33983         Reported by Eric Blake.
33984
33985 2008-07-14  Sam Steingold  <sds@gnu.org>
33986             Bruno Haible  <bruno@clisp.org>
33987
33988         New module libsigsegv.
33989         * modules/libsigsegv: New file.
33990         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
33991         modifications.
33992         * MODULES.html.sh (Signal handling): New section.
33993
33994 2008-07-14  Bruno Haible  <bruno@clisp.org>
33995
33996         * modules/unictype/ctype-* (Description): Add the word "function".
33997         Improves the resulting doc in MODULES.html.
33998
33999 2008-07-12  Ben Pfaff  <blp@gnu.org>
34000
34001         Add longlong module.
34002         * modules/longlong: New file.
34003
34004 2008-07-12  Bruno Haible  <bruno@clisp.org>
34005
34006         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
34007         to empty.
34008
34009 2008-07-10  Ben Pfaff  <blp@gnu.org>
34010
34011         Add isnan module.
34012         * doc/posix-functions/isnan.texi: Mention new module.
34013         * lib/math.in.h: Define isnan macro if we have decided to replace
34014         it.
34015         * m4/isnan.m4: New file.
34016         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
34017         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
34018         also.
34019         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
34020         redundancy.
34021         * m4/math_h.m4: Initialize and substitute variables for isnan
34022         module.
34023         * modules/isnan: New file.
34024         * modules/isnan-tests: New file.
34025         * modules/math: Add substitutions for new module.
34026         * tests/test-isnan.c: New file.
34027         * MODULES.html.sh: Mention new module.
34028
34029 2008-07-10  Ben Pfaff  <blp@gnu.org>
34030
34031         Add isnanf module.
34032         * lib/isnanf.m4: New file.
34033         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
34034         (gl_HAVE_ISNANF_IN_LIBM): New macro.
34035         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
34036         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
34037         * modules/isnanf: New file.
34038         * modules/isnanf-tests: New file.
34039         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
34040         files.
34041         * tests/test-isnanf-nolibm.c: factored most of its contents into
34042         new file tests/test-isnanf.h.
34043         * tests/test-isnanf.h: New file.
34044         * tests/test-isnanf.c: New file.
34045         * MODULES.html.sh: Mention new module.
34046         * doc/glibc-functions/isnanf.texi: Mention new module.
34047
34048 2008-07-10  Ben Pfaff  <blp@gnu.org>
34049
34050         Add isnand module.
34051         * lib/isnand.h: New file.
34052         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
34053         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
34054         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
34055         functionality also.
34056         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
34057         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
34058         (gl_HAVE_ISNAND_IN_LIBM): New macro.
34059         * modules/isnand: New file.
34060         * modules/isnand-tests: New file.
34061         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
34062         files.
34063         * tests/test-isnand-nolibm.c: factored most of its contents into
34064         new file tests/test-isnand.h.
34065         * tests/test-isnand.h: New file.
34066         * tests/test-isnand.c: New file.
34067         * MODULES.html.sh: Mention new module.
34068
34069 2008-07-10  Ben Pfaff  <blp@gnu.org>
34070
34071         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
34072         * lib/isnand.h: Rename lib/isnand-nolibm.h.
34073         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
34074         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
34075         * modules/isnanf-nolibm: Update references to renamed files.
34076         * modules/isnand-nolibm: Likewise.
34077         * modules/isnanf-nolibm-tests: Likewise.
34078         * modules/isnand-nolibm-tests: Likewise.
34079         * lib/frexp.c: Likewise.
34080         * lib/isfinite.c: Likewise.
34081         * lib/signbitd.c: Likewise.
34082         * lib/signbitf.c: Likewise.
34083         * lib/vasnprintf.c: Likewise.
34084         * tests/test-ceilf1.c: Likewise.
34085         * tests/test-ceilf2.c: Likewise.
34086         * tests/test-floorf1.c: Likewise.
34087         * tests/test-floorf2.c: Likewise.
34088         * tests/test-frexp.c: Likewise.
34089         * tests/test-round1.c: Likewise.
34090         * tests/test-round2.c: Likewise.
34091         * tests/test-roundf1.c: Likewise.
34092         * tests/test-strtod.c: Likewise.
34093         * tests/test-trunc1.c: Likewise.
34094         * tests/test-trunc2.c: Likewise.
34095         * tests/test-truncf1.c: Likewise.
34096         * tests/test-truncf2.c: Likewise.
34097         * NEWS: Mention the renamed header files.
34098
34099 2008-07-11  Jim Meyering  <meyering@redhat.com>
34100
34101         vc-list-files: make the last-resort awk code more portable
34102         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
34103         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
34104         does not support it.
34105
34106 2008-07-10  Eric Blake  <ebb9@byu.net>
34107
34108         Work with tar's bootstrap.
34109         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
34110         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
34111         an m4 comment.
34112
34113 2008-07-09  Jim Meyering  <meyering@redhat.com>
34114
34115         posix-shell.m4: fix typo that made this test malfunction
34116         * m4/posix-shell.m4: Remove capitalization in variable name.
34117
34118 2008-07-08  Bruno Haible  <bruno@clisp.org>
34119
34120         * m4/onceonly.m4: Update comments.
34121         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34122
34123 2008-07-04  Jim Meyering  <meyering@redhat.com>
34124
34125         * users.txt: Add vc-dwim.
34126         (bison, coreutils): Use the gitweb URL.
34127
34128 2008-07-03  Jim Meyering  <meyering@redhat.com>
34129
34130         * users.txt: Add libffcall.  From Sam Steingold.
34131
34132 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
34133
34134         getdate.y: do not ignore TZ with relative day, month or year offset
34135         * lib/getdate.y (get_date): Move the tz-handling block to follow the
34136         relative-date-handling, since otherwise, the latter would clobber the
34137         sole output (an updated Start value) of the tz-handling block.
34138         * tests/test-getdate.c: Tests for the fix
34139
34140 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34141
34142         Recognize 'foo_LIBRARIES += libgnu.a'.
34143         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
34144         makefile snippet has already specified an installation location,
34145         also using '+='.
34146
34147 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
34148
34149         getdate.y: factor out common actions
34150         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
34151         Use them in place of open-coded actions.
34152
34153 2008-07-01  Simon Josefsson  <simon@josefsson.org>
34154
34155         Add self-test for getdate module.
34156         * modules/getdate-tests: New file.
34157         * tests/test-getdate.c: New file.
34158
34159 2008-06-29  Bruno Haible  <bruno@clisp.org>
34160
34161         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
34162         .gitignore.
34163         Reported by Sylvain Beucler <beuc@beuc.net>.
34164
34165 2008-06-29  Bruno Haible  <bruno@clisp.org>
34166
34167         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
34168         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
34169
34170 2008-06-29  Bruno Haible  <bruno@clisp.org>
34171
34172         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
34173         EXTRA_DIST.
34174         Reported by Sylvain Beucler <beuc@beuc.net>.
34175
34176 2008-06-26  Jim Meyering  <meyering@redhat.com>
34177
34178         make several modules depend on the "open" module
34179         This provides slightly increased consistency when opening-for-write
34180         the name of a non-directory spelled with a trailing slash.
34181         * modules/chdir-safer: Likewise.
34182         * modules/chown: Likewise.
34183         * modules/clean-temp: Likewise.
34184         * modules/copy-file: Likewise.
34185         * modules/fchdir: Likewise.
34186         * modules/fcntl-safer: Likewise.
34187         * modules/pipe: Likewise.
34188         * modules/utime: Likewise.
34189         Prompted by Eric Blake and Bruno Haible.
34190
34191 2008-06-24  Andreas Schwab  <schwab@suse.de>
34192
34193         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
34194         literals can be used as initializers for global variables.
34195
34196 2008-06-23  Eric Blake  <ebb9@byu.net>
34197
34198         Make gnulib-cache.m4 easier to diff.
34199         * gnulib-tool (func_import): Allow newlines when reading cached
34200         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
34201
34202 2008-06-23  Bruno Haible  <bruno@clisp.org>
34203
34204         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
34205         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
34206         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
34207         m4/signalblocking.m4.
34208         (gl_PREREQ_SIGACTION): Don't invoke it.
34209         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
34210         gl_PREREQ_SIG_HANDLER_H.
34211         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34212         Don't check for sigaction here.
34213
34214 2008-06-23  Bruno Haible  <bruno@clisp.org>
34215
34216         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
34217         (install_handlers): Don't set the SA_RESETHAND flag.
34218
34219 2008-06-23  Bruno Haible  <bruno@clisp.org>
34220
34221         * m4/sigaction.m4: Comment fixes.
34222         * lib/signal.in.h: Likewise.
34223
34224 2008-06-23  Eric Blake  <ebb9@byu.net>
34225
34226         Fix typo.
34227         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
34228
34229         Avoid SA_ namespace.
34230         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
34231         Reported by Ralf Wildenhues.
34232
34233         Avoid test failure due to SA_RESTORER.
34234         * tests/test-sigaction.c (SA_MASK): New macro.
34235         (main): Avoid failing due to extension flags being set.
34236         Reported by Jim Meyering.
34237
34238         Revert use of sig-handler.h in sigprocmask.c.
34239         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
34240         it requires the existence of struct sigaction.
34241         * lib/sigprocmask.c (handler_t): Restore typedef.
34242         (rpl_signal, old_handlers): Use local type.
34243
34244 2008-06-22  Bruno Haible  <bruno@clisp.org>
34245
34246         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
34247         conditionally.
34248         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34249
34250 2008-06-22  Bruno Haible  <bruno@clisp.org>
34251
34252         * doc/posix-functions/siginterrupt.texi: Move note.
34253
34254         * lib/signal.in.h (SA_RESTART): New macro.
34255         * lib/sigaction.c: Update comment.
34256
34257         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
34258
34259         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
34260         (gl_PREREQ_SIGPROCMASK): Invoke it.
34261         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
34262
34263         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
34264
34265         * lib/sigprocmask.c: Update a comment.
34266
34267 2008-06-21  Eric Blake  <ebb9@byu.net>
34268
34269         Use sigaction module rather than signal().
34270         * modules/c-stack (Depends-on): Add sigaction.
34271         * modules/fatal-signal (Depends-on): Likewise.
34272         * modules/nanosleep (Depends-on): Likewise.
34273         * modules/sigprocmask (Files): Add sig-handler.h.
34274         * modules/sigaction (Files): Likewise.
34275         * lib/sig-handler.h (get_handler): New file, suggested by Paul
34276         Eggert.
34277         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
34278         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
34279         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
34280         (init_fatal_signals): Likewise.
34281         * lib/nanosleep.c (rpl_nanosleep): Likewise.
34282         (siginterrupt): Delete fallback.
34283         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
34284         instead.
34285         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
34286         siginterrupt.
34287
34288         New module sigaction, for mingw.
34289         * modules/sigaction: New module...
34290         * modules/sigaction-tests: ...and its test.
34291         * m4/sigaction.m4: New file.
34292         * lib/sigaction.c: Likewise.
34293         * tests/test-sigaction.c: Likewise.
34294         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
34295         * modules/signal (Makefile.am): Likewise.
34296         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
34297         needed.
34298         * doc/posix-headers/signal.texi (signal.h): Mention provided
34299         types.
34300         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
34301         that sigaction is preferable.
34302         * doc/posix-functions/sigaction.texi (sigaction): Mention new
34303         module.
34304         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34305         sigaction.
34306
34307         Improve robustness of sigprocmask by overriding signal.
34308         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
34309         is in use.
34310         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
34311         (SIGKILL, SIGSTOP): Provide fallbacks.
34312         (rpl_signal): Implement.
34313         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
34314         signal can be called inside handlers.
34315
34316         Fix nanosleep module on mingw.
34317         * modules/nanosleep (Depends-on): Add sys_select.
34318         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
34319
34320         Fix licensing of sigprocmask.
34321         * modules/raise (License): Relicense as LGPL.
34322
34323 2008-06-21  Bruno Haible  <bruno@clisp.org>
34324
34325         * lib/propername.c (proper_name_utf8): Don't use the transliterated
34326         result if it contains question marks.
34327         Reported by Michael Geng <linux@michaelgeng.de>.
34328
34329 2008-06-19  Bruno Haible  <bruno@clisp.org>
34330
34331         Fix CVS-ism.
34332         * doc/gnulib.texi: Include updated-stamp.texi.
34333         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
34334         (updated-stamp.texi): New rule.
34335         (gnulib.info): Depend on it.
34336         * doc/.gitignore: Add updated-stamp.texi.
34337         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
34338
34339 2008-06-19  Bruno Haible  <bruno@clisp.org>
34340
34341         * doc/Makefile (gnulib.info): Update and simplify dependencies.
34342         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
34343
34344 2008-06-19  Eric Blake  <ebb9@byu.net>
34345
34346         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
34347         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
34348         Reported by Stepan Kasal.
34349
34350 2008-06-18  Bruno Haible  <bruno@clisp.org>
34351
34352         * lib/fatal-signal.c (init_fatal_signals): Add comment.
34353         Reported by Eric Blake.
34354
34355 2008-06-18  Eric Blake  <ebb9@byu.net>
34356
34357         Work around cygwin 1.5.25 strsignal bug.
34358         * tests/test-strsignal.c: Allow for const char *.
34359         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
34360
34361 2008-06-18  Simon Josefsson  <simon@josefsson.org>
34362
34363         * users.txt: Update URL to article and add author/date
34364         information.
34365
34366 2008-06-17  Bruno Haible  <bruno@clisp.org>
34367
34368         New macro gl_DISABLE_THREADS.
34369         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
34370         if the user did not pass --enable-threads or --disable-threads option.
34371         (gl_DISABLE_THREADS): New macro.
34372         Reported by Eric Blake <ebb9@byu.net>.
34373
34374 2008-06-17  Bruno Haible  <bruno@clisp.org>
34375
34376         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
34377         when the macro ignores it.
34378         Based on a patch by Eric Blake <ebb9@byu.net>.
34379
34380 2008-06-17  Bruno Haible  <bruno@clisp.org>
34381
34382         * modules/tls (License): Change to LGPLv2+.
34383         Reported by Eric Blake.
34384
34385 2008-06-17  Eric Blake  <ebb9@byu.net>
34386
34387         Simplify c-stack prerequisites.
34388         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
34389         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
34390         no longer requires <ucontext.h> to exist.  Optimize setrlimit
34391         check.
34392         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
34393         <sys/resource.h>.
34394
34395         Move c-stack test into testsuite.
34396         * modules/c-stack-tests: New file.
34397         * lib/c-stack.c [DEBUG]: Move test program...
34398         * tests/test-c-stack.c: ...into this new file.  Skip rather than
34399         fail test if sigaltstack is lacking.
34400         * tests/test-c-stack.sh: New driver file.
34401
34402 2008-06-16  Eric Blake  <ebb9@byu.net>
34403
34404         Use raise module consistently.
34405         * modules/fatal-signal (Depends-on): Add raise.
34406         * modules/sigprocmask (Depends-on): Likewise.
34407         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
34408         * lib/sigprocmask.c (sigprocmask): Likewise.
34409         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
34410         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
34411
34412         Fix compliance bug in sigpending.
34413         * lib/sigprocmask.c (sigpending): Return pending array via
34414         parameter, not return value.
34415
34416 2008-06-14  Eric Blake  <ebb9@byu.net>
34417
34418         Improve obstack-printf test code.
34419         * tests/test-obstack-printf.c (test_function): Fix comment, and
34420         simplify usage of obstack_* in macros.  Add a test for coverage.
34421         Reported by Bruno Haible.
34422
34423 2008-06-14  Bruno Haible  <bruno@clisp.org>
34424
34425         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
34426         array size as a constant, not as a const variable.
34427         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
34428         AC_USE_SYSTEM_EXTENSIONS.
34429         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
34430         Test whether the obstack_printf function actually exists.
34431         * modules/obstack-printf (Depends-on): Add extensions.
34432         (Include): Remove obstack.h.
34433         * modules/obstack-printf-posix (Depends-on): Add extensions.
34434         (Include): Remove obstack.h.
34435
34436 2008-06-13  Eric Blake  <ebb9@byu.net>
34437
34438         Add obstack-printf and obstack-printf-posix modules.
34439         * modules/obstack-printf: New file.
34440         * modules/obstack-printf-posix: Likewise.
34441         * MODULES.html.sh (Misc): Mention them.
34442         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
34443         Likewise.
34444         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
34445         Likewise.
34446         * modules/stdio (Makefile.am): Accomodate new modules.
34447         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
34448         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
34449         Declare.
34450         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
34451         functions.
34452         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
34453         (gl_REPLACE_OBSTACK_PRINTF): New macros
34454         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
34455         * tests/test-obstack-printf.c: New file.
34456         * modules/obstack-printf-tests: Likewise.
34457         * modules/obstack-printf-posix-tests: Likewise.
34458
34459 2008-06-11  Bruno Haible  <bruno@clisp.org>
34460
34461         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
34462         * lib/open.c: Include errno.h.
34463         (open): Fail when attempting to write to a file that has a trailing
34464         slash.
34465         * tests/test-open.c (main): Test against trailing slash bug.
34466         * doc/posix-functions/open.texi: Mention the trailing slash bug.
34467
34468 2008-06-10  Bruno Haible  <bruno@clisp.org>
34469
34470         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
34471         for $? to work inside the trap command, with various /bin/sh-s.
34472         * tests/test-vc-list-files-cvs.sh: Likewise.
34473
34474 2008-06-10  Bruno Haible  <bruno@clisp.org>
34475
34476         * lib/acl-internal.h: Don't include gettext.h here.
34477         * lib/set-mode-acl.c: Include gettext.h here.
34478         * lib/copy-acl.c: Likewise.
34479
34480 2008-06-10  Bruno Haible  <bruno@clisp.org>
34481
34482         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
34483         * lib/wait-process.c (wait_subprocess): Likewise.
34484         * lib/execute.h (execute): Add termsigp argument.
34485         * lib/execute.c (execute): Likewise.
34486         * lib/csharpcomp.c (compile_csharp_using_pnet,
34487         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
34488         * lib/csharpexec.c (execute_csharp_using_pnet,
34489         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
34490         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
34491         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
34492         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
34493         is_jikes_present): Update.
34494         * lib/javaexec.c (execute_java_class): Update.
34495         * lib/javaversion.c (execute_and_read_line): Update.
34496         * NEWS: Document the changes.
34497         Reported by Eric Blake.
34498
34499 2008-06-10  Eric Blake  <ebb9@byu.net>
34500
34501         Add missing include.
34502         * tests/test-strstr.c (includes): Add <signal.h>.
34503         * tests/test-strcasestr.c (includes): Likewise.
34504         * tests/test-memmem.c (includes): Likewise.
34505
34506 2008-06-10  Bruno Haible  <bruno@clisp.org>
34507
34508         * lib/wait-process.c (wait_subprocess): Add an assertion.
34509
34510 2008-06-10  Bruno Haible  <bruno@clisp.org>
34511
34512         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
34513
34514 2008-06-10  Bruno Haible  <bruno@clisp.org>
34515
34516         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
34517         using alarm().
34518         * tests/test-strcasestr.c (main): Likewise.
34519         * tests/test-strstr.c (main): Likewise.
34520
34521 2008-06-09  Bruno Haible  <bruno@clisp.org>
34522
34523         Work around the Solaris 10 ACE ACLs ABI change.
34524         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
34525         declare if ACL_NO_TRIVIAL is present.
34526         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
34527         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
34528         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
34529         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
34530         define if ACL_NO_TRIVIAL is present.
34531         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
34532         and use the current ABI.
34533         (file_has_acl): Use same #if condition as elsewhere.
34534         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
34535         in use, and use the current ABI.
34536         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
34537         Reported by Jim Meyering.
34538
34539 2008-06-09  Eric Blake  <ebb9@byu.net>
34540
34541         Work around environments that (stupidly) ignore SIGALRM.
34542         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
34543         before using alarm().
34544         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
34545         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
34546         Reported by Ian Beckwith <ianb@erislabs.net>.
34547
34548         Produce autobuild blurb earlier in log.
34549         * modules/autobuild (configure.ac-early): Move AB_INIT here.
34550
34551 2008-06-09  Jim Meyering  <meyering@redhat.com>
34552         and OndÅ™ej Vašík  <ovasik@redhat.com>
34553
34554         utimens.c: correct kernel bug work-around
34555         OndÅ™ej Vašík found that the invalid return value of 280 indicates
34556         failure, not success, and the kernel bug we're trying to work
34557         around affects not just the utimensat call, but also the fallback
34558         futimens call.
34559         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
34560         not success.
34561         [HAVE_FUTIMENS]: Use the same work-around, here.
34562
34563 2008-06-09  Jim Meyering  <meyering@redhat.com>
34564
34565         add more guards around definition of ACE_-related code
34566         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
34567         ALLOW and ACE_OWNER are also defined.
34568
34569 2008-06-08  Bruno Haible  <bruno@clisp.org>
34570
34571         * lib/acl-internal.h: Add me as co-author.
34572         * lib/file-has-acl.c: Likewise.
34573         * lib/set-mode-acl.c: Likewise.
34574         * lib/copy-acl.c: Likewise.
34575
34576 2008-06-08  Bruno Haible  <bruno@clisp.org>
34577
34578         Add support for AIX ACLs.
34579         * lib/acl-internal.h (acl_nontrivial): New declaration.
34580         * lib/file-has-acl.c (acl_nontrivial): New function.
34581         (file_has_acl): Add implementation using AIX 4 ACL API.
34582         * lib/set-mode-acl.c (qset_acl): Likewise.
34583         * lib/copy-acl.c (qcopy_acl): Likewise.
34584
34585 2008-06-08  Bruno Haible  <bruno@clisp.org>
34586
34587         Add support for HP-UX ACLs.
34588         * lib/acl-internal.h (acl_nontrivial): New declaration.
34589         * lib/file-has-acl.c (acl_nontrivial): New function.
34590         (file_has_acl): Add implementation using HP-UX 11 ACL API.
34591         * lib/set-mode-acl.c (qset_acl): Likewise.
34592         * lib/copy-acl.c (qcopy_acl): Likewise.
34593
34594 2008-06-08  Bruno Haible  <bruno@clisp.org>
34595
34596         Add support for Cygwin ACLs.
34597         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
34598         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
34599         the chmod_or_fchmod call.
34600         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
34601
34602 2008-06-08  Bruno Haible  <bruno@clisp.org>
34603
34604         Fix bug with setuid modes in Solaris 10+ code.
34605         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
34606         succeeded, when the mode contains some special bits.
34607
34608 2008-06-08  Bruno Haible  <bruno@clisp.org>
34609
34610         Add support for Solaris 7..10 ACLs.
34611         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
34612         declarations.
34613         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
34614         functions.
34615         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
34616         * lib/set-mode-acl.c (qset_acl): Likewise.
34617         * lib/copy-acl.c (qcopy_acl): Likewise.
34618
34619 2008-06-08  Bruno Haible  <bruno@clisp.org>
34620
34621         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
34622         declaration.
34623         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
34624         (acl_access_nontrivial): Remove MacOS X case.
34625         (file_has_acl): Use acl_extended_nontrivial.
34626         * lib/copy-acl.c (qcopy_acl): Likewise.
34627
34628 2008-06-08  Bruno Haible  <bruno@clisp.org>
34629
34630         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
34631
34632 2008-06-08  Jim Meyering  <meyering@redhat.com>
34633
34634         * modules/acl (Maintainer): Add Bruno Haible.
34635
34636 2008-06-07  Bruno Haible  <bruno@clisp.org>
34637
34638         Improve support for Tru64 ACLs.
34639         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
34640         ACL on OSF/1.
34641
34642 2008-06-07  Bruno Haible  <bruno@clisp.org>
34643
34644         Add support for MacOS X ACLs.
34645         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
34646         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
34647         * lib/set-mode-acl.c (qset_acl): Likewise.
34648         * lib/copy-acl.c (qcopy_acl): Likewise.
34649
34650 2008-06-07  Bruno Haible  <bruno@clisp.org>
34651
34652         Fix memory leak introduced on 2008-05-22.
34653         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
34654         use.
34655
34656 2008-06-07  Bruno Haible  <bruno@clisp.org>
34657
34658         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
34659         to construct an empty ACL.
34660
34661 2008-06-07  Bruno Haible  <bruno@clisp.org>
34662
34663         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
34664         precisely.
34665         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
34666
34667 2008-06-07  Bruno Haible  <bruno@clisp.org>
34668
34669         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
34670         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
34671
34672 2008-06-07  Bruno Haible  <bruno@clisp.org>
34673
34674         * doc/posix-functions/_setjmp.texi: Explain the use of this function
34675         regardless of POSIX.
34676         * doc/posix-functions/_longjmp.texi: Likewise.
34677         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
34678         SystemV platform in this case.
34679
34680 2008-06-06  Eric Blake  <ebb9@byu.net>
34681
34682         Document abort() bugs.
34683         * doc/posix-functions/abort.texi (abort): Mention anomalies.
34684
34685         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
34686         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
34687         sigsetjmp.
34688         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
34689         siglongjmp, but only as a macro.
34690         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
34691         is obsolete.
34692         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
34693
34694         Tweak documentation to cover cygwin argz bugs.
34695         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
34696         argz bug fix; no code change needed since no cygwin releases
34697         occurred between the last fix and the bug being tested.
34698         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
34699         module and recently fixed cygwin bugs.
34700         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
34701         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
34702         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
34703         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
34704         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
34705         Likewise.
34706         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
34707         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
34708         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
34709         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
34710         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
34711         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
34712         Likewise.
34713
34714         Avoid gcc warning on cygwin.
34715         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
34716         !ACL_NO_TRIVIAL]: Avoid unused variable.
34717
34718 2008-06-05  Eric Blake  <ebb9@byu.net>
34719
34720         Be tolerant of UNKNOWN version in gnulib-tool test dir.
34721         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
34722         git-version-gen fails to come up with a version.
34723         Reported by Simon Josefsson.
34724
34725 2008-06-05  Jim Meyering  <meyering@redhat.com>
34726             Paul Eggert  <eggert@cs.ucla.edu>
34727
34728         utimens.c: work around a probable Linux kernel bug
34729         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
34730         appears to be a kernel bug that causes utimensat to return 280
34731         instead of 0, indicating success.
34732
34733 2008-06-04  Bruno Haible  <bruno@clisp.org>
34734
34735         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
34736         2008-06-01 commit.
34737
34738 2008-06-04  Bruno Haible  <bruno@clisp.org>
34739
34740         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
34741         * lib/file-has-acl.c (acl_access_nontrivial): New function.
34742         (file_has_acl): Use it. Save errno afterwards.
34743         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
34744
34745 2008-06-03  Bruno Haible  <bruno@clisp.org>
34746
34747         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
34748         draft code. Simplify #ifs.
34749         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
34750         Put Solaris code after POSIX-draft code. Fix comments regarding
34751         Solaris 10, HP-UX. Mention Cygwin.
34752         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
34753
34754 2008-06-03  Eric Blake  <ebb9@byu.net>
34755
34756         Provide fallback for older kernels.
34757         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
34758         Provide runtime fallback if kernel lacks support.
34759         Reported by Mike Frysinger.
34760
34761 2008-06-02  Bruno Haible  <bruno@clisp.org>
34762
34763         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
34764         it exists.
34765
34766 2008-06-02  Bruno Haible  <bruno@clisp.org>
34767
34768         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
34769         * lib/copy-acl.c (qcopy_acl): Update comment.
34770
34771 2008-06-02  Bruno Haible  <bruno@clisp.org>
34772
34773         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
34774         like ACL APIs.
34775
34776 2008-06-02  Bruno Haible  <bruno@clisp.org>
34777
34778         * tests/test-file-has-acl.sh: Use different code for Cygwin.
34779         * tests/test-set-mode-acl.sh: Likewise.
34780         * tests/test-copy-acl.sh: Likewise.
34781         * tests/test-copy-file.sh: Likewise.
34782
34783 2008-06-02  Bruno Haible  <bruno@clisp.org>
34784
34785         * tests/test-file-has-acl.sh: Remove unused code.
34786
34787 2008-06-01  Bruno Haible  <bruno@clisp.org>
34788
34789         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
34790         (copy_acl): Just a wrapper around qcopy_acl that emits the error
34791         messages.
34792         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
34793
34794 2008-06-01  Bruno Haible  <bruno@clisp.org>
34795
34796         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
34797         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
34798         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
34799         APIs.
34800         * modules/acl-tests (configure.ac): Remove tests now contained in
34801         m4/acl.m4.
34802
34803 2008-06-02  Jim Meyering  <meyering@redhat.com>
34804
34805         announce-gen: use a better key-server host name
34806         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
34807         it may be more consistently reliable.  Suggested by Werner Koch
34808         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
34809
34810 2008-06-01  Bruno Haible  <bruno@clisp.org>
34811
34812         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
34813         Reported by Voroskoi Andras <voroskoi@gmail.com>.
34814
34815 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
34816
34817         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
34818
34819 2008-06-01  Bruno Haible  <bruno@clisp.org>
34820
34821         New ACL tests.
34822         * tests/test-file-has-acl.sh: New file.
34823         * tests/test-file-has-acl.c: New file.
34824         * tests/test-set-mode-acl.sh: New file.
34825         * tests/test-set-mode-acl.c: New file.
34826         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
34827         * tests/test-copy-acl.c: New file.
34828         * modules/acl-tests: New file, based on modules/copy-file-tests.
34829         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
34830         (Depends-on): Add acl-tests.
34831         (configure.ac): Remove checks.
34832         (Makefile.am): Don't create test-sameacls program here any more.
34833
34834 2008-06-01  Bruno Haible  <bruno@clisp.org>
34835
34836         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
34837         * tests/test-sameacls.c: Include progname.h.
34838         (main): Invoke set_program_name. Portability fixes for MacOS X,
34839         Solaris, HP-UX.
34840
34841 2008-06-01  Bruno Haible  <bruno@clisp.org>
34842
34843         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
34844         function.
34845         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
34846
34847 2008-06-01  Bruno Haible  <bruno@clisp.org>
34848
34849         * modules/rpmatch (Depends-on): Add strdup.
34850
34851 2008-06-01  Bruno Haible  <bruno@clisp.org>
34852
34853         * lib/pipe.c: Include unistd-safer.h.
34854         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
34855         * modules/pipe (Depends-on): Add unistd-safer.
34856
34857 2008-05-30  Simon Josefsson  <simon@josefsson.org>
34858
34859         * modules/autobuild (configure.ac): Call AB_INIT.
34860
34861 2008-05-30  Simon Josefsson  <simon@josefsson.org>
34862
34863         * tests/test-getaddrinfo.c: Don't print debug messages by default.
34864         Suggested by Bruno Haible <bruno@clisp.org>.
34865
34866 2008-05-30  Simon Josefsson  <simon@josefsson.org>
34867
34868         * tests/test-base64.c: Cast size_t to unsigned long when invoking
34869         printf.  Use %lu instead of %d.  Reported by Bruno Haible
34870         <bruno@clisp.org>.
34871
34872 2008-05-29  Eric Blake  <ebb9@byu.net>
34873
34874         Prefer new POSIX 200x interfaces over futimesat.
34875         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
34876         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
34877         when available.
34878         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
34879
34880 2008-05-28  Bruno Haible  <bruno@clisp.org>
34881
34882         * modules/stpcpy (License): Change to LGPLv2+.
34883         Requested by David Lutterkort <dlutter@redhat.com>.
34884
34885 2008-05-27  Bruno Haible  <bruno@clisp.org>
34886
34887         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
34888         current mingw.
34889         Reported by Jose E. Marchesi <jemarch@gnu.org>.
34890
34891 2008-05-27  Bruno Haible  <bruno@clisp.org>
34892
34893         * modules/iconv_open (Link): New section, from module 'iconv'.
34894         * modules/striconv (Link): Likewise.
34895         * modules/striconveh (Link): Likewise.
34896         * modules/xstriconv (Link): Likewise.
34897         * modules/unicodeio (Link): Likewise.
34898         * modules/propername (Link): Likewise.
34899         Reported by Jim Meyering.
34900
34901 2008-05-26  Jim Meyering  <meyering@redhat.com>
34902
34903         sha256: do not artificially restrict buffer length to be < 2^32
34904         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
34905         uint32_t to size_t.
34906         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
34907         to match.
34908
34909         avoid unaligned access errors, e.g., on sparc
34910         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
34911         direct access through a possibly-unaligned uint64* pointer.
34912         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
34913         direct access through a possibly-unaligned uint32* pointer.
34914         Prompted by this patch from Tom "spot" Callaway:
34915         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
34916
34917         sha512.c: fix typo in comment
34918         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
34919
34920 2008-05-25  Bruno Haible  <bruno@clisp.org>
34921
34922         * lib/set-mode-acl.c: Renamed from lib/acl.c.
34923         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
34924         (Makefile.am): Update lib_SOURCES.
34925
34926 2008-05-25  Bruno Haible  <bruno@clisp.org>
34927
34928         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
34929
34930 2008-05-25  Jim Meyering  <meyering@redhat.com>
34931
34932         useless-if-before-free: freed expr may have white-space differences
34933         * build-aux/useless-if-before-free: Recognize cases in which the
34934         freed expression differs from the tested one in embedded white
34935         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
34936         $1 was used, so we can't make any regexp shy.  Improved tests now
34937         detect this.
34938
34939         useless-if-before-free: accept white space in the expression.
34940         * build-aux/useless-if-before-free: For now, any white space
34941         in the expression must be identical in the free argument.
34942
34943         useless-if-before-free: efficiency tweak
34944         * build-aux/useless-if-before-free: Make the expression-matching
34945         regexp "shy".
34946         Make the *outer* regexp shy, not the expr-matching one.
34947
34948         update code-in-comment to accept cast of free arg
34949         * build-aux/useless-if-before-free: Update regexp.
34950
34951 2008-05-25  Bruno Haible  <bruno@clisp.org>
34952
34953         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
34954         * modules/copy-file-tests (Files, Makefile.am): Update.
34955         * tests/test-copy-file.c (func_test_copy): Update.
34956
34957 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
34958
34959         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
34960
34961 2008-05-23  Bruno Haible  <bruno@clisp.org>
34962
34963         Improve support for ACLs on OSF/1.
34964         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
34965         Remove fallback for unknown flavors of ACLs.
34966
34967 2008-05-22  Bruno Haible  <bruno@clisp.org>
34968
34969         Add support for ACLs on OSF/1.
34970         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
34971         replacements.
34972         (acl_free_text): New macro fallback.
34973         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
34974         acl_free.
34975         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
34976         acl_free_text function. Require AC_C_INLINE.
34977
34978 2008-05-22  Bruno Haible  <bruno@clisp.org>
34979
34980         Make copy_acl work on MacOS X 10.5.
34981         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
34982         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
34983         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
34984         If MODE_INSIDE_ACL, don't assume that every system has the same text
34985         representation for ACLs as FreeBSD.
34986         * lib/copy-acl.c (copy_acl): Add support for platforms with
34987         !MODE_INSIDE_ACL.
34988         * lib/file-has-acl.c (file_has_acl): Likewise.
34989         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
34990         FreeBSD, MacOS X, or IRIX, respectively.
34991
34992 2008-05-22  Bruno Haible  <bruno@clisp.org>
34993
34994         * lib/acl.h: Don't include <sys/acl.h>.
34995         (GETACLCNT): Move fallback to lib/acl-internal.h.
34996         * lib/acl-internal.h: Include <sys/acl.h> here.
34997         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
34998
34999 2008-05-22  Bruno Haible  <bruno@clisp.org>
35000
35001         Split off copy_acl function to separate file.
35002         * lib/copy-acl.c: New file, extracted from lib/acl.c.
35003         * lib/acl.c (copy_acl): Moved function to separate file.
35004         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
35005         * modules/acl (Files): Add lib/copy-acl.c.
35006         (Makefiles.am): Augment lib_SOURCES.
35007
35008 2008-05-22  Bruno Haible  <bruno@clisp.org>
35009
35010         * modules/copy-file-tests: New file.
35011         * tests/test-copy-file.sh: New file.
35012         * tests/test-copy-file.c: New file.
35013         * tests/test-copy-file-sameacls.c: New file.
35014
35015 2008-05-22  Eric Blake  <ebb9@byu.net>
35016
35017         Avoid gcc warning.
35018         * tests/test-memcmp.c (main): Pass NULL indirectly.
35019
35020 2008-05-21  Bruno Haible  <bruno@clisp.org>
35021
35022         Add reference doc about ACLs.
35023         * doc/acl-resources.txt: New file.
35024         * doc/acl-cygwin.txt: New file.
35025
35026 2008-05-21  Bruno Haible  <bruno@clisp.org>
35027
35028         Avoid one more warning from gcc.
35029         * lib/vasnprintf.c (IF_LINT): Update comments.
35030         (VASNPRINTF): Use it also for the 'prefix' array initializer.
35031
35032 2008-05-21  Jim Meyering  <meyering@redhat.com>
35033
35034         avoid a warning from gcc
35035         * lib/vasnprintf.c (IF_LINT): Define.
35036         (scale10_round_decimal_long_double):
35037         Use it to avoid a "may be used uninitialized" warning.
35038         (scale10_round_decimal_double): Likewise.
35039
35040 2008-05-21  Simon Josefsson  <simon@josefsson.org>
35041
35042         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
35043         declared.
35044
35045 2008-05-20  Bruno Haible  <bruno@clisp.org>
35046
35047         * tests/test-memcmp.c (main): Test also the sign of the result. Test
35048         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
35049
35050 2008-05-20  Simon Josefsson  <simon@josefsson.org>
35051
35052         * modules/memcmp-tests: New file.
35053         * tests/test-memcmp.c: New file.
35054
35055 2008-05-19  Bruno Haible  <bruno@clisp.org>
35056
35057         * modules/propername (Notice, configure.ac): Put quoted "..." into
35058         --keyword option.
35059         * lib/propername.h: Update comments accordingly.
35060         Reported by Eric Blake.
35061
35062 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
35063
35064         * modules/getpass-gnu (Depends-on): Add fseeko.
35065
35066 2008-05-19  Simon Josefsson  <simon@josefsson.org>
35067
35068         * modules/base64-tests: New file.
35069
35070 2008-05-19  Bo Borgerson <gigabo@gmail.com>
35071
35072         * lib/base64.c (base64_decode_ctx): If a decode context structure
35073         was passed in use it to ignore newlines.  If a context structure
35074         was _not_ passed in, continue to treat newlines as garbage (this
35075         is the historical behavior).  Formerly base64_decode.
35076         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
35077         takes a decode context structure.
35078         * lib/base64.h (base64_decode): Macro for four-argument calls.
35079         (base64_decode_alloc): Likewise.
35080         * lib/base64.c (base64_decode_ctx): If a decode context structure
35081         was passed in use it to ignore newlines.  If a context structure
35082         was _not_ passed in, continue to treat newlines as garbage (this
35083         is the historical behavior).  Formerly base64_decode.
35084         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
35085         takes a decode context structure.
35086         * lib/base64.h (base64_decode): Macro for four-argument calls.
35087         (base64_decode_alloc): Likewise.
35088
35089 2008-05-19  Jim Meyering  <meyering@redhat.com>
35090
35091         avoid a warning from gcc
35092         * lib/trim.c (IF_LINT): Define.
35093         (trim2): Use it to avoid a "may be used uninitialized" warning.
35094
35095         Fix doc typo.
35096         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
35097
35098 2008-05-19  Bruno Haible  <bruno@clisp.org>
35099
35100         * doc/glibc-functions/getpass.texi: Document limits of other
35101         implementations.
35102
35103 2008-05-19  Simon Josefsson  <simon@josefsson.org>
35104             Bruno Haible <bruno@clisp.org>
35105
35106         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
35107
35108 2008-05-18  Bruno Haible  <bruno@clisp.org>
35109
35110         * modules/propername: New file, from GNU gettext.
35111         * lib/propername.h: New file, from GNU gettext.
35112         * lib/propername.c: New file, from GNU gettext.
35113         * MODULES.html.sh (Internationalization functions): Add propername.
35114
35115 2008-05-16  Jim Meyering  <meyering@redhat.com>
35116             Bruno Haible  <bruno@clisp.org>
35117
35118         Avoid some warnings from "gcc -Wshadow".
35119         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
35120
35121 2008-05-15  Eric Blake  <ebb9@byu.net>
35122
35123         Extend previous patch to cygwin 1.7.0.
35124         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
35125         fast implementation in cygwin >= 1.7.0.
35126         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35127         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35128
35129 2008-05-15  Bruno Haible  <bruno@clisp.org>
35130
35131         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
35132         implementation in glibc >= 2.9.
35133         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
35134         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
35135
35136 2008-05-15  Bruno Haible  <bruno@clisp.org>
35137
35138         * MODULES.html.sh (Internationalization functions): Remove linebreak.
35139         (Unicode string functions): Add unilbrk/*.
35140         Reported by Karl Berry.
35141
35142 2008-05-15  Eric Blake  <ebb9@byu.net>
35143
35144         Fix violation of <stdbool.h> replacement in regex.
35145         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
35146         * lib/regexec.c (re_search_internal): Likewise.
35147         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
35148
35149 2008-05-15  Jim Meyering  <meyering@redhat.com>
35150
35151         avoid distracting test output when git or cvs is not found
35152         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
35153         * tests/test-vc-list-files-git.sh: Likewise.
35154
35155 2008-05-15  Eric Blake  <ebb9@byu.net>
35156
35157         Glibc finally accepted the memmem speedup code, bugzilla #5514.
35158         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
35159         glibc version.
35160         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
35161         * doc/posix-functions/strstr.texi (strstr): Likewise.
35162         * lib/str-two-way.h (MAX): Sychronize with glibc.
35163
35164 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
35165
35166         * lib/regcomp.c (optimize_utf8): Add a note on why we test
35167         opr.ctx_type.
35168         (calc_first): Initialize constraint field.
35169         (duplicate_node_closure): Use it instead of special casing ANCHORS.
35170         Fix grammar.
35171         (duplicate_node): Merge constraint field for all node types.
35172         (calc_eclosure_iter): Look at constraint field for all node types.
35173         * lib/regex_internal.c (create_cd_newstate): Don't look at
35174         opr.ctx_type.
35175
35176 2008-05-14  Bruno Haible  <bruno@clisp.org>
35177
35178         Help GCC to do better code generation.
35179         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
35180         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
35181         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
35182         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
35183         Declare with attribute 'malloc' if supported.
35184
35185 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
35186
35187         use "echo STR|wc -c" rather than unportable "expr length STR"
35188         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
35189         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
35190
35191 2008-05-14  Jim Meyering  <meyering@redhat.com>
35192
35193         use dd ibs=$n count=1 ... rather than less-portable head -c$n
35194         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
35195         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
35196         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
35197         via Collin Lasse.
35198
35199 2008-05-14  Eric Blake  <ebb9@byu.net>
35200
35201         Avoid quadratic growth in gl_LIBSOURCES.
35202         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
35203         Suggested by Bruno Haible.
35204
35205         Test xmemdup0.
35206         * modules/xmemdup0-tests: New file.
35207         * tests/test-xmemdup0.c: Likewise.
35208
35209 2008-05-13  Eric Blake  <ebb9@byu.net>
35210
35211         Split xmemdup0 into its own module.
35212         * modules/xmemdup0: New file.
35213         * lib/xmemdup0.h: Likewise.
35214         * lib/xmemdup0.c: Likewise.
35215         * MODULES.html.sh (Memory management functions): Add xmemdup0.
35216         * lib/xalloc.h (xmemdup0): Remove.
35217         * lib/xmalloc.c (xmemdup0): Likewise.
35218
35219 2008-05-13  Eric Blake  <ebb9@byu.net>
35220             Bruno Haible  <bruno@clisp.org>
35221
35222         Reduce number of forks required during autoconf.
35223         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
35224         and gl_LIBSOURCES_DIR.
35225         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
35226         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
35227         m4_syscmd per file.
35228         <m4_foreach_w>: Move...
35229         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
35230
35231 2008-05-13  Eric Blake  <ebb9@byu.net>
35232
35233         * gnulib-tool: Fix various comment typos.
35234
35235 2008-05-12  Bruno Haible  <bruno@clisp.org>
35236
35237         Tailor the linebreaking algorithm.
35238         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
35239
35240 2008-05-12  Bruno Haible  <bruno@clisp.org>
35241
35242         Update to Unicode 5.0.0.
35243         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
35244         LBP_JV, LBP_JT. Redistribute values.
35245         (unilbrk_table): Change size.
35246         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
35247         Unicode TR#14 rev. 22.
35248         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
35249         LBP_JV, LBP_JT. Redistribute values.
35250         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
35251         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
35252         Update.
35253         * lib/unilbrk/lbrkprop1.h: Regenerated.
35254         * lib/unilbrk/lbrkprop2.h: Regenerated.
35255         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
35256         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
35257         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
35258         Likewise.
35259         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
35260         Likewise.
35261         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
35262         result.
35263         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
35264         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
35265         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
35266         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
35267         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
35268         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
35269
35270 2008-05-11  Bruno Haible  <bruno@clisp.org>
35271
35272         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
35273
35274 2008-05-11  Bruno Haible  <bruno@clisp.org>
35275
35276         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
35277         * modules/unilbrk/gen-lbrk: New file.
35278
35279 2008-05-11  Bruno Haible  <bruno@clisp.org>
35280
35281         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
35282         * m4/sha512.m4 (gl_SHA512): Likewise.
35283
35284 2008-05-11  Jim Meyering  <meyering@redhat.com>
35285
35286         New modules: crypto/sha256, crypto/sha512 (from coreutils)
35287         * modules/crypto/sha256: New file.
35288         * modules/crypto/sha512: Likewise.
35289         * lib/sha256.c: Likewise.
35290         * lib/sha256.h: Likewise.
35291         * lib/sha512.c: Likewise.
35292         * lib/sha512.h: Likewise.
35293         * lib/u64.h: Likewise.
35294         * m4/sha256.m4: Likewise.
35295         * m4/sha512.m4: Likewise.
35296         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
35297
35298 2008-05-10  Bruno Haible  <bruno@clisp.org>
35299
35300         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
35301         (Input/Output <stdio.h>): Add xprintf.
35302         (Signal handling <signal.h>): Add strsignal.
35303         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
35304         (Core language properties): Add func.
35305         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
35306         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
35307         strings.
35308         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
35309         (Input/output): New section.
35310         (File system functions): Add openat-die, stat-macros.
35311         (Networking functions): Add sockets.
35312         (Unicode string functions): Add unictype/*.
35313         (Support for building libraries and executables): Add gperf.
35314         (Support for building documentation): Add agpl-3.0.
35315         (Misc): Add nocrash.
35316
35317 2008-05-10  Bruno Haible  <bruno@clisp.org>
35318
35319         * modules/unictype/gen-ctype: New file.
35320
35321 2008-05-10  Jim Meyering  <meyering@redhat.com>
35322
35323         Make chdir-safer.c more efficient on a system with no symlinks.
35324         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
35325         also if ELOOP is zero.  Suggested by Bruno Haible.
35326
35327         Make chdir-safer.c slightly safer.
35328         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
35329         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
35330
35331         Avoid compile failure on systems without ELOOP (like mingw).
35332         * lib/chdir-safer.c (ELOOP): Define if not already defined.
35333         Reported by Bruno Haible.
35334
35335 2008-05-10  Bruno Haible  <bruno@clisp.org>
35336
35337         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
35338         (is_utf8_encoding): Use a case-insensitive comparison.
35339         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
35340         streq.
35341
35342 2008-05-10  Bruno Haible  <bruno@clisp.org>
35343
35344         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
35345         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
35346         * lib/unilbrk/ulc-common.h (iconv_string_length,
35347         iconv_string_keeping_offsets): Remove declarations.
35348         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
35349         Don't include <iconv.h>, streq.h, xsize.h.
35350         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
35351         conversion.
35352         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
35353         <iconv.h>, streq.h, xsize.h.
35354         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
35355         conversion.
35356         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
35357         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
35358         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
35359         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
35360
35361 2008-05-10  Bruno Haible  <bruno@clisp.org>
35362
35363         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
35364         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
35365
35366         * modules/unilbrk/u32-width-linebreaks-tests: New file.
35367         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
35368
35369         * modules/unilbrk/u16-width-linebreaks-tests: New file.
35370         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
35371
35372         * modules/unilbrk/u8-width-linebreaks-tests: New file.
35373         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
35374
35375         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
35376         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
35377
35378         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
35379         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
35380
35381         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
35382         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
35383
35384         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
35385         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
35386
35387 2008-05-10  Bruno Haible  <bruno@clisp.org>
35388
35389         Split up 'linebreak' module.
35390         * lib/unilbrk.h: New file, based on lib/linebreak.h.
35391         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
35392         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
35393         modifications.
35394         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
35395         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
35396         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
35397         lib/linebreak.c.
35398         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
35399         lib/linebreak.c.
35400         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
35401         lib/linebreak.c.
35402         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
35403         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
35404         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
35405         lib/linebreak.c.
35406         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
35407         lib/linebreak.c.
35408         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
35409         lib/linebreak.c.
35410         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
35411         lib/linebreak.c.
35412         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
35413         lib/linebreak.c.
35414         * modules/unilbrk/base: New file.
35415         * modules/unilbrk/tables: New file.
35416         * modules/unilbrk/u8-possible-linebreaks: New file.
35417         * modules/unilbrk/u16-possible-linebreaks: New file.
35418         * modules/unilbrk/u32-possible-linebreaks: New file.
35419         * modules/unilbrk/ulc-common: New file.
35420         * modules/unilbrk/ulc-possible-linebreaks: New file.
35421         * modules/unilbrk/u8-width-linebreaks: New file.
35422         * modules/unilbrk/u16-width-linebreaks: New file.
35423         * modules/unilbrk/u32-width-linebreaks: New file.
35424         * modules/unilbrk/ulc-width-linebreaks: New file.
35425         * lib/linebreak.h: Remove file.
35426         * lib/linebreak.c: Remove file.
35427         * m4/linebreak.m4: Remove file.
35428         * modules/linebreak: Remove file.
35429         * NEWS: Mention the changes.
35430
35431 2008-05-09  Eric Blake  <ebb9@byu.net>
35432
35433         Add xmemdup0.
35434         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
35435         implementation.
35436         * lib/xmalloc.c (xmemdup0): New C implementation.
35437
35438 2008-05-08  Bruno Haible  <bruno@clisp.org>
35439
35440         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
35441
35442 2008-05-07  Eric Blake  <ebb9@byu.net>
35443
35444         Support cross-compilation of <wctype.h>.
35445         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
35446         AC_CACHE_CHECK.
35447
35448 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
35449
35450         * build-aux/vc-list-files: Add support for bzr.
35451
35452 2008-05-03  Jim Meyering  <meyering@redhat.com>
35453
35454         avoid failed assertion with tight malloc
35455         * tests/test-getndelim2.c: Correct an off-by-one assertion.
35456
35457 2008-05-03  Simon Josefsson  <simon@josefsson.org>
35458
35459         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
35460         are needed from arpa/inet.h.
35461         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
35462         Reported by Bruno Haible.
35463
35464 2008-05-02  Jim Meyering  <meyering@redhat.com>
35465
35466         avoid compilation error on FreeBSD 6
35467         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
35468
35469 2008-05-01  Jim Meyering  <meyering@redhat.com>
35470
35471         useless-if-before-free: correct --help's exit status description
35472         * build-aux/useless-if-before-free (usage): Like grep, exit 0
35473         for one or more matches, etc.  Reported by Bruno Haible.
35474
35475         vc-list-files: make the stand-alone gnulib test work
35476         * modules/vc-list-files-tests (configure.ac):
35477         Define and AC_SUBST abs_aux_dir.
35478         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
35479         $(abs_top_srcdir) to each script and having each of them
35480         duplicate the work of setting PATH, set PATH here, using
35481         the new variable, abs_aux_dir instead.
35482         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
35483         * tests/test-vc-list-files-git.sh: Likewise.
35484         Reported by Bruno Haible.
35485
35486 2008-05-01  Bruno Haible  <bruno@clisp.org>
35487
35488         * lib/getndelim2.c (getndelim2): Fix newsize computation during
35489         reallocation. Rename 'done' to 'found_delimiter'.
35490
35491 2008-05-01  Jim Meyering  <meyering@redhat.com>
35492
35493         vc-list-files: accommodate /bin/sh like the one from Solaris 10
35494         * build-aux/vc-list-files: Use `...`, not $(...).
35495
35496 2008-04-30  Jim Meyering  <meyering@redhat.com>
35497
35498         add tests for vc-list-files
35499         * modules/vc-list-files-tests: New module.
35500         * tests/test-vc-list-files-cvs.sh: New file.
35501         * tests/test-vc-list-files-git.sh: New file.
35502
35503         avoid a warning from gcc
35504         * lib/getndelim2.c (IF_LINT): Define.
35505         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
35506
35507         vc-list-files: work properly with build-aux/cvsu, too
35508         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
35509         to all cvs-based clauses.
35510
35511         vc-list-files: work properly in the CVS+awk case, too
35512         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
35513
35514         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
35515         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
35516         take more than one file argument, so .  Add quotes, just in case $dir
35517         ever contains a shell meta-character.  Prompted by Soren Hansen in
35518         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
35519
35520 2008-04-29  Eric Blake  <ebb9@byu.net>
35521
35522         Optimize getndelim2 to use block operations when possible.
35523         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
35524         freadseek, and memchr2.
35525         * lib/getndelim2.c (getndelim2): Use them for block reads.
35526
35527 2008-04-29  Bruno Haible  <bruno@clisp.org>
35528
35529         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
35530         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35531         * modules/inet_ntop (Depends-on): Add extensions.
35532         * modules/inet_pton (Depends-on): Likewise.
35533         Reported by Simon Josefsson.
35534
35535 2008-04-29  Jim Meyering  <meyering@redhat.com>
35536
35537         When the is more than one match in a block, match all of them.
35538         * build-aux/useless-if-before-free: Iterate through each block
35539         until there are no more matches.
35540
35541         Fix broken useless-if-before-free script.
35542         * build-aux/useless-if-before-free: Fix typo: missing "?" after
35543         the expression to match cast of argument to free-like function.
35544
35545 2008-04-29  Eric Blake  <ebb9@byu.net>
35546
35547         Use new header.
35548         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
35549
35550 2008-04-29  Jim Meyering  <meyering@redhat.com>
35551
35552         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
35553         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
35554         by gnulib to exist and to declare e.g., inet_ntop.
35555         Don't include "inet_ntop.h", now removed.
35556
35557         * m4/arpa_inet_h.m4: Remove trailing blanks.
35558
35559 2008-04-29  Eric Blake  <ebb9@byu.net>
35560
35561         Silence valgrind on safe reads beyond potential array bounds.
35562         * lib/rawmemchr.valgrind: New file.
35563         * lib/strchrnul.valgrind: Likewise.
35564         * modules/rawmemchr (Files): Distribute new file.
35565         * modules/strchrnul (Files): Likewise.
35566         Suggested by Bruno Haible.
35567
35568 2008-04-29  Bruno Haible  <bruno@clisp.org>
35569
35570         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
35571         (inet_ntop, inet_pton): Change portability warning's wording.
35572         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
35573         Invoke gl_CHECK_NEXT_HEADERS.
35574         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
35575         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
35576         set ARPA_INET_H.
35577         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35578         * modules/arpa_inet (Description): No longer only for systems that
35579         lack it.
35580         (Depends-on): Add include_next.
35581         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
35582         HAVE_ARPA_INET_H.
35583
35584 2008-04-29  Jim Meyering  <meyering@redhat.com>
35585
35586         * modules/mkdir (License): Re-license as LGPLv2+.
35587
35588 2008-04-29  Bruno Haible  <bruno@clisp.org>
35589
35590         * modules/rawmemchr (Maintainer): Set to Eric.
35591         * modules/strchrnul (Maintainer): Likewise.
35592
35593 2008-04-29  Simon Josefsson  <simon@josefsson.org>
35594
35595         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
35596         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
35597
35598         * modules/arpa_inet (arpa/inet.h): Use them.
35599
35600 2008-04-28  Eric Blake  <ebb9@byu.net>
35601
35602         Test getndelim2.
35603         * modules/getndelim2-tests: New file.
35604         * tests/test-getndelim2.c: Likewise.
35605         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
35606         stream.
35607         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
35608
35609         * MODULES.html.sh: Document new module.
35610
35611 2008-04-20  Bruno Haible  <bruno@clisp.org>
35612
35613         * lib/c-stack.c (die): Use raise.
35614         * modules/c-stack (Depends-on): Add raise.
35615
35616 2008-04-28  Bruno Haible  <bruno@clisp.org>
35617
35618         Expect rpmatch to be declared.
35619         * lib/yesno.c (rpmatch): Remove declaration.
35620
35621         Declare rpmatch.
35622         * lib/stdlib.in.h (rpmatch): New declaration.
35623         * lib/rpmatch.c: Include <stdlib.h> first.
35624         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
35625         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
35626         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
35627         HAVE_RPMATCH.
35628         * modules/rpmatch (Depends-on): Add stdlib, extensions.
35629         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35630         (Include): Set to <stdlib.h>.
35631         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
35632         HAVE_RPMATCH.
35633         * NEWS: Document the change.
35634
35635 2008-04-28  Bruno Haible  <bruno@clisp.org>
35636
35637         Change rpmatch to use nl_langinfo when appropriate.
35638         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
35639         (N_): New macro.
35640         (localized_pattern): New function/macro.
35641         (try): Remove match, nomatch arguments. Copy the pattern into safe
35642         memory before caching it.
35643         (rpmatch): Use localized_pattern. Add translator comments.
35644         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
35645         Suggested by Eric Blake.
35646         * modules/rpmatch (Depends-on): Add stdbool.
35647
35648 2008-04-28  Eric Blake  <ebb9@byu.net>
35649
35650         Add rawmemchr module, matching glibc.
35651         * modules/string (Makefile.am): New indicator.
35652         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
35653         * lib/string.in.h (rawmemchr): Declare when appropriate.
35654         * modules/rawmemchr: New file.
35655         * m4/rawmemchr.m4: Likewise.
35656         * lib/rawmemchr.c: Likewise.
35657         * modules/rawmemchr-tests: Likewise.
35658         * tests/test-rawmemchr.c: Likewise.
35659         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
35660         module.
35661         * modules/strchrnul (Depends-on): Add rawmemchr.
35662         * lib/strchrnul.c (strchrnul): Optimize a corner case.
35663
35664         Whitespace cleanup.
35665         * tests/test-strchrnul.c: Reindent.
35666         * lib/strchrnul.c: Likewise.
35667
35668         Optimize and test strchrnul.
35669         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
35670         * modules/strchrnul-tests: New file.
35671         * tests/test-strchrnul.c: Likewise.
35672
35673         Remove intprops dependency.
35674         * modules/memchr (Depends-on): Remove intprops.
35675         * modules/memrchr (Depends-on): Likewise.
35676         * modules/memchr2 (Depends-on): Likewise.
35677         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
35678         * lib/memrchr.c (__memrchr): Likewise.
35679         * lib/memrchr2.c (memchr2): Likewise.
35680         Reported by Simon Josefsson.
35681
35682 2008-04-28  Simon Josefsson  <simon@josefsson.org>
35683
35684         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
35685         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35686
35687 2008-04-28  Simon Josefsson  <simon@josefsson.org>
35688
35689         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
35690
35691         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
35692
35693         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
35694
35695         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
35696         declarations.
35697         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
35698
35699         * m4/inet_pton.m4: Don't check for header files.
35700
35701         * m4/inet_ntop.m4: Don't check for header files.
35702
35703 2008-04-28  Simon Josefsson  <simon@josefsson.org>
35704
35705         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
35706         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
35707         trigger for cygwin).
35708         Reported by Bruno Haible  <bruno@clisp.org>.
35709
35710 2008-04-28  Bruno Haible  <bruno@clisp.org>
35711
35712         * doc/posix-functions/strdup.texi: Mention mingw problem.
35713
35714 2008-04-27  Bruno Haible  <bruno@clisp.org>
35715
35716         * modules/stat-time-tests (Depends-on): Add sleep.
35717         * tests/test-stat-time.c (force_unlink): New function.
35718         (cleanup): Use it.
35719         (test_mtime): Remove the ctime related tests.
35720         (test_ctime): New function, containing the ctime related tests.
35721         (main): Call test_ctime, except on native Windows platforms.
35722
35723 2008-04-27  Bruno Haible  <bruno@clisp.org>
35724
35725         * lib/rpmatch.c (rpmatch): Add some comments.
35726         Reported by James Youngman <jay@gnu.org>.
35727
35728 2008-04-27  Bruno Haible  <bruno@clisp.org>
35729
35730         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
35731         quiet NaNs.
35732
35733 2008-04-27  Bruno Haible  <bruno@clisp.org>
35734
35735         Make test-yesno.sh work on mingw.
35736         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
35737         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
35738         (main): Set stdin to binary mode.
35739         * modules/yesno-tests (Depends-on): Add binary-io.
35740
35741 2008-04-27  Bruno Haible  <bruno@clisp.org>
35742
35743         Fix 'isfinite' on x86, x86_64, ia64 platforms.
35744         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
35745         argument that lie outside the IEEE 854 domain.
35746         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
35747         (gl_ISFINITE): Use it.
35748         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
35749
35750 2008-04-27  Bruno Haible  <bruno@clisp.org>
35751
35752         Allow local renaming in config.h.
35753         * lib/memrchr.c (memrchr): Don't undefine outside libc.
35754
35755 2008-04-27  Bruno Haible  <bruno@clisp.org>
35756
35757         * lib/memchr.c (__memchr): Change type of 'i'.
35758         * lib/memchr2.c (memchr2): Likewise.
35759
35760 2008-04-26  Eric Blake  <ebb9@byu.net>
35761         and Bruno Haible  <bruno@clisp.org>
35762
35763         Optimize and test memrchr.
35764         * modules/memrchr (Depends-on): Add intprops.
35765         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
35766         * modules/memrchr-tests: New file.
35767         * tests/test-memrchr.c: New file.
35768
35769 2008-04-26  Bruno Haible  <bruno@clisp.org>
35770
35771         Add tentative support for DragonFly BSD.
35772         * lib/stdio-impl.h: Add macros for DragonFly BSD.
35773         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
35774         fp.
35775         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
35776         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
35777         * lib/fpurge.c (fpurge): Likewise.
35778         * lib/freadable.c (freaadable): Likewise.
35779         * lib/freadahead.c (freadahead): Likewise.
35780         * lib/freading.c (freading): Likewise.
35781         * lib/freadptr.c (freadptr): Likewise.
35782         * lib/freadseek.c (freadptrinc): Likewise.
35783         * lib/fseeko.c (fseeko): Likewise.
35784         * lib/fseterr.c (fseterr): Likewise.
35785         * lib/fwritable.c (fwritable): Likewise.
35786         * lib/fwriting.c (fwriting): Likewise.
35787
35788 2008-04-26  Bruno Haible  <bruno@clisp.org>
35789
35790         * lib/stdio-impl.h: New file.
35791         * lib/fbufmode.c: Include stdio-impl.h.
35792         (fbufmode): Use fp_, remove redundant #defines.
35793         * lib/fflush.c: Include stdio-impl.h.
35794         (clear_ungetc_buffer): Remove redundant #defines.
35795         * lib/fpurge.c: Include stdio-impl.h.
35796         (fpurge): Remove redundant #defines.
35797         * lib/freadable.c: Include stdio-impl.h.
35798         (freadable): Remove redundant #defines.
35799         * lib/freadahead.c: Include stdio-impl.h.
35800         (freadahead): Remove redundant #defines.
35801         * lib/freading.c: Include stdio-impl.h.
35802         (freading): Remove redundant #defines.
35803         * lib/freadptr.c: Include stdio-impl.h.
35804         (freadptr): Remove redundant #defines.
35805         * lib/freadseek.c: Include stdio-impl.h.
35806         (freadptrinc): Remove redundant #defines.
35807         * lib/fseeko.c: Include stdio-impl.h.
35808         (rpl_fseeko): Remove redundant #defines.
35809         * lib/fseterr.c: Include stdio-impl.h.
35810         (fseterr): Remove redundant #defines.
35811         * lib/fwritable.c: Include stdio-impl.h.
35812         (fwritable: Remove redundant #defines.
35813         * lib/fwriting.c: Include stdio-impl.h.
35814         (fwriting): Remove redundant #defines.
35815         * modules/fbufmode (Files): Add lib/stdio-impl.h.
35816         * modules/fflush (Files): Likewise.
35817         * modules/fpurge (Files): Likewise.
35818         * modules/freadable (Files): Likewise.
35819         * modules/freadahead (Files): Likewise.
35820         * modules/freading (Files): Likewise.
35821         * modules/freadptr (Files): Likewise.
35822         * modules/freadseek (Files): Likewise.
35823         * modules/fseeko (Files): Likewise.
35824         * modules/fseterr (Files): Likewise.
35825         * modules/fwritable (Files): Likewise.
35826         * modules/fwriting (Files): Likewise.
35827
35828 2008-04-26  Bruno Haible  <bruno@clisp.org>
35829
35830         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
35831         restore_seek_optimization, update_fpos_cache): New functions, extracted
35832         from rpl_fflush.
35833         (rpl_fflush): Use them.
35834         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
35835         (gl_REPLACE_FFLUSH): Use it.
35836
35837 2008-04-26  Bruno Haible  <bruno@clisp.org>
35838
35839         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
35840         on Solaris.
35841         * tests/test-xstrtoimax.sh: Likewise.
35842         * tests/test-xstrtoumax.sh: Likewise.
35843         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35844
35845 2008-04-26  Bruno Haible  <bruno@clisp.org>
35846
35847         * modules/memchr-tests: New file.
35848         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
35849
35850 2008-04-26  Eric Blake  <ebb9@byu.net>
35851             Bruno Haible  <bruno@clisp.org>
35852
35853         * lib/memchr.c: Include intprops.h.
35854         (__memchr): Optimize parallel detection of matching bytes. Rename local
35855         variables. Add explanatory comments.
35856
35857 2008-04-26  Bruno Haible  <bruno@clisp.org>
35858
35859         Fix module 'memchr', broken since 2000-10-28.
35860         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
35861
35862 2008-04-26  Bruno Haible  <bruno@clisp.org>
35863
35864         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
35865         comments.
35866
35867 2008-04-25  Eric Blake  <ebb9@byu.net>
35868
35869         Use native fstatat on cygwin 1.7.0.
35870         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
35871         first.
35872
35873 2008-04-23  Eric Blake  <ebb9@byu.net>
35874
35875         Improve memchr2 performance.
35876         * lib/memchr2.c (memchr2): Further optimize parallel detection of
35877         NUL bytes.
35878         * modules/memchr2 (Depends-on): Use intprops.h.
35879
35880 2008-04-23  Simon Josefsson  <simon@josefsson.org>
35881
35882         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
35883         an inline function instead of a CPP macro.  Patch by Ben Pfaff
35884         <blp@cs.stanford.edu>.
35885
35886 2008-04-23  Simon Josefsson  <simon@josefsson.org>
35887
35888         * lib/arpa_inet.in.h: New file.
35889
35890         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
35891         (Makefile.am): Sed in substitute header file.
35892
35893         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
35894         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
35895
35896         * modules/inet_ntop (configure.ac): Use
35897         gl_ARPA_INET_MODULE_INDICATOR.
35898
35899         * modules/inet_pton (configure.ac): Use
35900         gl_ARPA_INET_MODULE_INDICATOR.
35901
35902 2008-04-22  Jim Meyering  <meyering@redhat.com>
35903
35904         * modules/verify (License): Re-license as LGPLv2+.
35905
35906 2008-04-22  Simon Josefsson  <simon@josefsson.org>
35907
35908         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
35909         parameter to void* as per POSIX standard (MinGW uses char*).
35910
35911 2008-04-21  Bruno Haible  <bruno@clisp.org>
35912
35913         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
35914         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
35915         Define to replacements if REPLACE_ISWCNTRL is 1.
35916         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
35917         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
35918         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
35919         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
35920         what it fixes.
35921         * doc/posix-functions/iswalpha.texi: Likewise.
35922         * doc/posix-functions/iswblank.texi: Likewise.
35923         * doc/posix-functions/iswcntrl.texi: Likewise.
35924         * doc/posix-functions/iswdigit.texi: Likewise.
35925         * doc/posix-functions/iswgraph.texi: Likewise.
35926         * doc/posix-functions/iswlower.texi: Likewise.
35927         * doc/posix-functions/iswprint.texi: Likewise.
35928         * doc/posix-functions/iswpunct.texi: Likewise.
35929         * doc/posix-functions/iswspace.texi: Likewise.
35930         * doc/posix-functions/iswupper.texi: Likewise.
35931         * doc/posix-functions/iswxdigit.texi: Likewise.
35932         Reported by Alain Guibert.
35933
35934 2008-04-21  Bruno Haible  <bruno@clisp.org>
35935
35936         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
35937         Patch by Alain Guibert.
35938
35939 2008-04-21  Bruno Haible  <bruno@clisp.org>
35940
35941         Fix test failures on mingw.
35942         * tests/test-xstrtol.c (print_no_progname): New function.
35943         (main): Install it in error_print_progname hook.
35944         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
35945         * tests/test-xstrtoimax.sh: Likewise.
35946         * tests/test-xstrtoumax.sh: Likewise.
35947
35948 2008-04-21  Bruno Haible  <bruno@clisp.org>
35949
35950         Fix test failure on mingw.
35951         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
35952
35953 2008-04-21  Bruno Haible  <bruno@clisp.org>
35954
35955         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
35956         Actually assign a value.
35957
35958 2008-04-20  Bruno Haible  <bruno@clisp.org>
35959
35960         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
35961         take 2.
35962         * lib/canonicalize.c (canonicalize_file_name): Elide if the
35963         'canonicalize-lgpl' module is also used.
35964         * lib/canonicalize-lgpl.c: Undo last change.
35965         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
35966
35967 2008-04-20  Bruno Haible  <bruno@clisp.org>
35968
35969         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
35970         config.h. Provide _mkdir based fallback for mingw.
35971         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
35972         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
35973         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
35974         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
35975         rather than defining mkdir in config.h.
35976         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
35977         (gl_SYS_STAT_H_DEFAULTS): New macro.
35978         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
35979         HAVE_IO_H any more.
35980         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
35981         HAVE_DECL_MKDIR and HAVE_IO_H.
35982
35983 2008-04-20  Bruno Haible  <bruno@clisp.org>
35984
35985         * lib/isapipe.c: Port to native Windows platforms.
35986
35987 2008-04-20  Bruno Haible  <bruno@clisp.org>
35988
35989         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
35990
35991 2008-04-21  Eric Blake  <ebb9@byu.net>
35992
35993         Work around preprocessors that don't handle UINTMAX_MAX.
35994         * lib/memchr2.c (memchr2): Avoid embedded #if.
35995         Reported by Alain Guibert, fix suggested by Bruno Haible.
35996
35997 2008-04-21  Simon Josefsson  <simon@josefsson.org>
35998
35999         * doc/posix-functions/strftime.texi (strftime): Explain better
36000         Windows incompatibility.  Suggested by Micah Cowan
36001         <micah@cowan.name>.
36002
36003 2008-04-20  Bruno Haible  <bruno@clisp.org>
36004
36005         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
36006         unistr/u8-mblen.
36007
36008 2008-04-20  Bruno Haible  <bruno@clisp.org>
36009
36010         Fix test failure on platforms with non-GNU iconv.
36011         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
36012         (U_TO_U8): Use it, rather than u16_to_u8.
36013         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
36014         units at the end of the input string.
36015         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
36016
36017 2008-04-20  Bruno Haible  <bruno@clisp.org>
36018
36019         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
36020         when the resulting length is 0.
36021         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
36022
36023 2008-04-20  Bruno Haible  <bruno@clisp.org>
36024
36025         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
36026         works.
36027         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
36028
36029 2008-04-20  Bruno Haible  <bruno@clisp.org>
36030
36031         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
36032         * modules/tsearch-tests (configure.ac): Test for initstate function.
36033
36034 2008-04-20  Bruno Haible  <bruno@clisp.org>
36035
36036         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
36037         for nlink_t if missing.
36038         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
36039
36040 2008-04-19  Bruno Haible  <bruno@clisp.org>
36041
36042         Work around snprintf bug on Linux libc5.
36043         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
36044         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
36045         gl_SNPRINTF_SIZE1.
36046         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36047         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
36048         that test failed.
36049         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
36050         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
36051         * modules/snprintf (Files): Add m4/printf.m4.
36052         * modules/vsnprintf (Files): Likewise.
36053         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
36054         * doc/posix-functions/vsnprintf.texi: Likewise.
36055
36056 2008-04-19  Bruno Haible  <bruno@clisp.org>
36057
36058         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
36059         from 0.0058 to less than 10^-7.
36060
36061 2008-04-19  Bruno Haible  <bruno@clisp.org>
36062
36063         Fix rounding when a precision is given.
36064         * lib/vasnprintf.c (is_borderline): New function.
36065         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
36066         9...9x.
36067         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
36068         %e, %g.
36069         * tests/test-vasprintf-posix.c (test_function): Likewise.
36070         * tests/test-snprintf-posix.h (test_function): Likewise.
36071         * tests/test-sprintf-posix.h (test_function): Likewise.
36072         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
36073         * tests/test-printf-posix.h (test_function): Likewise.
36074         * tests/test-printf-posix.output: Update.
36075         Reported by John Darrington <john@darrington.wattle.id.au> via
36076         Ben Pfaff <blp@cs.stanford.edu>.
36077
36078 2008-04-18  Simon Josefsson  <simon@josefsson.org>
36079
36080         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
36081         Suggested by Bruno Haible <bruno@clisp.org>.
36082
36083 2008-04-17  Bruno Haible  <bruno@clisp.org>
36084
36085         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
36086         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
36087         implementation.
36088         Patch by Bruce Merry <bmerry@gmail.com>.
36089
36090 2008-04-17  Simon Josefsson  <simon@josefsson.org>
36091
36092         * doc/posix-functions/strftime.texi (strftime): Mention that %e
36093         doesn't work under Windows.
36094
36095 2008-04-16  Bruno Haible  <bruno@clisp.org>
36096
36097         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
36098         New macros.
36099         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
36100         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
36101         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
36102         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
36103         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
36104         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
36105         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
36106         macros.
36107         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
36108         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
36109         Northern Sotho, Uighur.
36110
36111 2008-04-16  Bruno Haible  <bruno@clisp.org>
36112
36113         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
36114         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
36115         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
36116         Reported by Daniel Bergström <daniel@octocode.com>.
36117
36118 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
36119             Bruno Haible  <bruno@clisp.org>
36120
36121         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
36122         function.
36123         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
36124         New functions, mostly extracted from gl_locale_name_default.
36125         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
36126
36127 2008-04-16  Eric Blake  <ebb9@byu.net>
36128
36129         Adjust strtod detection to catch glibc 2.7 bug.
36130         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
36131         Reported by John Gatewood Ham.
36132
36133 2008-04-16  Bruno Haible  <bruno@clisp.org>
36134
36135         Add tentative support for Linux libc5.
36136         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
36137         * lib/fpurge.c (fpurge): Likewise.
36138         * lib/freadable.c (freadable): Likewise.
36139         * lib/freadahead.c (freadahead): Likewise.
36140         * lib/freading.c (freading): Likewise.
36141         * lib/freadptr.c (freadptr): Likewise.
36142         * lib/freadseek.c (freadptrinc): Likewise.
36143         * lib/fseeko.c (rpl_fseeko): Likewise.
36144         * lib/fseterr.c (fseterr): Likewise.
36145         * lib/fwritable.c (fwritable): Likewise.
36146         * lib/fwriting.c (fwriting): Likewise.
36147         Reported by Alain Guibert <alguibert+bts@free.fr>.
36148
36149 2008-04-15  Bruno Haible  <bruno@clisp.org>
36150
36151         * modules/mathl (configure.ac): Define module indicator.
36152
36153 2008-04-15  Bruno Haible  <bruno@clisp.org>
36154
36155         * lib/logl.c (logl): Remove unused variables.
36156
36157 2008-04-15  Bruno Haible  <bruno@clisp.org>
36158
36159         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
36160         fails.
36161
36162 2008-04-15  Bruno Haible  <bruno@clisp.org>
36163
36164         * lib/trim.c (trim2): Fix argument of isspace() macro.
36165
36166 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
36167
36168         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
36169         to 0.
36170         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
36171
36172 2008-04-14  Bruno Haible  <bruno@clisp.org>
36173
36174         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
36175         AC_LANG_PROGRAM argument.
36176         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
36177         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
36178         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
36179         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36180         * m4/math_h.m4 (gl_MATH_H): Likewise.
36181         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
36182         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36183         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
36184         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
36185         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
36186         * m4/regex.m4 (gl_REGEX): Likewise.
36187         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
36188         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
36189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
36190         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
36191         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
36192         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
36193         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36194         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36195
36196 2008-04-14  Jim Meyering  <meyering@redhat.com>
36197
36198         test-strtod: fix typos: s/abs/fabs/
36199         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
36200
36201 2008-04-13  Bruno Haible  <bruno@clisp.org>
36202
36203         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
36204         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
36205         module is also used and while not building the reloc-wrapper.
36206
36207 2008-04-13  Bruno Haible  <bruno@clisp.org>
36208
36209         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
36210
36211 2008-04-13  Bruno Haible  <bruno@clisp.org>
36212
36213         Fix AIX compilation failure introduced on 2008-04-02.
36214         * tests/test-frexp.c (exp): Undefine before redefining.
36215         * tests/test-frexpl.c (exp): Likewise.
36216
36217 2008-04-13  Bruno Haible  <bruno@clisp.org>
36218
36219         Work around a HP-UX stdio bug.
36220         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
36221         * tests/test-ftello.c (main): Likewise.
36222         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
36223         * doc/posix-functions/ftello.texi: Likewise.
36224
36225 2008-04-13  Bruno Haible  <bruno@clisp.org>
36226
36227         Make test-signbit pass on HP-UX/hppa.
36228         * tests/test-signbit.c (minus_zerol): New variable.
36229         (test_signbitl): Use it.
36230
36231 2008-04-13  Bruno Haible  <bruno@clisp.org>
36232
36233         Make truncl work on OSF/1 4.0.
36234         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
36235         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
36236         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
36237         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
36238         HAVE_DECL_TRUNCL.
36239         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
36240         HAVE_DECL_TRUNCL.
36241         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
36242
36243 2008-04-13  Bruno Haible  <bruno@clisp.org>
36244
36245         * lib/unictype.h: Remove trailing comma from enumeration definitions.
36246
36247 2008-04-13  Bruno Haible  <bruno@clisp.org>
36248
36249         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
36250         expression, so as to avoid HP-UX 11 cc compiler bug.
36251
36252 2008-04-13  Bruno Haible  <bruno@clisp.org>
36253
36254         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
36255
36256 2008-04-13  Bruno Haible  <bruno@clisp.org>
36257
36258         * lib/git-merge-changelog.c: Remove empty declaration outside of
36259         functions.
36260
36261 2008-04-13  Bruno Haible  <bruno@clisp.org>
36262
36263         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
36264
36265 2008-04-13  Bruno Haible  <bruno@clisp.org>
36266
36267         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
36268         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
36269         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
36270         also if it exists but lacks definitions of the SHUT_* macros.
36271         * modules/sys_socket (Description): Update.
36272         Reported by Elbert Pol <e.pol@chello.nl>.
36273
36274 2008-04-13  Bruno Haible  <bruno@clisp.org>
36275
36276         * lib/localcharset.c (OS2): Don't redefine if already defined.
36277         Reported by Elbert Pol <e.pol@chello.nl>.
36278
36279 2008-04-13  Bruno Haible  <bruno@clisp.org>
36280
36281         * lib/binary-io.h [__EMX__]: Include <io.h>.
36282         Reported by Elbert Pol <e.pol@chello.nl>.
36283
36284 2008-04-12  Bruno Haible  <bruno@clisp.org>
36285
36286         * lib/fpucw.h: Enable the definitions also for x86_64.
36287         Needed for NetBSD/x86_64.
36288         Reported by Thomas Klausner <tk@giga.or.at>.
36289
36290 2008-04-12  Bruno Haible  <bruno@clisp.org>
36291
36292         * tests/test-strtod.c: Include isnand.h.
36293         (main): Use isnand instead of isnan.
36294         Reported by Jim Meyering.
36295
36296 2008-04-12  Bruno Haible  <bruno@clisp.org>
36297
36298         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
36299         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36300
36301 2008-04-12  Jim Meyering  <meyering@redhat.com>
36302
36303         * m4/math_h.m4 (gl_MATH_H): Fix typos.
36304
36305 2008-04-12  Bruno Haible  <bruno@clisp.org>
36306
36307         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
36308         Reported by Elbert Pol <e.pol@chello.nl>.
36309
36310 2008-04-12  Eric Blake  <ebb9@byu.net>
36311
36312         Work around Solaris 10 math.h bug.
36313         * m4/math_h.m4 (gl_MATH_H): Check for bug.
36314         (gl_MATH_H_DEFAULTS): Set up default.
36315         * modules/math (Makefile.am): Replace new indicators.
36316         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
36317         * tests/test-math.c (main): Test this.
36318         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
36319         * doc/posix-headers/math.texi (math.h): Mention bug.
36320         Reported by Nelson H. F. Beebe and Jim Meyering.
36321
36322 2008-04-11  Bruno Haible  <bruno@clisp.org>
36323
36324         Adapt to future versions of Apple GCC.
36325         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
36326         Reported by Peter O'Gorman <peter@pogma.com>.
36327
36328 2008-04-11  Bruno Haible  <bruno@clisp.org>
36329
36330         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
36331
36332 2008-04-11  Bruno Haible  <bruno@clisp.org>
36333
36334         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
36335
36336         * modules/getaddrinfo-tests (Makefile.am): Define
36337         test_getaddrinfo_LDADD.
36338
36339 2008-04-11  Bruno Haible  <bruno@clisp.org>
36340
36341         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
36342         (init): Fix syntax error.
36343         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
36344         is declared.
36345
36346 2008-04-11  Bruno Haible  <bruno@clisp.org>
36347
36348         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
36349         * modules/glob (Depends-on): Add stdbool.
36350
36351 2008-04-11  Bruno Haible  <bruno@clisp.org>
36352
36353         * lib/trim.c: Include <string.h>.
36354
36355 2008-04-11  Eric Blake  <ebb9@byu.net>
36356
36357         Avoid compile failure on OS/2.
36358         * lib/regex_internal.h (internal_function): Disable optimization
36359         on OS/2 (__EMX__), where it caused compiler error.
36360         Reported by Elbert Pol.
36361
36362 2008-04-11  Bruno Haible  <bruno@clisp.org>
36363
36364         Flush the standard error stream before aborting. Needed on mingw.
36365         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
36366         * tests/test-array_list.c (ASSERT): Likewise.
36367         * tests/test-array_oset.c (ASSERT): Likewise.
36368         * tests/test-avltree_list.c (ASSERT): Likewise.
36369         * tests/test-avltree_oset.c (ASSERT): Likewise.
36370         * tests/test-avltreehash_list.c (ASSERT): Likewise.
36371         * tests/test-binary-io.c (ASSERT): Likewise.
36372         * tests/test-byteswap.c (ASSERT): Likewise.
36373         * tests/test-c-ctype.c (ASSERT): Likewise.
36374         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
36375         * tests/test-c-strcasestr.c (ASSERT): Likewise.
36376         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
36377         * tests/test-c-strstr.c (ASSERT): Likewise.
36378         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
36379         * tests/test-canonicalize.c (ASSERT): Likewise.
36380         * tests/test-carray_list.c (ASSERT): Likewise.
36381         * tests/test-ceilf1.c (ASSERT): Likewise.
36382         * tests/test-ceilf2.c (ASSERT): Likewise.
36383         * tests/test-ceill.c (ASSERT): Likewise.
36384         * tests/test-count-one-bits.c (ASSERT): Likewise.
36385         * tests/test-fbufmode.c (ASSERT): Likewise.
36386         * tests/test-fflush2.c (ASSERT): Likewise.
36387         * tests/test-floorf1.c (ASSERT): Likewise.
36388         * tests/test-floorf2.c (ASSERT): Likewise.
36389         * tests/test-floorl.c (ASSERT): Likewise.
36390         * tests/test-fopen.c (ASSERT): Likewise.
36391         * tests/test-fpending.c (ASSERT): Likewise.
36392         * tests/test-fprintf-posix.c (ASSERT): Likewise.
36393         * tests/test-fpurge.c (ASSERT): Likewise.
36394         * tests/test-freadable.c (ASSERT): Likewise.
36395         * tests/test-freadahead.c (ASSERT): Likewise.
36396         * tests/test-freading.c (ASSERT): Likewise.
36397         * tests/test-freadptr.c (ASSERT): Likewise.
36398         * tests/test-freadptr2.c (ASSERT): Likewise.
36399         * tests/test-freadseek.c (ASSERT): Likewise.
36400         * tests/test-freopen.c (ASSERT): Likewise.
36401         * tests/test-frexp.c (ASSERT): Likewise.
36402         * tests/test-frexpl.c (ASSERT): Likewise.
36403         * tests/test-fseek.c (ASSERT): Likewise.
36404         * tests/test-fseeko.c (ASSERT): Likewise.
36405         * tests/test-fstrcmp.c (ASSERT): Likewise.
36406         * tests/test-ftell.c (ASSERT): Likewise.
36407         * tests/test-ftello.c (ASSERT): Likewise.
36408         * tests/test-func.c (ASSERT): Likewise.
36409         * tests/test-fwritable.c (ASSERT): Likewise.
36410         * tests/test-fwriting.c (ASSERT): Likewise.
36411         * tests/test-getdelim.c (ASSERT): Likewise.
36412         * tests/test-getline.c (ASSERT): Likewise.
36413         * tests/test-i-ring.c (ASSERT): Likewise.
36414         * tests/test-iconv-utf.c (ASSERT): Likewise.
36415         * tests/test-iconv.c (ASSERT): Likewise.
36416         * tests/test-isfinite.c (ASSERT): Likewise.
36417         * tests/test-isnand.c (ASSERT): Likewise.
36418         * tests/test-isnanf.c (ASSERT): Likewise.
36419         * tests/test-isnanl.h (ASSERT): Likewise.
36420         * tests/test-ldexpl.c (ASSERT): Likewise.
36421         * tests/test-linked_list.c (ASSERT): Likewise.
36422         * tests/test-linkedhash_list.c (ASSERT): Likewise.
36423         * tests/test-localename.c (ASSERT): Likewise.
36424         * tests/test-lseek.c (ASSERT): Likewise.
36425         * tests/test-mbscasecmp.c (ASSERT): Likewise.
36426         * tests/test-mbscasestr1.c (ASSERT): Likewise.
36427         * tests/test-mbscasestr2.c (ASSERT): Likewise.
36428         * tests/test-mbscasestr3.c (ASSERT): Likewise.
36429         * tests/test-mbscasestr4.c (ASSERT): Likewise.
36430         * tests/test-mbschr.c (ASSERT): Likewise.
36431         * tests/test-mbscspn.c (ASSERT): Likewise.
36432         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
36433         * tests/test-mbspbrk.c (ASSERT): Likewise.
36434         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
36435         * tests/test-mbsrchr.c (ASSERT): Likewise.
36436         * tests/test-mbsspn.c (ASSERT): Likewise.
36437         * tests/test-mbsstr1.c (ASSERT): Likewise.
36438         * tests/test-mbsstr2.c (ASSERT): Likewise.
36439         * tests/test-mbsstr3.c (ASSERT): Likewise.
36440         * tests/test-memchr2.c (ASSERT): Likewise.
36441         * tests/test-memmem.c (ASSERT): Likewise.
36442         * tests/test-open.c (ASSERT): Likewise.
36443         * tests/test-printf-frexp.c (ASSERT): Likewise.
36444         * tests/test-printf-frexpl.c (ASSERT): Likewise.
36445         * tests/test-printf-posix.c (ASSERT): Likewise.
36446         * tests/test-quotearg.c (ASSERT): Likewise.
36447         * tests/test-rbtree_list.c (ASSERT): Likewise.
36448         * tests/test-rbtree_oset.c (ASSERT): Likewise.
36449         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
36450         * tests/test-round1.c (ASSERT): Likewise.
36451         * tests/test-roundf1.c (ASSERT): Likewise.
36452         * tests/test-roundl.c (ASSERT): Likewise.
36453         * tests/test-signbit.c (ASSERT): Likewise.
36454         * tests/test-sleep.c (ASSERT): Likewise.
36455         * tests/test-snprintf-posix.c (ASSERT): Likewise.
36456         * tests/test-snprintf.c (ASSERT): Likewise.
36457         * tests/test-sprintf-posix.c (ASSERT): Likewise.
36458         * tests/test-stat-time.c (ASSERT): Likewise.
36459         * tests/test-strcasestr.c (ASSERT): Likewise.
36460         * tests/test-strerror.c (ASSERT): Likewise.
36461         * tests/test-striconv.c (ASSERT): Likewise.
36462         * tests/test-striconveh.c (ASSERT): Likewise.
36463         * tests/test-striconveha.c (ASSERT): Likewise.
36464         * tests/test-strsignal.c (ASSERT): Likewise.
36465         * tests/test-strstr.c (ASSERT): Likewise.
36466         * tests/test-strtod.c (ASSERT): Likewise.
36467         * tests/test-trunc1.c (ASSERT): Likewise.
36468         * tests/test-trunc2.c (ASSERT): Likewise.
36469         * tests/test-truncf1.c (ASSERT): Likewise.
36470         * tests/test-truncf2.c (ASSERT): Likewise.
36471         * tests/test-truncl.c (ASSERT): Likewise.
36472         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
36473         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
36474         * tests/test-vasnprintf.c (ASSERT): Likewise.
36475         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
36476         * tests/test-vasprintf.c (ASSERT): Likewise.
36477         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
36478         * tests/test-vprintf-posix.c (ASSERT): Likewise.
36479         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
36480         * tests/test-vsnprintf.c (ASSERT): Likewise.
36481         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
36482         * tests/test-wcwidth.c (ASSERT): Likewise.
36483         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
36484         * tests/test-xprintf-posix.c (ASSERT): Likewise.
36485         * tests/test-xvasprintf.c (ASSERT): Likewise.
36486         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
36487         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
36488         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
36489         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
36490         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
36491         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
36492         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
36493         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
36494         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
36495         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
36496         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
36497         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
36498         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
36499         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
36500         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
36501         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
36502         * tests/unictype/test-block_list.c (ASSERT): Likewise.
36503         * tests/unictype/test-block_of.c (ASSERT): Likewise.
36504         * tests/unictype/test-block_test.c (ASSERT): Likewise.
36505         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
36506         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
36507         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
36508         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
36509         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
36510         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
36511         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
36512         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
36513         * tests/unictype/test-combining.c (ASSERT): Likewise.
36514         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
36515         * tests/unictype/test-digit.c (ASSERT): Likewise.
36516         * tests/unictype/test-mirror.c (ASSERT): Likewise.
36517         * tests/unictype/test-numeric.c (ASSERT): Likewise.
36518         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
36519         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
36520         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
36521         * tests/unictype/test-scripts.c (ASSERT): Likewise.
36522         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
36523         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
36524         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
36525         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
36526         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
36527         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
36528         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
36529         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
36530         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
36531         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
36532         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
36533         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
36534         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
36535         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
36536         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
36537         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
36538         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
36539         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
36540         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
36541         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
36542         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
36543         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
36544         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
36545         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
36546         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
36547         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
36548         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
36549         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
36550         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
36551         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
36552         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
36553         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
36554         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
36555         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
36556         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
36557         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
36558         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
36559         Reported by Eric Blake.
36560
36561 2008-04-11  Bruno Haible  <bruno@clisp.org>
36562
36563         * lib/wchar.in.h: Tweak comment.
36564
36565 2008-04-11  Bruno Haible  <bruno@clisp.org>
36566
36567         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
36568         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
36569         gl_COMMON.
36570         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
36571
36572 2008-04-11  Bruno Haible  <bruno@clisp.org>
36573
36574         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
36575
36576 2008-04-11  Simon Josefsson  <simon@josefsson.org>
36577
36578         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
36579         of attempting to use non-existing /dev/*random.  Based on patch
36580         from Adam Strzelecki <ono@java.pl> in
36581         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
36582
36583 2008-04-08  Bruno Haible  <bruno@clisp.org>
36584
36585         Add tentative support for emx+gcc.
36586         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
36587         * lib/fpurge.c (fpurge): Likewise.
36588         * lib/freadable.c (freadable): Likewise.
36589         * lib/freadahead.c (freadahead): Likewise.
36590         * lib/freading.c (freading): Likewise.
36591         * lib/freadptr.c (freadptr): Likewise.
36592         * lib/freadseek.c (freadptrinc): Likewise.
36593         * lib/fseeko.c (rpl_fseeko): Likewise.
36594         * lib/fseterr.c (fseterr): Likewise.
36595         * lib/fwritable.c (fwritable): Likewise.
36596         * lib/fwriting.c (fwriting): Likewise.
36597         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
36598
36599 2008-04-09  Eric Blake  <ebb9@byu.net>
36600
36601         Avoid some autoconf warnings.
36602         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
36603         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
36604         * m4/afs.m4 (gl_AFS): Likewise.
36605         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
36606         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
36607         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
36608         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
36609         (gl_INTEGER_TYPE_SUFFIX): Likewise.
36610         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
36611         (AC_CHECK_DECLS_ONCE): Likewise.
36612         Rename file...
36613         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
36614         gnulib-tool requires autoconf 2.59 or better.
36615         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
36616
36617 2008-04-08  Eric Blake  <ebb9@byu.net>
36618
36619         Use 'git describe --match' if present (added in git 1.5.5).
36620         * build-aux/git-version-gen: Limit result to tags that match 'v*'
36621         if possible.
36622
36623 2008-04-08  Bruno Haible  <bruno@clisp.org>
36624
36625         Add tentative support for OpenServer.
36626         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
36627         _ptr, _cnt.
36628         * lib/fpurge.c (fpurge): Likewise.
36629         * lib/freadable.c (freadable): Likewise.
36630         * lib/freadahead.c (freadahead): Likewise.
36631         * lib/freading.c (freading): Likewise.
36632         * lib/freadptr.c (freadptr): Likewise.
36633         * lib/freadseek.c (freadptrinc): Likewise.
36634         * lib/fseeko.c (rpl_fseeko): Likewise.
36635         * lib/fseterr.c (fseterr): Likewise.
36636         * lib/fwritable.c (fwritable): Likewise.
36637         * lib/fwriting.c (fwriting): Likewise.
36638         Reported by Roger Cornelius <rac@tenzing.org> and
36639         Brian K. White <brian@aljex.com>.
36640
36641 2008-04-06  Jim Meyering  <meyering@redhat.com>
36642
36643         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
36644
36645 2008-04-06  Bruno Haible  <bruno@clisp.org>
36646
36647         Avoid possible error with non-ASCII bytes in UTF-8 locales.
36648         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
36649         * tests/test-printf-posix.sh: Likewise.
36650         * tests/test-vfprintf-posix.sh: Likewise.
36651         * tests/test-vprintf-posix.sh: Likewise.
36652         * tests/test-xprintf-posix.sh: Likewise.
36653
36654 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36655
36656         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
36657         hide error from 'ls', needed on OS/2.
36658         Report by Elbert Pol <elbert.pol@gmail.com>.
36659
36660 2008-04-04  Eric Blake  <ebb9@byu.net>
36661
36662         Make test-fseeko.c failures meaningful.
36663         * tests/test-fseeko.c: Print line number on failure.
36664         * tests/test-fseek.c: Likewise.
36665         Reported by Nelson H. F. Beebe.
36666
36667         Improve strtod bug detection check.
36668         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
36669         required for Solaris 10.
36670         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
36671
36672 2008-04-04  Bruno Haible  <bruno@clisp.org>
36673
36674         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
36675         by m4/setenv.m4.
36676
36677 2008-04-03  Eric Blake  <ebb9@byu.net>
36678
36679         Ensure sane .version contents.
36680         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
36681         version string.
36682         * build-aux/git-version-gen: Improve documentation.
36683
36684         Make GNU make output nicer.
36685         * top/GNUmakefile [!_have-Makefile]: Add dependency on
36686         MAKECMDGOALS to enforce message for all command line targets.  Set
36687         srcdir for use in maint.mk.
36688
36689         Another maintainer tweak.
36690         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
36691         a target that regenerates version.
36692
36693 2008-04-03  Jim Meyering  <meyering@redhat.com>
36694
36695         vc-list-files: don't cause coreutils "make po-check" failure
36696         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
36697
36698 2008-04-03  Eric Blake  <ebb9@byu.net>
36699
36700         Allow VPATH usage of vc-list-files.
36701         * build-aux/vc-list-files (scriptversion): Add timestamp.
36702         (options): Add --help, --version, -C.
36703         (CVS): Support installed cvsu.
36704
36705 2008-04-02  Bruno Haible  <bruno@clisp.org>
36706
36707         Avoid some "statement with no effect" warnings from gcc.
36708         * tests/test-wctype.c (main): Explicitly ignore unused values.
36709         Reported by Jim Meyering.
36710
36711 2008-04-02  Jim Meyering  <meyering@redhat.com>
36712
36713         Avoid some warnings from "gcc -Wshadow".
36714         * tests/test-frexp.c (exp): Define to a different identifier.
36715         * tests/test-frexpl.c (exp): Likewise.
36716
36717 2008-04-03  Jim Meyering  <meyering@redhat.com>
36718
36719         bootstrap: remove dangling *.[ch] symlinks from lib
36720         * build-aux/bootstrap [dangling symlink removal]: Move find's
36721         -depth option to precede all others, to avoid a warning.
36722         Remove *.[ch] files too, and from "$source_base" (usually lib/).
36723
36724 2008-04-02  Bruno Haible  <bruno@clisp.org>
36725
36726         Avoid some warnings from "gcc -Wshadow".
36727         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
36728         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
36729         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
36730         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
36731         Reported by Jim Meyering.
36732
36733 2008-04-01  Bruno Haible  <bruno@clisp.org>
36734
36735         Fix test to work on IRIX 6.5 with cc.
36736         * tests/test-math.c (numeric_equal): New function.
36737         (main): Use it.
36738
36739 2008-04-01  Bruno Haible  <bruno@clisp.org>
36740
36741         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
36742
36743 2008-04-01  Bruno Haible  <bruno@clisp.org>
36744
36745         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
36746         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36747         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
36748         (Depends-on): Remove math.
36749
36750         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
36751         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36752         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
36753         (Depends-on): Remove math.
36754
36755         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
36756         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36757         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
36758         (Depends-on): Remove math.
36759         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
36760         (Depends-on): Remove math.
36761
36762         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
36763         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
36764         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
36765         (Depends-on): Remove math.
36766         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
36767         (Depends-on): Remove math.
36768
36769         * tests/test-round1.c: Include nan.h.
36770         (main): Use NaNd instead of NAN.
36771         * modules/round-tests (Files): Add tests/nan.h.
36772
36773         * tests/test-trunc1.c: Include nan.h.
36774         (main): Use NaNd instead of NAN.
36775         * modules/trunc-tests (Files): Add tests/nan.h.
36776
36777         * tests/test-roundf1.c: Include nan.h.
36778         (main): Use NaNf instead of NAN.
36779         * modules/roundf-tests (Files): Add tests/nan.h.
36780
36781         * tests/test-truncf1.c: Include nan.h.
36782         (main): Use NaNf instead of NAN.
36783         * modules/truncf-tests (Files): Add tests/nan.h.
36784
36785         * tests/test-ceilf1.c: Include nan.h.
36786         (main): Use NaNf instead of NAN.
36787         * modules/ceilf-tests (Files): Add tests/nan.h.
36788
36789         * tests/test-floorf1.c: Include nan.h.
36790         (main): Use NaNf instead of NAN.
36791         * modules/floorf-tests (Files): Add tests/nan.h.
36792
36793         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
36794         (main): Use NaNf instead of NAN.
36795         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
36796
36797         * tests/test-isnand.c: Include nan.h instead of <math.h>.
36798         (main): Use NaNd instead of NAN.
36799         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
36800
36801         * tests/test-frexp.c: Include nan.h.
36802         (main): Use NaNd instead of NAN.
36803         * modules/frexp-tests (Files): Add tests/nan.h.
36804
36805         * lib/isnan.c: Don't include <math.h>.
36806         (FUNC): Don't use NAN macro.
36807         * modules/isnand-nolibm (Depends-on): Remove math.
36808         * modules/isnanf-nolibm (Depends-on): Remove math.
36809         * modules/isnanl (Depends-on): Remove math.
36810         * modules/isnanl-nolibm (Depends-on): Remove math.
36811
36812         * tests/nan.h: New file.
36813
36814 2008-04-01  Eric Blake  <ebb9@byu.net>
36815
36816         Fix typos.
36817         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
36818         values to be the right type.
36819
36820         For now, cater to gnulib strtod inaccuracies.
36821         * tests/test-strtod.c (main): Allow 1-ulp error on expected
36822         fractional results.  While not as nice from a QoI perspective, it
36823         is a quicker patch than correctly implementing decimal to binary
36824         rounding.
36825
36826 2008-03-31  Eric Blake  <ebb9@byu.net>
36827
36828         Guarantee a definition of NAN.
36829         * lib/math.in.h (NAN): Define if missing.
36830         * tests/test-math.c (main): Test it.
36831         * doc/posix-headers/math.texi (math.h): Document this.
36832         * lib/isnan.c (rpl_isnand): Use it.
36833         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
36834         * tests/test-floorf1.c (NaN): Likewise.
36835         * tests/test-frexp.c (NaN): Likewise.
36836         * tests/test-isnand.c (NaN): Likewise.
36837         * tests/test-isnanf.c (NaN): Likewise.
36838         * tests/test-round1.c (NaN): Likewise.
36839         * tests/test-roundf1.c (NaN): Likewise.
36840         * tests/test-snprintf-posix.h (NaN): Likewise.
36841         * tests/test-sprintf-posix.h (NaN): Likewise.
36842         * tests/test-trunc1.c (NaN): Likewise.
36843         * tests/test-truncf1.c (NaN): Likewise.
36844         * tests/test-vasnprintf-posix.c (NaN): Likewise.
36845         * tests/test-vasprintf-posix.c (NaN): Likewise.
36846         * modules/isnand-nolibm (Depends-on): Add math.
36847         * modules/isnanf-nolibm (Depends-on): Likewise.
36848         * modules/isnanl (Depends-on): Likewise.
36849         * modules/isnanl-nolibm (Depends-on): Likewise.
36850         * modules/snprintf-posix-tests (Depends-on): Likewise.
36851         * modules/sprintf-posix-tests (Depends-on): Likewise.
36852         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
36853         * modules/vsprintf-posix-tests (Depends-on): Likewise.
36854         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
36855         * modules/vasprintf-posix-tests (Depends-on): Likewise.
36856
36857 2008-03-31  Bruno Haible  <bruno@clisp.org>
36858
36859         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
36860         * doc/posix-functions/strtod.texi: Likewise.
36861
36862 2008-03-31  Bruno Haible  <bruno@clisp.org>
36863
36864         * tests/test-strtod.c (main): Don't use C99 syntax.
36865
36866 2008-03-31  Bruno Haible  <bruno@clisp.org>
36867
36868         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
36869         Reported by Eric Blake.
36870
36871 2008-03-31  Jim Meyering  <meyering@redhat.com>
36872
36873         Don't compare actual signbit return values.
36874         * tests/test-strtod.c (main): Rather, compare only their
36875         zero/non-zero nature.
36876
36877 2008-03-31  Eric Blake  <ebb9@byu.net>
36878
36879         More strtod documentation.
36880         * doc/posix-functions/strtod.texi (strtod): Interpret more test
36881         failures as distinct bugs.
36882
36883 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
36884
36885         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
36886         Problem reported by Erik Benada in
36887         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
36888
36889 2008-03-30  Bruno Haible  <bruno@clisp.org>
36890
36891         * tests/test-strtod.c: Add comments about which assertion fails on which
36892         platform.
36893         * doc/posix-functions/strtod.texi: Add info about many more platforms.
36894
36895 2008-03-30  Eric Blake  <ebb9@byu.net>
36896
36897         Test signbit behavior on zeros.
36898         * tests/test-signbit.c (test_signbitf): Add tests for zero.
36899         (test_signbitd, test_signbitl): Likewise.
36900
36901         More strtod touchups.
36902         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
36903         sign of negative underflow, for now.  Use .5, not .1.
36904         * doc/posix-functions/strtod.texi (strtod): Mention these
36905         limitations.
36906         Reported by Jim Meyering.
36907
36908 2008-03-30  Bruno Haible  <bruno@clisp.org>
36909
36910         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
36911         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
36912
36913 2008-03-30  Bruno Haible  <bruno@clisp.org>
36914
36915         Avoid failure when attempting to return empty iconv results on some
36916         platforms.
36917         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
36918         allocation, don't report ENOMEM when the resulting string is empty.
36919
36920 2008-03-30  Bruno Haible  <bruno@clisp.org>
36921
36922         Fix buffer overrun.
36923         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
36924         Don't consider the width for tmp_length. Check count against tmp_length
36925         before doing the padding. Ensure enough allocation during padding.
36926
36927 2008-03-30  Eric Blake  <ebb9@byu.net>
36928
36929         strtod touchups.
36930         * lib/strtod.c (strtod): Avoid compiler warnings.
36931         Reported by Jim Meyering.
36932
36933 2008-03-30  Bruno Haible  <bruno@clisp.org>
36934
36935         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
36936         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
36937         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
36938         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
36939         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
36940         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
36941         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
36942         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
36943
36944         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
36945         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
36946         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
36947         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
36948         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
36949         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
36950         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
36951         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
36952
36953         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
36954         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
36955         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
36956         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
36957         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
36958         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
36959         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
36960         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
36961
36962         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
36963         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
36964
36965         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
36966         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
36967
36968         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
36969         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
36970
36971         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
36972         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
36973         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
36974
36975         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
36976         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
36977         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
36978
36979         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
36980         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
36981         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
36982
36983         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
36984         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
36985         * modules/vasprintf (Depends-on): Add EOVERFLOW.
36986
36987         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
36988         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
36989         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
36990         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
36991         (Depends-on): Add EOVERFLOW.
36992         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
36993         (Depends-on): Add EOVERFLOW.
36994         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
36995         (Depends-on): Add EOVERFLOW.
36996         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
36997         (Depends-on): Add EOVERFLOW.
36998         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
36999         (Depends-on): Add EOVERFLOW.
37000         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
37001         (Depends-on): Add EOVERFLOW.
37002         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
37003         (Depends-on): Add EOVERFLOW.
37004         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
37005         (Depends-on): Add EOVERFLOW.
37006
37007         * lib/sprintf.c (EOVERFLOW): Remove fallback.
37008         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
37009         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
37010
37011         * lib/snprintf.c (EOVERFLOW): Remove fallback.
37012         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
37013         * modules/snprintf (Depends-on): Add EOVERFLOW.
37014
37015         * lib/poll.c (EOVERFLOW): Remove fallback.
37016         * modules/poll (Depends-on): Add EOVERFLOW.
37017
37018         * lib/getugroups.c (EOVERFLOW): Remove fallback.
37019         * modules/getugroups (Depends-on): Add EOVERFLOW.
37020
37021         * lib/getdelim.c (EOVERFLOW): Remove fallback.
37022         * modules/getdelim (Depends-on): Add EOVERFLOW.
37023
37024         * lib/ftell.c (EOVERFLOW): Remove fallback.
37025         * modules/ftell (Depends-on): Add EOVERFLOW.
37026
37027         * lib/fprintf.c (EOVERFLOW): Remove fallback.
37028         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
37029         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
37030
37031         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
37032
37033         * modules/EOVERFLOW-tests: New file.
37034         * tests/test-EOVERFLOW.c: New file.
37035
37036         * modules/EOVERFLOW: New file.
37037         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
37038
37039 2008-03-30  Bruno Haible  <bruno@clisp.org>
37040
37041         Fix bug introduced on 2007-06-10.
37042         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
37043         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
37044
37045 2008-03-30  Bruno Haible  <bruno@clisp.org>
37046
37047         Improve freadseek's efficiency after ungetc.
37048         * lib/freadseek.c: Include freadahead.h.
37049         (freadptrinc): New function, extracted from freadseek.
37050         (freadseek): Use it in a loop. Use freadahead to determine the number
37051         of loop iterations.
37052         * modules/freadseek (Depends-on): Add freadahead.
37053         (configure.ac): Require AC_C_INLINE.
37054
37055 2008-03-30  Bruno Haible  <bruno@clisp.org>
37056
37057         * lib/freadseek.c (freadseek): Don't ignore the return value of
37058         freadptr.
37059
37060 2008-03-29  Eric Blake  <ebb9@byu.net>
37061
37062         Add hex float support.
37063         * modules/strtod (Depends-on): Add c-ctype.
37064         (Link): Mention POW_LIB.
37065         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
37066         whitespace between 'e' and exponent.
37067         * tests/test-strtod.c (main): Enable hex float tests.
37068         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
37069         now provides.
37070
37071         Document various strtod bugs, with some fixes.
37072         * doc/posix-functions/strtod.texi (strtod): Document bugs with
37073         "-0x", "inf", "nan", and hex constants.
37074         * doc/posix-functions/atof.texi (atof): Likewise.
37075         * modules/stdlib (Makefile.am): Support strtod.
37076         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
37077         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
37078         detect additional strtod bugs.
37079         * lib/stdlib.in.h (rpl_strtod): Add declarations.
37080         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
37081         bool where appropriate.  Parse 'inf' and 'nan'.
37082         * tests/test-strtod.c: New file.
37083         * modules/strtod (Depends-on): Add stdbool, stdlib.
37084         (configure.ac): Turn on module indicator.
37085         * modules/strtod-tests: New module.
37086
37087 2008-03-29  Eric Blake  <ebb9@byu.net>
37088
37089         Fix ftell on mingw.
37090         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
37091         * modules/ftell-tests (Depends-on): Add binary-io.
37092         * modules/ftello-tests (Depends-on): Likewise.
37093         * tests/test-ftell.c (main): Enhance test to cover behavior after
37094         ungetc.  Enforce binary mode.
37095         * tests/test-ftello.c (main): Likewise.
37096
37097         Pass test-freadseek on cygwin.
37098         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
37099         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
37100         ungetc buffer.
37101
37102         * tests/test-fflush2.c (main): Fix typo.
37103
37104 2008-03-29  Bruno Haible  <bruno@clisp.org>
37105
37106         * tests/test-fflush2.c (main): Temporarily disable the contents of
37107         this test.
37108         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
37109         Reported by Eric Blake.
37110
37111 2008-03-28  Simon Josefsson  <simon@josefsson.org>
37112
37113         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
37114         (GC_SHA224_DIGEST_SIZE): Add.
37115
37116         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
37117         (gc_hash_digest_length): Likewise.
37118         (gc_hash_buffer): Likewise.
37119
37120 2008-03-25  Bruno Haible  <bruno@clisp.org>
37121
37122         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
37123         detail which gettext release to use.
37124         Reported by Simon Josefsson.
37125
37126 2008-03-26  Jim Meyering  <meyering@redhat.com>
37127
37128         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
37129         * modules/gnumakefile (clean-GNUmakefile): Also, use
37130         test ... && ... || : syntax rather than if-then ... fi.
37131
37132         gnumakefile: Don't double-quote-expand $(VPATH) value.
37133         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
37134
37135 2008-03-24  Eric Blake  <ebb9@byu.net>
37136
37137         Alter GNUmakefile to install into top directory.
37138         * modules/maintainer-makefile: Split, and add dependency...
37139         * modules/gnumakefile: to this new module.
37140         * build-aux/GNUmakefile: Move...
37141         * top/GNUmakefile: ...here.
37142         * build-aux/maint.mk: Move...
37143         * top/maint.mk: ...here.
37144         * MODULES.html.sh (Support for maintaining...): Document new
37145         module.
37146
37147 2008-03-23  Bruno Haible  <bruno@clisp.org>
37148
37149         * gnulib-tool: New options --vc-files, --no-vc-files.
37150         (func_usage): Document them.
37151         (vc_files): New variable.
37152         (func_import): Consider vc_files.
37153         (func_create_testdir): Set vc_files to empty.
37154         Suggested by Jim Meyering and Karl Berry.
37155
37156 2008-03-23  Bruno Haible  <bruno@clisp.org>
37157
37158         Fix regex compilation error on HP-UX 11.
37159         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
37160         * modules/regex (Files): Add m4/mbstate_t.m4.
37161         Reported by Ton Voon <ton.voon@altinity.com>.
37162
37163 2008-03-23  Bruno Haible  <bruno@clisp.org>
37164
37165         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
37166
37167 2008-03-23  Eric Blake  <ebb9@byu.net>
37168             Bruno Haible  <bruno@clisp.org>
37169
37170         Install files from top/ in the destination directory.
37171         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
37172         augmentation also for the files from top/.
37173         (func_import, func_create_testdir): Rewrite file names:
37174         top/filename -> filename.
37175
37176 2008-03-23  Bruno Haible  <bruno@clisp.org>
37177
37178         Tweak "gnulib --version" output.
37179         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
37180
37181 2008-03-23  Bruno Haible  <bruno@clisp.org>
37182
37183         Tweak "gnulib --version" output.
37184         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
37185         rather than contents of ChangeLog, when possible.
37186
37187 2008-03-21  Eric Blake  <ebb9@byu.net>
37188
37189         More --version tweaks.
37190         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
37191         date of last ChangeLog entry.
37192
37193 2008-03-21  Jim Meyering  <meyering@redhat.com>
37194
37195         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
37196
37197 2008-03-20  Eric Blake  <ebb9@byu.net>
37198
37199         VPATH fix.
37200         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
37201
37202 2008-03-20  Simon Josefsson  <simon@josefsson.org>
37203
37204         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
37205         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
37206
37207 2008-03-20  Eric Blake  <ebb9@byu.net>
37208
37209         Sync GNUmakefile with coreutils.
37210         * build-aux/GNUmakefile (have-Makefile): Rename...
37211         (_have-Makefile): ...to this, for namespace consideration.
37212         (GNUmakefile.cfg): Include, if present.
37213         (_autoreconf): Define a default.
37214         (_is-dist-target): New rule for rebuilds to pick up intra-release
37215         version.
37216         (maint-cfg.mk): Rename...
37217         (cfg.mk): ...to this.
37218
37219 2008-03-18  Jim Meyering  <meyering@redhat.com>
37220
37221         New script and module: mktempd
37222         * MODULES.html.sh (maint+release support): Add mktempd.
37223         * build-aux/mktempd: New file.
37224         * modules/mktempd: New file.
37225
37226 2008-03-15  Jim Meyering  <meyering@redhat.com>
37227
37228         Undo last change.
37229         * lib/sha1.c, lib/md5.c: 63 != ~63.
37230         Reported by Andreas Schwab.
37231
37232         sha1.c, md5.c: Hoist a redundant expression.
37233         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
37234         "ctx->buflen" only once, before calling *_process_block.
37235         * lib/md5.c (md5_process_bytes): Likewise.
37236
37237 2008-03-14  Eric Blake  <ebb9@byu.net>
37238
37239         Bump copyright year in files generated by gnulib-tool.
37240         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
37241         gnulib-tool, rather than hard-coding it.
37242
37243         Fix 'gnulib-tool --version' output to work with git.
37244         * gnulib-tool (func_gnulib_dir): New function, extracted from...
37245         (startup): ...here.
37246         (func_version): Use it to invoke git-version-gen, rather than
37247         relying on CVS keyword expansion.  Modernize wording.
37248         (cvsdatestamp, last_checkin_date, version): Kill unused
37249         variables.
37250
37251 2008-03-12  Jim Meyering  <meyering@redhat.com>
37252
37253         Recognize optional cast of the argument to free.
37254         * build-aux/useless-if-before-free: Update regexps.
37255
37256         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
37257
37258 2008-03-11  Bruno Haible  <bruno@clisp.org>
37259
37260         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
37261         by a single package.
37262         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
37263         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
37264         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
37265         Reported by Sam Steingold <sds@gnu.org>.
37266
37267 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
37268
37269         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
37270         repositories.
37271
37272 2008-03-11  Bruno Haible  <bruno@clisp.org>
37273
37274         Avoid conflicts between local macro definitions.
37275         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
37276         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
37277
37278 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
37279             Bruno Haible  <bruno@clisp.org>
37280
37281         Make va_copy work with some version of xlc on AIX 5.1.
37282         * lib/stdarg.in.h: New file.
37283         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
37284         On AIX, use a <stdarg.h> file substitute.
37285         * modules/stdarg (Files): Add lib/stdarg.in.h.
37286         (Depends-on): Add include_next.
37287         (Makefile.am): Build a stdarg.h substitute if requested.
37288         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
37289
37290 2008-03-10  Bruno Haible  <bruno@clisp.org>
37291
37292         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
37293         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
37294         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
37295
37296 2008-03-10  Bruno Haible  <bruno@clisp.org>
37297
37298         * modules/stdlib (Depends-on): Add include_next, remove
37299         absolute-header.
37300
37301 2008-03-09  Bruno Haible  <bruno@clisp.org>
37302
37303         * lib/freadahead.h (freadahead): Document more precisely.
37304         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
37305         the sum of both buffer sizes.
37306         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
37307         * NEWS: Document the change.
37308
37309 2008-03-09  Bruno Haible  <bruno@clisp.org>
37310
37311         Extend freadptr to return also the buffer size.
37312         * lib/freadptr.h (freadptr): Add sizep argument.
37313         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
37314         (freadptr): Add sizep argument. Determine buffer size like freadahead
37315         does.
37316         * tests/test-freadptr.c: Don't include freadahead.h.
37317         (main): Adapt for new calling convention of freadptr.
37318         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
37319         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
37320         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
37321         tests/test-freadptr2.sh.
37322         (Depends): Remove freadahead.
37323         (TESTS): Add test-freadptr2.sh.
37324         (check_PROGRAMS): Add test-freadptr2.
37325
37326 2008-03-09  Bruno Haible  <bruno@clisp.org>
37327
37328         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
37329         Report and solution by Simon Josefsson.
37330
37331 2008-03-06  Bruno Haible  <bruno@clisp.org>
37332
37333         Make fflush after ungetc work on BSD platforms.
37334         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
37335         * tests/test-fflush2.c: New file.
37336         * tests/test-fflush2.sh: New file.
37337         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
37338         tests/test-fflush2.c.
37339         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
37340         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
37341
37342 2008-03-06  Eric Blake  <ebb9@byu.net>
37343
37344         Likewise for ftello.
37345         * modules/ftello (Dependencies): Add extensions.
37346         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
37347
37348 2008-03-06  Bruno Haible  <bruno@clisp.org>
37349
37350         * modules/fseeko (Dependencies): Add extensions.
37351         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
37352         Needed on glibc systems.
37353
37354 2008-03-06  Bruno Haible  <bruno@clisp.org>
37355
37356         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
37357         email address.
37358         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37359
37360 2008-03-06  Bruno Haible  <bruno@clisp.org>
37361
37362         * users.txt: Add libgnupdf.
37363
37364 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
37365
37366         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
37367         (Header File Substitutes, Function Substitutes,
37368         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
37369         (Build robot for gnulib): Fix typo.
37370
37371 2008-03-06  Bruno Haible  <bruno@clisp.org>
37372
37373         * doc/gnulib-tool.texi (VCS Issues): Small updates.
37374         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37375
37376 2008-03-06  Bruno Haible  <bruno@clisp.org>
37377
37378         * doc/func.texi: New file, extracted from doc/gnulib.texi.
37379         * doc/gnulib.texi: Include it.
37380
37381 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37382
37383         * modules/func (License): Change license to unlimited; there was
37384         no LGPL parts in the module anyway.
37385
37386 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37387
37388         * modules/__func__: Renamed to modules/func.
37389         * modules/__func__-tests: Renamed to modules/func-tests.
37390         * tests/test-__func__.c: Renamed to tests/test-func.c.
37391         * m4/__func__.m4: Renamed to m4/func.m4.
37392         * doc/gnulib.texi (__func__): Section renamed to func.
37393         Suggested by Eric Blake <ebb9@byu.net>.
37394
37395 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37396
37397         * doc/gnulib.texi (__func__): Use C99 terminology when talking
37398         about __func__.  Make example self-contained.  Suggested by Eric
37399         Blake <ebb9@byu.net>.
37400
37401         * tests/test-__func__.c (main): Avoid extraneous () around __func.
37402         Suggested by Eric Blake <ebb9@byu.net>.
37403
37404 2008-03-06  Simon Josefsson  <simon@josefsson.org>
37405
37406         * modules/__func__: New file.
37407         * modules/__func__-tests: New file.
37408         * tests/test-__func__.c: New file.
37409         * m4/__func__.m4: New file.
37410         * doc/gnulib.texi (__func__): Document __func__ module.
37411
37412 2008-03-05  Simon Josefsson  <simon@josefsson.org>
37413
37414         * modules/byteswap (License): Re-license as LGPLv2+.
37415
37416 2008-03-05  Simon Josefsson  <simon@josefsson.org>
37417
37418         * doc/Makefile: Add pdf target.
37419
37420 2008-03-05  Simon Josefsson  <simon@josefsson.org>
37421
37422         * modules/inline (License): Use 'unlimited', since there are only
37423         *.m4 files in this module.
37424
37425 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
37426             Bruno Haible  <bruno@clisp.org>
37427
37428         Add support for HP C 7.1 on OpenVMS 8.3.
37429         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
37430
37431 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
37432
37433         Update VMS specifics.
37434         * lib/getopt.c [VMS]: Remove include of unixlib.h.
37435
37436 2008-03-02  Jim Meyering  <meyering@redhat.com>
37437
37438         Remove the last dependency on the "free" module.
37439         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
37440         Reported by Bob Proulx.
37441
37442         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
37443
37444         Remove useless "if" tests before free.  Deprecate "free" module.
37445         * doc/posix-functions/free.texi: Mention that this
37446         module is no longer useful.
37447         * modules/free (Notice): Say this module is obsolete.
37448         * modules/readutmp (Depends-on): Remove free.
37449         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
37450         * lib/putenv.c (putenv): Likewise.
37451         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
37452         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
37453         * tests/test-c-strcasestr.c (main): Likewise.
37454         * tests/test-c-strstr.c (main): Likewise.
37455         * tests/test-mbscasestr1.c (main): Likewise.
37456         * tests/test-mbscasestr2.c (main): Likewise.
37457         * tests/test-mbsstr1.c (main): Likewise.
37458         * tests/test-mbsstr2.c (main): Likewise.
37459         * tests/test-memmem.c (main): Likewise.
37460         * tests/test-strcasestr.c (main): Likewise.
37461         * tests/test-striconv.c (main): Likewise.
37462         * tests/test-striconveh.c (main): Likewise.
37463         * tests/test-striconveha.c (main): Likewise.
37464         * tests/test-strstr.c (main): Likewise.
37465
37466         * build-aux/git-version-gen: Adjust a comment and the Usage string.
37467
37468         bootstrap: sync from coreutils again
37469         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
37470
37471 2008-03-01  Jim Meyering  <meyering@redhat.com>
37472
37473         bootstrap: sync from coreutils
37474         * build-aux/bootstrap (update_po_files): Copy a .po file into place
37475         also when the target doesn't exist.
37476
37477 2008-03-01  Eric Blake  <ebb9@byu.net>
37478
37479         Fix bugs in last patch.
37480         * lib/memchr2.c (memchr2): Fix typo.
37481         * tests/test-memchr2.c: Test previous bug, and don't use GNU
37482         extension.
37483         Reported by Bruce Korb.
37484
37485         New module 'memchr2'.
37486         * modules/memchr2: New file.
37487         * modules/memchr2-tests: Likewise.
37488         * lib/memchr2.h: Likewise.
37489         * lib/memchr2.c: Likewise, based on memchr.c.
37490         * tests/test-memchr2.c: New test.
37491         * MODULES.html.sh (String handling): Add memchr2.
37492
37493 2008-02-29  Bruno Haible  <bruno@clisp.org>
37494
37495         * modules/freadseek-tests: New file.
37496         * tests/test-freadseek.sh: New file.
37497         * tests/test-freadseek.c: New file.
37498
37499         New module 'freadseek'.
37500         * modules/freadseek: New file.
37501         * lib/freadseek.h: New file.
37502         * lib/freadseek.c: New file.
37503         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
37504
37505 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
37506
37507         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
37508         wydawca.
37509
37510         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
37511         program_invocation_name and program_invocation_short_name are
37512         present.
37513
37514 2008-02-28  Bruno Haible  <bruno@clisp.org>
37515
37516         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
37517         * tests/test-freadptr.sh: Also test non-seekable stdin.
37518
37519 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
37520
37521         * build-aux/bootstrap (source_base, m4_base)
37522         (doc_base, tests_base): New variables.
37523         (gnulib_tool_options): Do not hardcode base directories, use
37524         the above variables instead.
37525
37526 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
37527
37528         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
37529
37530 2008-02-28  Bruno Haible  <bruno@clisp.org>
37531
37532         * modules/freadptr-tests: New file.
37533         * tests/test-freadptr.sh: New file.
37534         * tests/test-freadptr.c: New file.
37535
37536         New module 'freadptr'.
37537         * modules/freadptr: New file.
37538         * lib/freadptr.h: New file.
37539         * lib/freadptr.c: New file.
37540         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
37541
37542 2008-02-26  Karl Berry  <karl@freefriends.org>
37543
37544         Sync from Libtool:
37545         * libltdl/argz.c (argz_add, argz_count): New functions.
37546         * libltdl/argz.in.h: Declare them.
37547         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
37548
37549 2008-02-22  Bruno Haible  <bruno@clisp.org>
37550
37551         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
37552         is a pointer type.  Needed for HP-UX 10.
37553         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
37554         * doc/posix-functions/gmtime_r.texi: Likewise.
37555         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
37556
37557 2008-02-24  Bruno Haible  <bruno@clisp.org>
37558
37559         * modules/environ-tests: New file.
37560         * tests/test-environ.c: New file.
37561
37562         New module 'environ'.
37563         * modules/environ: New file.
37564         * lib/unistd.in.h (environ): New declaration.
37565         * m4/environ.m4: New file.
37566         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
37567         after use.
37568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
37569         HAVE_DECL_ENVIRON.
37570         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
37571         HAVE_DECL_ENVIRON.
37572         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
37573         wrong claim that 'environ' is missing on some systems.
37574         * modules/execute (Depends-on): Add environ.
37575         * lib/execute.c (environ): Remove fallback declaration.
37576         * modules/pipe (Depends-on): Add environ.
37577         * lib/pipe.c (environ): Remove fallback declaration.
37578         * modules/setenv (Depends-on): Add environ.
37579         * lib/setenv.c (environ): Remove fallback declaration.
37580         * modules/unsetenv (Depends-on): Add environ.
37581         * lib/unsetenv.c (environ): Remove fallback declaration.
37582         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
37583         m4/environ.m4.
37584         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
37585         (gl_PREREQ_UNSETENV): Likewise.
37586
37587 2008-02-24  Bruno Haible  <bruno@clisp.org>
37588
37589         * doc/posix-functions/environ.texi: Document the MacOS X problem.
37590
37591 2008-02-20  Bob Proulx  <bob@proulx.com>
37592
37593         Enable use of older two part flavor 'git describe'.
37594         * build-aux/git-version-gen: If using the older two part flavor of
37595         git version then recreate the third part now present in the
37596         newer three part flavor of git describe.
37597
37598 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
37599
37600         * lib/fts.c (fts_build): Typo correction to comment.
37601
37602 2008-02-17  Bruno Haible  <bruno@clisp.org>
37603
37604         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
37605         generating no-op conflicts.
37606
37607 2008-02-17  Bruno Haible  <bruno@clisp.org>
37608
37609         Speed up by 10%.
37610         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
37611         result_entries, rather than an index-based loop.
37612
37613 2008-02-17  Bruno Haible  <bruno@clisp.org>
37614
37615         Speed up by 25%.
37616         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
37617         'hashcode_cached'.
37618         (entry_create): New function.
37619         (entry_hashcode): Use the cached hashcode if possible.
37620         (read_changelog_file, try_split_merged_entry): Use entry_create.
37621
37622 2008-02-17  Bruno Haible  <bruno@clisp.org>
37623
37624         Speed up from O(n^2) to O(n) for long ChangeLog files.
37625         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
37626         (read_changelog_file): Change implementation of entries_reversed list
37627         to rbtreehash.
37628         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
37629
37630 2008-02-17  Bruno Haible  <bruno@clisp.org>
37631
37632         New option --split-merged-entry.
37633         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
37634         (find_paragraph_end, try_split_merged_entry): New functions.
37635         (long_options): Add option --split-merged-entry.
37636         (usage): Document option --split-merged-entry.
37637         (main): Implement option --split-merged-entry.
37638         Reported by Eric Blake.
37639
37640 2008-02-17  Bruno Haible  <bruno@clisp.org>
37641
37642         * lib/git-merge-changelog.c: Include c-strstr.h.
37643         (main): Support the "git pull --rebase" situation.
37644         * modules/git-merge-changelog (Depends-on): Add c-strstr.
37645         Reported by Eric Blake.
37646
37647 2008-02-16  Eric Blake  <ebb9@byu.net>
37648
37649         Avoid doubling \ in common case of "c-maybe" quoting style.
37650         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
37651         eliding outer quotes.
37652         * lib/quotearg.h: Document this.
37653         * tests/test-quotearg.c (result_strings, inputs, results_g)
37654         (flag_results, locale_results): Test it by adding a new string to
37655         each test group.
37656         (compare_strings): Test new string.
37657
37658 2008-02-13  Eric Blake  <ebb9@byu.net>
37659
37660         Avoid trigraph quoting in default output.
37661         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
37662         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
37663         unless explicitly requested.
37664         * tests/test-quotearg.c (flag_results, main): Add additional tests.
37665
37666 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
37667
37668         Don't rely on signed integer overflowing to negative value.
37669         * lib/getugroups.c (getugroups): Include <limits.h>.
37670         Instead, compare against INT_MAX, and increment only if the test passes.
37671
37672 2008-02-13  Jim Meyering  <meyering@redhat.com>
37673         and Eric Blake  <ebb9@byu.net>
37674
37675         Avoid shadowing warning and compile errors on Linux.
37676         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
37677         forwarding macros on Linux.
37678         (dcgettext): Define a stub, for Linux.
37679         (results_g, main): Avoid warnings.
37680
37681 2008-02-12  Eric Blake  <ebb9@byu.net>
37682
37683         Silence warning in last patch.
37684         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
37685
37686         Quotearg part 4: add tests, fix c-maybe colon quoting.
37687         * lib/quotearg.h: Improve documentation.
37688         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
37689         escapes when adding outer quotes.  When quoting trigraphs, use
37690         valid C notation.  When quoting NUL, omit extra characters if next
37691         character is not digit.  Alter prototype.
37692         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
37693         callers.
37694         * modules/quotearg-tests: New module.
37695         * tests/test-quotearg.c: New test.
37696
37697 2008-02-07  Eric Blake  <ebb9@byu.net>
37698
37699         Quotearg part 3: add flag to control outer quote elision.
37700         * lib/quotearg.h (c_maybe_quoting_style): New style.
37701         (enum quoting_flags): Better documentation of flags.
37702         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
37703         c-maybe style.
37704         (quotearg_buffer_restyled): Handle new flag to elide outer
37705         quotes.
37706
37707         Quotearg part 2: add flag that can control NUL elision.
37708         * lib/quotearg.h (set_quoting_flags): New prototype.
37709         * lib/quotearg.c (struct quoting_options): Add flag field.
37710         (set_quoting_flags): New function.
37711         (quotearg_buffer_restyled): Add flags parameter.
37712         (quotearg_alloc_mem): Set the flag if length cannot be returned.
37713         (quotearg_n_options): Set the flag, since length cannot be
37714         returned.
37715         (quoting_options_from_style): Default flags correctly.
37716
37717         Quotearg part 1: more wrappers, restore quotearg_char state.
37718         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
37719         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
37720         (quotearg_colon_mem): New wrappers.
37721         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
37722         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
37723         functions.
37724         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
37725         (quotearg_colon_mem): New functions.
37726
37727 2008-02-11  Bruno Haible  <bruno@clisp.org>
37728
37729         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
37730         library in the current directory: it does not work with parallel make.
37731         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37732
37733 2008-02-11  Bruno Haible  <bruno@clisp.org>
37734
37735         * .gitattributes: New file.
37736
37737 2008-02-11  Jim Meyering  <meyering@redhat.com>
37738
37739         useless-if-before-free: Fix reversed exit values.
37740         * build-aux/useless-if-before-free: Use correct values
37741         for EXIT_MATCH and EXIT_NO_MATCH.
37742
37743         * build-aux/useless-if-before-free: Close stdout carefully.
37744
37745 2008-02-10  Bruno Haible  <bruno@clisp.org>
37746
37747         New module 'git-merge-changelog'.
37748         * modules/git-merge-changelog: New file.
37749         * lib/git-merge-changelog.c: New file.
37750
37751 2008-02-10  Jim Meyering  <meyering@redhat.com>
37752
37753         useless-if-before-free: New option: --list (-l).
37754
37755         useless-if-before-free: Don't exit immediately upon open failure.
37756         * build-aux/useless-if-before-free: Exit 2 for errors.
37757         Upon failure to open a file, don't exit immediately.
37758         Rather, just warn and continue with any remaining files.
37759
37760 2008-02-10  Bruno Haible  <bruno@clisp.org>
37761
37762         New abstract list operation 'node_set_value'.
37763         * lib/gl_list.h (gl_list_node_set_value): New function.
37764         (struct gl_list_implementation): New field node_set_value.
37765         * lib/gl_list.c (gl_list_node_set_value): New function.
37766         * lib/gl_array_list.c (gl_array_node_set_value): New function.
37767         (gl_array_list_implementation): Update.
37768         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
37769         (gl_carray_list_implementation): Update.
37770         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
37771         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
37772         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
37773         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
37774         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
37775         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
37776         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
37777         Update.
37778         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
37779         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
37780         (gl_sublist_list_implementation): Update.
37781
37782 2008-02-10  Bruno Haible  <bruno@clisp.org>
37783
37784         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
37785         Needed when ELEMENT is #defined to 'some_type *'.
37786
37787 2008-02-10  Jim Meyering  <meyering@redhat.com>
37788
37789         New script and module: useless-if-before-free
37790         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
37791         * build-aux/useless-if-before-free: New file.
37792         * modules/useless-if-before-free: New file.
37793
37794         * build-aux/gitlog-to-changelog: Use committer date, not author date.
37795
37796         xstrtol_error: Fix typo.
37797         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
37798         s/exit_failure/exit_status/.
37799
37800 2008-02-09  Jim Meyering  <meyering@redhat.com>
37801
37802         New script and module: gitlog-to-changelog
37803         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
37804         * modules/gitlog-to-changelog: New file.
37805         * build-aux/gitlog-to-changelog: New file.
37806
37807 2008-02-08  Jim Meyering  <meyering@redhat.com>
37808
37809         Avoid two "parameter unused" warnings.
37810         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
37811         Mark "st" as used.
37812
37813         Use "git COMMAND", not "git-COMMAND".
37814         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
37815         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
37816         * build-aux/git-version-gen: Use "git status", not "git-status".
37817
37818 2008-02-07  Bruno Haible  <bruno@clisp.org>
37819
37820         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
37821         Avoids a crash on Windows Vista.
37822         Reported by Adam Strzelecki <ono@java.pl> via
37823         Simon Josefsson <simon@josefsson.org>.
37824
37825 2008-02-06  Bruno Haible  <bruno@clisp.org>
37826
37827         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
37828         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
37829         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
37830         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
37831         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
37832         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
37833         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
37834         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
37835         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
37836         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
37837         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
37838         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
37839         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
37840         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
37841         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
37842         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
37843         left-adjust flag.
37844         * tests/test-snprintf-posix.h (test_function): Likewise.
37845         * tests/test-sprintf-posix.h (test_function): Likewise.
37846         * tests/test-vasprintf-posix.c (test_function): Likewise.
37847         * doc/posix-functions/fprintf.texi: Update.
37848         * doc/posix-functions/printf.texi: Update.
37849         * doc/posix-functions/snprintf.texi: Update.
37850         * doc/posix-functions/sprintf.texi: Update.
37851         * doc/posix-functions/vfprintf.texi: Update.
37852         * doc/posix-functions/vprintf.texi: Update.
37853         * doc/posix-functions/vsnprintf.texi: Update.
37854         * doc/posix-functions/vsprintf.texi: Update.
37855         Reported by Peter Fales <psfales@alcatel-lucent.com>.
37856
37857 2008-02-06  Bruno Haible  <bruno@clisp.org>
37858
37859         Fix bug introduced on 2008-01-26.
37860         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
37861
37862 2008-02-06  Bruno Haible  <bruno@clisp.org>
37863
37864         Fix bug introduced on 2007-06-10.
37865         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
37866         !NEED_PRINTF_FLAG_ZERO.
37867
37868 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
37869
37870         getloadavg: use libperfstat on AIX5
37871         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
37872
37873 2008-02-03  Bruno Haible  <bruno@clisp.org>
37874
37875         * lib/diffseq.h: Add comments about required #includes.
37876         Reported by Michael Biggs <gnulib@doubleplum.net>.
37877
37878 2008-02-01  Bruno Haible  <bruno@clisp.org>
37879
37880         * users.txt: Add gnuit.
37881
37882 2008-01-31  Bruno Haible  <bruno@clisp.org>
37883
37884         * lib/md4.c (set_uint32): Mark as inline.
37885         * lib/md5.c (set_uint32): Likewise.
37886         * lib/sha1.c (set_uint32): Likewise.
37887         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
37888         * m4/md5.m4 (gl_MD5): Likewise.
37889         * m4/sha1.m4 (gl_SHA1): Likewise.
37890
37891 2008-01-31  Jim Meyering  <meyering@redhat.com>
37892
37893         Use "sizeof VAR", rather than a literal "4".
37894         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
37895         * lib/md4.c (md4_read_ctx): Likewise.
37896         * lib/sha1.c (sha1_read_ctx): Likewise.
37897
37898 2008-01-31  Simon Josefsson  <simon@josefsson.org>
37899
37900         * tests/test-sha1.c: New file, based on test-md5.c.
37901
37902         * modules/crypto/sha1-tests: New file.
37903
37904 2008-01-31  Simon Josefsson  <simon@josefsson.org>
37905
37906         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
37907
37908 2008-01-31  Jim Meyering  <meyering@redhat.com>
37909
37910         Prefer "sizeof v" over the equivalent "4".
37911         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
37912         * lib/md5.c (set_uint32): Likewise.
37913         * lib/sha1.c (set_uint32): Likewise.
37914
37915 2008-01-31  Simon Josefsson  <simon@josefsson.org>
37916
37917         * lib/sha1.c (set_uint32): Mark function as static.
37918
37919 2008-01-31  Simon Josefsson  <simon@josefsson.org>
37920
37921         md2: clarify comments to say that alignment is not required.
37922         * lib/md2.h: Remove warning about alignment in comment.
37923         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
37924         never been required.
37925
37926 2008-01-31  Simon Josefsson  <simon@josefsson.org>
37927
37928         md4: adapt alignment constraint fix from sha1.
37929         * lib/md4.c (set_uint32): New function, from sha1.c
37930         (md4_read_ctx): Use it.
37931         (md4_finish_ctx): Doc fix.
37932         * lib/md4.h: Doc fix.
37933
37934 2008-01-31  Simon Josefsson  <simon@josefsson.org>
37935
37936         md5: adapt alignment constraint fix from sha1.
37937         * lib/md5.c (set_uint32): New function, from sha1.c
37938         (md5_read_ctx): Use it.
37939         (md5_finish_ctx): Doc fix.
37940         * lib/md5.h: Doc fix.
37941
37942 2008-01-30  Peter Palfrader  <weasel@debian.org>
37943
37944         sha1: remove the result buffer alignment constraint
37945         * lib/sha1.c (set_uint32): New function.
37946         (sha1_read_ctx): Rewrite to remove the result buffer alignment
37947         constraint.
37948         (sha1_finish_ctx): Remove comment warning about alignment constraint.
37949         * lib/sha1.h: Likewise.
37950
37951 2008-01-30  Andreas Schwab  <schwab@suse.de>
37952             Bruno Haible  <bruno@clisp.org>
37953
37954         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
37955         correct definition of LDBL_MIN_EXP.
37956
37957 2008-01-30  Karl Berry  <karl@gnu.org>
37958
37959         * config/srclist-update: try to preserve x bit on updates.
37960         * config/srclistvars.sh: update for karl.
37961
37962 2008-01-29  Jim Meyering  <meyering@redhat.com>
37963
37964         vasnprintf.c: Avoid warning about unused label
37965         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
37966         "overflow" label definition and associated code with the
37967         same cpp condition that guards the sole use of that label.
37968
37969 2008-01-26  Bruno Haible  <bruno@clisp.org>
37970
37971         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
37972         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
37973         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
37974         * lib/isnanl-nolibm.h (isnanl): Likewise.
37975         Reported by Paul Eggert <eggert@cs.ucla.edu>.
37976
37977 2008-01-26  Bruno Haible  <bruno@clisp.org>
37978
37979         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
37980         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
37981
37982 2008-01-26  Bruno Haible  <bruno@clisp.org>
37983
37984         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
37985         GCC >= 4.0 built-in.
37986         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
37987
37988 2008-01-26  Bruno Haible  <bruno@clisp.org>
37989
37990         Rename isnan, applicable to 'double' only, to isnand.
37991         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
37992         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
37993         (configure.ac): Update.
37994         (Include): Replace "isnan.h" with "isnand.h".
37995         * m4/isnand.m4: Renamed from m4/isnan.m4.
37996         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
37997         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
37998         instead of isnan.c.
37999         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
38000         instead of HAVE_ISNAN_IN_LIBC.
38001         (isnand): Renamed from isnan.
38002         * lib/isnand.c: New file.
38003         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
38004         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
38005         (Makefile.am): Update.
38006         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
38007         Include isnand.h instead of isnan.h.
38008         (main): Test isnand instead of isnan.
38009         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
38010         isnan-nolibm.
38011         * modules/frexp (Depends-on): Likewise.
38012         * modules/frexp-tests (Depends-on): Likewise.
38013         * modules/frexp-nolibm (Depends-on): Likewise.
38014         * modules/frexp-nolibm-tests (Depends-on): Likewise.
38015         * modules/isfinite (Depends-on): Likewise.
38016         * modules/round-tests (Depends-on): Likewise.
38017         * modules/signbit (Depends-on): Likewise.
38018         * modules/signbit-tests (Depends-on): Likewise.
38019         * modules/snprintf-posix (Depends-on): Likewise.
38020         * modules/sprintf-posix (Depends-on): Likewise.
38021         * modules/trunc-tests (Depends-on): Likewise.
38022         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38023         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38024         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38025         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38026         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38027         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38028         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38029         * modules/vasnprintf-posix (Depends-on): Likewise.
38030         * modules/vasprintf-posix (Depends-on): Likewise.
38031         * modules/vfprintf-posix (Depends-on): Likewise.
38032         * modules/vsnprintf-posix (Depends-on): Likewise.
38033         * modules/vsprintf-posix (Depends-on): Likewise.
38034         * lib/frexp.c: Include isnand.h instead of isnan.h.
38035         (ISNAN): Set to isnand instead of isnan.
38036         * lib/isfinite.c: Include isnand.h instead of isnan.h.
38037         (gl_isfinited): Use isnand instead of isnan.
38038         * lib/signbitd.c: Include isnand.h instead of isnan.h.
38039         (gl_signbitd): Use isnand instead of isnan.
38040         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
38041         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
38042         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
38043         (main): Use isnand instead of isnan.
38044         * tests/test-round1.c: Include isnand.h.
38045         (main): Use isnand instead of isnan.
38046         * tests/test-round2.c: Include isnand.h instead of isnan.h.
38047         (ISNAN): Set to isnand instead of isnan.
38048         * tests/test-trunc1.c: Include isnand.h.
38049         (main): Use isnand instead of isnan.
38050         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
38051         (equal): Use isnand instead of isnan.
38052         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
38053         isnand-nolibm.
38054         * NEWS: Mention the change.
38055
38056 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
38057             Bruno Haible  <bruno@clisp.org>
38058
38059         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
38060         the GCC builtins for signbits are present and set
38061         REPLACE_SIGNBIT_USING_GCC if so.
38062         * lib/math.in.h (signbit): Define using GCC builtins if
38063         REPLACE_SIGNBIT_USING_GCC is set.
38064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
38065         REPLACE_SIGNBIT_USING_GCC.
38066         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
38067
38068 2008-01-25  Jim Meyering  <meyering@redhat.com>
38069
38070         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
38071         * lib/poll.c: Include <config.h>, not "config.h".
38072         * tests/test-getaddrinfo.c: Likewise.
38073
38074 2008-01-25  Simon Josefsson  <simon@josefsson.org>
38075
38076         * modules/sockets-tests: New file.
38077
38078 2008-01-24  Simon Josefsson  <simon@josefsson.org>
38079
38080         * modules/sockets: New module, can be used to call WSA_Startup and
38081         WSA_Cleanup when needed.
38082
38083         * lib/sockets.h, lib/sockets.c: New files.
38084
38085         * m4/sockets.m4: New file.
38086
38087         * tests/test-sockets.c: New file.
38088
38089 2008-01-19  Bruno Haible  <bruno@clisp.org>
38090
38091         * doc/posix-headers: Renamed from doc/headers.
38092         * doc/posix-functions: Renamed from doc/functions.
38093         * doc/gnulib.texi: Update.
38094
38095 2008-01-19  Bruno Haible  <bruno@clisp.org>
38096
38097         * doc/glibc-functions/strcasestr.texi: Include contents of
38098         doc/functions/strcasestr.texi, fixing the list of platforms.
38099         * doc/functions/strcasestr.texi: Remove file.
38100
38101 2008-01-19  Bruno Haible  <bruno@clisp.org>
38102
38103         * doc/glibc-functions/memmem.texi: Include contents of
38104         doc/functions/memmem.texi.
38105         * doc/functions/memmem.texi: Remove file.
38106
38107 2008-01-18  Bruno Haible  <bruno@clisp.org>
38108
38109         * doc/glibc-functions/*.texi: New files.
38110         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
38111         to use the new files.
38112
38113 2008-01-17  Bruno Haible  <bruno@clisp.org>
38114
38115         * tests/test-gethostname.c (main): Fix printf statement.
38116
38117 2008-01-17  Simon Josefsson  <simon@josefsson.org>
38118
38119         * modules/gethostname-tests: New file.
38120
38121         * tests/test-gethostname.c: New file.
38122
38123 2008-01-17  Simon Josefsson  <simon@josefsson.org>
38124
38125         * lib/gethostname.c: Include string.h unconditionally, strncpy is
38126         used by the UNAME case.  Reported by Bruno Haible
38127         <bruno@clisp.org>.
38128
38129 2008-01-17  Eric Blake  <ebb9@byu.net>
38130
38131         Convert c-strcasestr to be more efficient.
38132         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
38133         (Depends-on): Add c-strcase, remove malloca, strnlen.
38134         * tests/test-c-strcasestr.c (main): Enhance test.
38135         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
38136
38137 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
38138
38139         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
38140         Use it in creating po/Makevars.
38141
38142 2008-01-15  Simon Josefsson  <simon@josefsson.org>
38143
38144         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
38145         Applications that requires it should initialize libgcrypt
38146         manually.
38147
38148 2008-01-16  Simon Josefsson  <simon@josefsson.org>
38149
38150         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
38151
38152 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
38153
38154         Fix problem with getdate on mingw32 reported by Simon Josefsson
38155         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
38156         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
38157         tzname", when deciding whether to declare tzname.
38158         * lib/strftime.c (tzname): Likewise.
38159
38160 2008-01-15  Bruno Haible  <bruno@clisp.org>
38161
38162         Work around a MacOS X 10.5 bug in frexpl().
38163         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
38164         * doc/functions/frexpl.texi: Document the bug.
38165         Reported by Elias Pipping <pipping@gentoo.org>.
38166
38167 2008-01-14  Eric Blake  <ebb9@byu.net>
38168
38169         Touch up previous patch.
38170         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
38171         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
38172
38173         Convert strcasestr module to use Two-Way algorithm.
38174         * modules/strcasestr-simple: New module, based on the old
38175         strcasestr, but with Two-Way rather than KMP.
38176         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
38177         * lib/string.in.h (rpl_strcasestr): Declare.
38178         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
38179         performance.
38180         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
38181         * modules/string (Makefile.am): Support strcasestr.
38182         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
38183         * modules/strcasestr-tests (Depends-on): Check for alarm.
38184         * tests/test-strcasestr.c: Augment test.
38185         * lib/str-two-way.h: Clean up stray macro.
38186         * NEWS: Document new module.
38187         * MODULES.html.sh (string handling): Likewise.
38188         * doc/functions/strcasestr.texi: New file.
38189         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
38190         here, since it is not a POSIX function.
38191
38192 2008-01-14  Colin Watson  <cjwatson@debian.org>
38193             Bruno Haible  <bruno@clisp.org>
38194
38195         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
38196         works fine; if not, set REPLACE_STRSIGNAL.
38197         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
38198         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38199         REPLACE_STRSIGNAL.
38200         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
38201         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
38202         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
38203
38204 2008-01-14  Bruno Haible  <bruno@clisp.org>
38205
38206         * modules/strsignal (Include): Change to <string.h>.
38207
38208 2008-01-14  Colin Watson  <cjwatson@debian.org>
38209
38210         * modules/argp (Notice): Add a notice recommending to change
38211         XGETTEXT_OPTIONS.
38212         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
38213
38214 2008-01-13  Colin Watson  <cjwatson@debian.org>
38215
38216         * modules/strsignal-tests: New file.
38217         * tests/test-strsignal.c: New file.
38218
38219         * lib/strsignal.c: New file, from glibc with modifications.
38220         * lib/siglist.h: New file, from glibc with modifications.
38221         * lib/string.in.h (strsignal): New declaration.
38222         * m4/strsignal.m4: New file.
38223         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
38224         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
38225         * modules/strsignal: New file.
38226         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
38227         HAVE_DECL_STRSIGNAL.
38228
38229 2008-01-13  Bruno Haible  <bruno@clisp.org>
38230
38231         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
38232         locale encoding is not ASCII. Needed for OpenBSD 4.0.
38233         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
38234         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
38235
38236 2008-01-13  Bruno Haible  <bruno@clisp.org>
38237
38238         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
38239         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
38240         * lib/argp.h (__attribute__): Likewise.
38241         * lib/c-stack.c (__attribute__): Likewise.
38242         * lib/error.h (__attribute__): Likewise.
38243         * lib/fts.c (__attribute__): Likewise.
38244         * lib/openat.h (__attribute__): Likewise.
38245         * lib/stdio.in.h (__attribute__): Likewise.
38246         * lib/string.in.h (__attribute__): Likewise.
38247         * lib/utimens.c (__attribute__): Likewise.
38248         * lib/vasnprintf.h (__attribute__): Likewise.
38249         * lib/xalloc.h (__attribute__): Likewise.
38250         * lib/xprintf.h (__attribute__): Likewise.
38251         * lib/xstrtol.h (__attribute__): Likewise.
38252         * lib/xvasprintf.h (__attribute__): Likewise.
38253
38254 2008-01-12  Bruno Haible  <bruno@clisp.org>
38255
38256         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
38257         * doc/glibc-headers/a.out.texi: New file.
38258         * doc/glibc-headers/aliases.texi: New file.
38259         * doc/glibc-headers/alloca.texi: New file.
38260         * doc/glibc-headers/ar.texi: New file.
38261         * doc/glibc-headers/argp.texi: New file.
38262         * doc/glibc-headers/argz.texi: New file.
38263         * doc/glibc-headers/byteswap.texi: New file.
38264         * doc/glibc-headers/crypt.texi: New file.
38265         * doc/glibc-headers/endian.texi: New file.
38266         * doc/glibc-headers/envz.texi: New file.
38267         * doc/glibc-headers/err.texi: New file.
38268         * doc/glibc-headers/error.texi: New file.
38269         * doc/glibc-headers/execinfo.texi: New file.
38270         * doc/glibc-headers/fpu_control.texi: New file.
38271         * doc/glibc-headers/fstab.texi: New file.
38272         * doc/glibc-headers/fts.texi: New file.
38273         * doc/glibc-headers/getopt.texi: New file.
38274         * doc/glibc-headers/ieee754.texi: New file.
38275         * doc/glibc-headers/ifaddrs.texi: New file.
38276         * doc/glibc-headers/libintl.texi: New file.
38277         * doc/glibc-headers/mcheck.texi: New file.
38278         * doc/glibc-headers/mntent.texi: New file.
38279         * doc/glibc-headers/obstack.texi: New file.
38280         * doc/glibc-headers/paths.texi: New file.
38281         * doc/glibc-headers/printf.texi: New file.
38282         * doc/glibc-headers/pty.texi: New file.
38283         * doc/glibc-headers/resolv.texi: New file.
38284         * doc/glibc-headers/shadow.texi: New file.
38285         * doc/glibc-headers/sysexits.texi: New file.
38286         * doc/glibc-headers/ttyent.texi: New file.
38287
38288 2008-01-12  Jim Meyering  <meyering@redhat.com>
38289
38290         announce-gen: emit Gnulib's git-based version string.
38291         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
38292         New option --gnulib-version=V, where V is expected to be
38293         the output of running git describe in the gnulib directory.
38294         (get_tool_versions): Request feedback on xdelta.  I suspect it's
38295         not useful, and plan to stop publishing an xdelta file with each
38296         coreutils release.
38297
38298         * build-aux/announce-gen: Also check for lzma-compressed files.
38299
38300 2008-01-11  Bruno Haible  <bruno@clisp.org>
38301
38302         * tests/test-memmem.c (main): Increase maximum allowed time.
38303         * tests/test-strstr.c (main): Likewise.
38304
38305 2008-01-11  Bruno Haible  <bruno@clisp.org>
38306
38307         * doc/functions/memmem.texi: Add more precisions about platforms.
38308         * doc/functions/strstr.texi: Likewise.
38309
38310 2008-01-10  Eric Blake  <ebb9@byu.net>
38311
38312         * m4/strstr.m4: Delete cruft from copy-n-paste.
38313         Reported by Bruno Haible.
38314
38315 2008-01-10  Bruno Haible  <bruno@clisp.org>
38316
38317         Make c-strstr rely on strstr.
38318         * lib/c-strstr.c: Don't include str-kmp.h.
38319         (c_strstr): Define in terms of strstr.
38320         * modules/c-strstr (Files): Remove lib/str-kmp.h.
38321         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
38322
38323 2008-01-10  Bruno Haible  <bruno@clisp.org>
38324
38325         * doc/gnulib.texi (String Functions in C Locale): New section.
38326         * doc/c-ctype.texi: New file.
38327         * doc/c-strcase.texi: New file.
38328         * doc/c-strcaseeq.texi: New file.
38329         * doc/c-strcasestr.texi: New file.
38330         * doc/c-strstr.texi: New file.
38331         * doc/c-strtod.texi: New file.
38332         * doc/c-strtold.texi: New file.
38333
38334 2008-01-10  Eric Blake  <ebb9@byu.net>
38335
38336         * lib/relocatable.h: Fix a comment.
38337
38338 2008-01-10  Eric Blake  <ebb9@byu.net>
38339
38340         Share two-way algorithm.
38341         * lib/str-two-way.h: New file, merged from...
38342         * lib/memmem.c: ...here...
38343         * lib/strstr.c: ...and here.
38344         * modules/memmem (Files): Use it.
38345         * modules/strstr (Files): Likewise.
38346
38347         Avoid quadratic strstr implementations.
38348         * lib/strstr.c: New file.
38349         * m4/strstr.m4: Likewise.
38350         * modules/strstr: Likewise.
38351         * modules/strstr-tests: Likewise.
38352         * tests/test-strstr.c: Likewise.
38353         * lib/string.in.h (rpl_strstr): Declare.
38354         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
38355         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
38356         * modules/string (Makefile.am): Likewise.
38357         * MODULES.html.sh (string handling): Mention new module.
38358         * doc/functions/strstr.texi (strstr): Document the bug.
38359
38360 2008-01-10  Bruno Haible  <bruno@clisp.org>
38361
38362         * lib/relocatable.h (relocate): State whether result is freshly
38363         allocated or not.
38364         * lib/relocatable.c (relocate): Return a freshly allocated string
38365         instead of a pointer to a privately held string.
38366         Reported by Sylvain Beucler <beuc@gnu.org>.
38367
38368 2008-01-10  Colin Watson  <cjwatson@debian.org>
38369
38370         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
38371         s/S_ISNLK/S_ISLNK/.
38372
38373 2008-01-09  Bruno Haible  <bruno@clisp.org>
38374
38375         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
38376         and other files.
38377         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
38378         if it's only a guess.
38379         * modules/memmem: Simplify by depending on memmem-simple.
38380
38381 2008-01-09  Bruno Haible  <bruno@clisp.org>
38382
38383         Work around OpenBSD 4.0 tdelete() bug.
38384         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
38385         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
38386         macros and don't redefine the enum values.
38387         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
38388         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
38389         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
38390
38391 2008-01-09  Bruno Haible  <bruno@clisp.org>
38392
38393         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
38394         (main): Don't perform the tests if setlocale did not install a UTF-8
38395         locale. Needed on OpenBSD 4.0.
38396         * modules/wcwidth-tests (Depends-on): Add localcharset.
38397
38398 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
38399
38400         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
38401         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
38402         * NEWS: announce this.
38403         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
38404
38405 2008-01-09  Simon Josefsson  <simon@josefsson.org>
38406         and Eric Blake  <ebb9@byu.net>
38407
38408         Add memmem-simple module.
38409         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
38410         (gl_FUNC_MEMMEM): Separate performance from presence checks.
38411         * modules/memmem-simple: New file.
38412         * modules/memmem (Description): Tweak.
38413         * MODULES.html.sh (string handling): Mention new module.
38414         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
38415         addressed by memmem-simple.
38416         * NEWS: Document the difference.
38417
38418 2008-01-09  Eric Blake  <ebb9@byu.net>
38419
38420         Give gcc some memmem optimization hints.
38421         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
38422         (strcasestr): Declare as pure.
38423         * modules/memmem (Maintainer): Claim my implementation.
38424
38425 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38426
38427         Support AIX 6.1 and higher.
38428         * build-aux/config.libpath: Likewise.
38429         * build-aux/config.rpath: Likewise.
38430
38431 2008-01-08  Jim Meyering  <meyering@redhat.com>
38432             Bruno Haible  <bruno@clisp.org>
38433
38434         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
38435         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
38436         Reported by Peter Fales in
38437         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
38438
38439 2008-01-08  Bruno Haible  <bruno@clisp.org>
38440
38441         * modules/unictype/category-of (Depends-on): Add
38442         unictype/category-none.
38443         * modules/unictype/category-and-tests (Depends-on): Add
38444         unictype/category-{L,N,Lu,Nd}.
38445         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
38446         * modules/unictype/category-or-tests (Depends-on): Add
38447         unictype/category-{L,N}.
38448         * modules/unictype/category-name-tests (Depends-on): Add
38449         unictype/category-{Z,Nl}.
38450         Reported by Simon Josefsson.
38451
38452 2008-01-08  Bruno Haible  <bruno@clisp.org>
38453
38454         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
38455         convention better.
38456         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
38457         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
38458         Reported by Peter Miller <millerp@canb.auug.org.au>.
38459
38460 2008-01-08  Eric Blake  <ebb9@byu.net>
38461
38462         Rewrite memmem to guarantee linear complexity without malloc.
38463         * lib/memmem.c (memmem): Use Two-Way rather than
38464         Knuth-Morris-Pratt, to allow O(1) space usage.
38465         (critical_factorization, two_way_short_needle)
38466         (two_way_long_needle): New functions.
38467         (knuth_morris_pratt): Delete.
38468         * modules/memmem (Depends-on): No longer need malloca or stdbool.
38469         Add stdint.
38470         * tests/test-memmem.c (main): Add tests for periodic needle and
38471         sublinear performance.
38472         * doc/functions/memmem.texi (memmem): Document other deficiencies
38473         in cygwin and older glibc.
38474
38475 2008-01-08  Bruno Haible  <bruno@clisp.org>
38476
38477         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
38478         augmentation.
38479
38480 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
38481
38482         Add a configure time option: --disable-acl.
38483         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
38484         AC_ARG_ENABLE(acl).
38485
38486 2008-01-06  Simon Josefsson  <simon@josefsson.org>
38487
38488         * tests/test-localename.c: Don't include obsolete "setenv.h".
38489
38490         * modules/localename-tests (Depends-on): Need unsetenv.
38491
38492 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38493
38494         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
38495
38496 2008-01-06  Colin Watson  <cjwatson@debian.org>
38497
38498         * users.txt: Add man-db.
38499
38500 2008-01-07  Bruno Haible  <bruno@clisp.org>
38501
38502         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
38503         previous section name.
38504
38505 2008-01-07  Bruno Haible  <bruno@clisp.org>
38506
38507         * lib/progname.c (set_program_name): Don't strip off a leading
38508         "lt-" prefix outside a .libs directory.
38509         Suggested by Paul Eggert.
38510
38511 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
38512             Bruno Haible  <bruno@clisp.org>
38513
38514         Improve memory cleanup in 'relocatable' module.
38515         * lib/relocatable.h (compute_curr_prefix): Change return type to
38516         'char *'.
38517         * lib/relocatable.c (compute_curr_prefix): Change return type to
38518         'char *'. Free curr_installdir after use.
38519         (relocate): Free curr_prefix_better after use.
38520         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
38521
38522 2008-01-01  Bruno Haible  <bruno@clisp.org>
38523
38524         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
38525         failure on older glibc systems.
38526         Reported by Peter Fales <psfales@alcatel-lucent.com>.
38527
38528 2008-01-05  Eric Blake  <ebb9@byu.net>
38529
38530         Avoid quadratic system memmem.
38531         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
38532         Reported by Ralf Wildenhues.
38533
38534         Fix memmem test for mingw.
38535         * modules/memmem-tests (configure.ac): Check for alarm.
38536         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
38537         it.
38538         * doc/functions/memmem.texi: New file.
38539         * doc/gnulib.texi (Function Substitutes): Add memmem.
38540         Reported by Bruno Haible.
38541
38542 2008-01-04  Bruno Haible  <bruno@clisp.org>
38543
38544         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
38545         Require gl_HEADER_STRINGS_H_DEFAULTS, not
38546         gl_HEADER_STRING_H_DEFAULTS.
38547
38548 2008-01-04  Eric Blake  <ebb9@byu.net>
38549
38550         Shorten duration of memmem test.
38551         * tests/test-memmem.c (main): Use alarm to declare failure if test
38552         is taking too long.
38553         Reported by Ralf Wildenhues.
38554
38555 2007-12-21  Simon Josefsson  <simon@josefsson.org>
38556
38557         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
38558         string, needed by strerror.
38559
38560 2008-01-03  Colin Watson  <cjwatson@debian.org>
38561             Bruno Haible  <bruno@clisp.org>
38562
38563         * doc/gnulib-tool.texi (Localization): New section.
38564
38565 2008-01-02  Bruno Haible  <bruno@clisp.org>
38566
38567         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
38568         variables to 'unsigned char *' type.
38569         Reported by Paul Eggert.
38570
38571 2008-01-02  Jim Meyering  <jim@meyering.net>
38572
38573         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
38574
38575 2007-12-31  Jim Meyering  <jim@meyering.net>
38576
38577         Avoid use of private FTS type name.
38578         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
38579
38580 2007-12-30  Karl Berry  <karl@gnu.org>
38581
38582         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
38583         work around defect in Texinfo and/or the standalone Info browser.
38584
38585 2007-12-30  Bruno Haible  <bruno@clisp.org>
38586
38587         Unify 5 copies of the KMP code.
38588         * lib/str-kmp.h: New file.
38589         * lib/c-strcasestr.c: Include str-kmp.h.
38590         (knuth_morris_pratt): Remove function.
38591         (c_strcasestr): Update.
38592         * lib/c-strstr.c: Include str-kmp.h.
38593         (knuth_morris_pratt): Remove function.
38594         (c_strcasestr): Update.
38595         * lib/mbscasestr.c: Include str-kmp.h.
38596         (knuth_morris_pratt_unibyte): Remove function.
38597         * lib/mbsstr.c: Include str-kmp.h.
38598         (knuth_morris_pratt_unibyte): Remove function.
38599         * lib/strcasestr.c: Include str-kmp.h.
38600         (knuth_morris_pratt): Remove function.
38601         (strcasestr): Update.
38602         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
38603         * modules/c-strstr (Files): Likewise.
38604         * modules/mbscasestr (Files): Likewise.
38605         * modules/mbsstr (Files): Likewise.
38606         * modules/strcasestr (Files): Likewise.
38607         Suggested by Paul Eggert.
38608
38609 2007-12-30  Bruno Haible  <bruno@clisp.org>
38610
38611         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
38612         defined.
38613
38614 2007-12-30  Bruno Haible  <bruno@clisp.org>
38615
38616         * lib/xmalloca.h: Include xalloc.h.
38617         (xnmalloca): New macro.
38618
38619 2007-12-30  Bruno Haible  <bruno@clisp.org>
38620
38621         * lib/malloca.h (nmalloca): New macro.
38622         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
38623         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
38624         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
38625         knuth_morris_pratt_multibyte): Likewise.
38626         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
38627         knuth_morris_pratt_multibyte): Likewise.
38628         * lib/memmem.c (knuth_morris_pratt): Likewise.
38629         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
38630
38631 2007-12-25  Bruno Haible  <bruno@clisp.org>
38632
38633         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
38634         * lib/glob.c: Don't include openat.h.
38635         (link_exists2_p): Add back the code that deals with the
38636         !GLOB_ALTDIRFUNC case.
38637         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
38638         let it do the filename concatenation.
38639         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
38640         * modules/glob (Depends-on): Remove openat.
38641
38642 2007-12-31  Bruno Haible  <bruno@clisp.org>
38643
38644         * modules/dirfd (License): Change to LGPLv2+.
38645         Approved by Jim Meyering.
38646
38647 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
38648
38649         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
38650         when multiplying M by sizeof (size_t).
38651
38652 2007-12-10  Martin Lambers  <marlam@marlam.de>
38653
38654         Override getpagesize on mingw.
38655         * lib/getpagesize.c: New file.
38656         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
38657         * modules/getpagesize (Files): Add lib/getpagesize.c.
38658         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
38659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38660         REPLACE_GETPAGESIZE.
38661         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
38662
38663 2007-12-25  Bruno Haible  <bruno@clisp.org>
38664
38665         * modules/localcharset (Notice): New field.
38666         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
38667         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
38668
38669 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
38670             Bruno Haible  <bruno@clisp.org>
38671
38672         Avoid using the syntax symbol() in formatted documentation.
38673         * MODULES.html.sh (func_module): When replacing symbol() with a
38674         hyperlink, remove the parentheses. Show an error if some remain.
38675         Recognize and render the '...' syntax.
38676         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
38677         Rework. Add paragraph about GCC's inlining.
38678         * doc/alloca.texi: Likewise.
38679         * doc/error.texi: Remove parentheses from symbol reference.
38680         * doc/gnulib-intro.texi: Likewise.
38681         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
38682         * modules/fnmatch (Description): Reword to say "the ... function".
38683         * modules/full-read (Description): Likewise.
38684         * modules/full-write (Description): Likewise.
38685         * modules/safe-read (Description): Likewise.
38686         * modules/safe-write (Description): Likewise.
38687         * modules/strchrnul (Description): Likewise.
38688         * modules/trim (Description): Likewise.
38689         * modules/error (Description): Remove parentheses from symbol
38690         references.
38691         * modules/verror (Description): Likewise.
38692         Reported by Karl Berry.
38693
38694 2007-12-25  Bruno Haible  <bruno@clisp.org>
38695
38696         Fixup after 2007-10-16 commit.
38697         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
38698
38699 2007-12-24  Bruno Haible  <bruno@clisp.org>
38700
38701         Make --enable-relocatable work with DESTDIR.
38702         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
38703         to compute installdir from destprog.
38704         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
38705         also set the RELOC_DESTDIR variable.
38706         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
38707
38708 2007-12-24  Bruno Haible  <bruno@clisp.org>
38709
38710         Fix link error due to xalloc_die().
38711         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
38712         of xreadlink.
38713         * lib/relocwrapper.c: Update comments.
38714         * build-aux/install-reloc: Remove xreadlink.c from file list.
38715         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
38716         xreadlink.c.
38717         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
38718
38719 2007-12-24  Bruno Haible  <bruno@clisp.org>
38720
38721         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
38722         * lib/setenv.h: Remove file.
38723         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
38724         lib/setenv.h.
38725         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
38726         (Depends-on): Add stdlib.
38727         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
38728         gl_FUNC_UNSETENV.
38729         (Include): Replace setenv.h with <stdlib.h>.
38730         * modules/unsetenv: New file.
38731         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
38732         * lib/unsetenv.c: Include <stdlib.h> first.
38733         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
38734         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
38735         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
38736         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
38737         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
38738         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
38739         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
38740         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
38741         * doc/functions/unsetenv.texi: Update.
38742         * modules/xsetenv (Depends-on): Add unsetenv.
38743         * modules/getdate (Depends-on): Likewise.
38744         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
38745         * lib/xsetenv.c: Don't include setenv.h.
38746         * lib/getdate.y: Likewise.
38747         * lib/relocwrapper.c: Likewise.
38748         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
38749         (Depends-on): Add stdlib.
38750         * NEWS: Mention the changes.
38751         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
38752
38753 2007-12-23  Bruno Haible  <bruno@clisp.org>
38754
38755         * lib/memmem.c (memmem): Use lowercase variable names. Tab
38756         indentation.
38757
38758 2007-12-23  Bruno Haible  <bruno@clisp.org>
38759
38760         * lib/c-strcasestr.c: Add more comments.
38761         * lib/c-strstr.c: Likewise.
38762         * lib/mbscasestr.c: Likewise.
38763         * lib/mbsstr.c: Likewise.
38764         * lib/strcasestr.c: Likewise.
38765         * lib/memmem.c: Likewise.
38766
38767 2007-12-23  Bruno Haible  <bruno@clisp.org>
38768
38769         * tests/test-memmem.c: Include <string.h> first.
38770
38771 2007-12-22  Bruno Haible  <bruno@clisp.org>
38772
38773         * gnulib-tool (func_create_testdir): Change $auxdir while generating
38774         the contents of $testsbase.
38775         Reported by Ralf Wildenhues.
38776
38777 2007-12-22  Bruno Haible  <bruno@clisp.org>
38778
38779         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
38780         two variables local_ldadd_before, local_ldadd_last.
38781
38782 2007-12-20  Eric Blake  <ebb9@byu.net>
38783
38784         Work around circular library issue when cross-compiling.
38785         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
38786         that progname.o does not need to pull in rpl_memcmp.
38787
38788 2007-12-19  Eric Blake  <ebb9@byu.net>
38789
38790         Fix memmem to avoid O(n^2) worst-case complexity.
38791         * lib/memmem.c (knuth_morris_pratt): New function.
38792         (memmem): Use it if first few naive iterations fail.
38793         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
38794         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
38795         * modules/memchr (License): Likewise.
38796         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
38797         malloca.
38798         * tests/test-memmem.c: Rewrite, borrowing ideas from
38799         test-mbsstr1.c; the old version wouldn't even compile!
38800         * modules/memmem-tests: New file.
38801         * lib/string.in.h (rpl_memmem): Add declaration.
38802         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
38803         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
38804         REPLACE_MEMMEM.
38805
38806 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
38807
38808         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
38809         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
38810         before any system include files, and undef after them all.  This
38811         should fix a problem on VMS reported by John E. Malmberg in
38812         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
38813
38814 2007-12-17  Eric Blake  <ebb9@byu.net>
38815
38816         Revert addition of verify, for BSD/OS.
38817         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
38818         can't handle large files, for the sake of obsolete platforms.
38819         * modules/fseeko (Depends-on): Remove verify.
38820         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
38821         * doc/functions/ftello.texi (ftello): Likewise.
38822         * doc/functions/fgetpos.texi (fgetpos): Likewise.
38823         Reported by Larry Jones.
38824
38825 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
38826
38827         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
38828         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
38829
38830 2007-12-17  Jim Meyering  <meyering@redhat.com>
38831
38832         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
38833         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
38834         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
38835         * modules/getcwd (Depends-on): Add openat.
38836         Reported by Petr Salinger.
38837
38838 2007-12-17  Bruno Haible  <bruno@clisp.org>
38839
38840         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
38841         avoid a segmentation fault of the configure test on x86_64 systems.
38842
38843 2007-12-15  Jim Meyering  <meyering@redhat.com>
38844
38845         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
38846
38847 2007-12-13  Eric Blake  <ebb9@byu.net>
38848
38849         Another fseek test.
38850         * tests/test-fseek.c (main): Also test ungetc handling.
38851         * tests/test-fseeko.c (main): Likewise.
38852         * modules/fseeko (Depends-on): Add verify.
38853         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
38854         large.
38855         Reported by Larry Jones.
38856
38857         Fix fseeko on mingw.
38858         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
38859         seek.
38860
38861         Beef up fseek tests.
38862         * tests/test-fseek.c (main): Also test eof handling.
38863         * tests/test-fseeko.c (main): Likewise.
38864         Reported by Larry Jones.
38865
38866 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
38867
38868         Fix fseeko on BSD-based platforms.
38869         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
38870         successful seek.
38871
38872 2007-12-12  Eric Blake  <ebb9@byu.net>
38873
38874         Allow circular dependency of separate libtests.a
38875         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
38876         when use_libtests.
38877
38878 2007-12-11  Eric Blake  <ebb9@byu.net>
38879
38880         Fix bug with -0.0L in previous patch.
38881         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
38882         * tests/test-isnan.c (main): Also test on zeroes.
38883         * tests/test-isnanf.c (main): Likewise.
38884         * tests/test-isnanl.h (main): Likewise.
38885
38886         Detect pseudo-denormals on x86 even when cross-compiling.
38887         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
38888         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
38889         invalid bit patterns that happen to satisfy ==.
38890
38891         Avoid link failures with separate libtests.a.
38892         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
38893         last, to satisfy circular dependencies.
38894
38895 2007-12-11  Eric Blake  <ebb9@byu.net>
38896         and Bruno Haible  <bruno@clisp.org>
38897
38898         Fix OpenBSD 4.0 <float.h> handling of long double.
38899         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
38900         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
38901         * doc/headers/float.texi (float.h): Document OpenBSD bug.
38902
38903 2007-12-11  Jim Meyering  <meyering@redhat.com>
38904
38905         * users.txt: Add libvirt.
38906
38907         Support versions of autoconf prior to 2.59c.
38908         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
38909         if it is not already defined.
38910
38911 2007-12-09  Bruno Haible  <bruno@clisp.org>
38912
38913         Let 'gnulib-tool --import' collect sources needed for the tests in
38914         tests/ rather than in lib/.
38915         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
38916         argument. If true, add rules to generate libtests.a, and put libtests.a
38917         into $(LDADD). Consider source files in subdirectories and set
38918         uses_subdirs.
38919         (func_emit_initmacro_start, func_emit_initmacro_end,
38920         func_emit_initmacro_done): Pass all arguments explicitly.
38921         (func_import): Determine two module lists main_modules,
38922         testsrelated_modules. Determine use_libtests. Determine two variables
38923         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
38924         instead of just sed_transform_lib_file. Determine two variables
38925         main_files and testsrelated_files. Compute 'files' as the union of
38926         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
38927         func_add_or_update. In the generated gnulib-comp.m4, collect the
38928         object files for tests/ in different variables than those for lib/.
38929         Substitute LIBTESTS_LIBDEPS.
38930         (func_create_testdir): Combine the uses_subdirs results from
38931         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
38932
38933 2007-12-09  Bruno Haible  <bruno@clisp.org>
38934
38935         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
38936         the build-aux directory.
38937
38938 2007-12-09  Bruno Haible  <bruno@clisp.org>
38939
38940         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
38941         introduced on 2006-09-09.
38942
38943 2007-12-07  Jim Meyering  <meyering@redhat.com>
38944
38945         Let these macros work also with autoconf-2.59.
38946         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
38947         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
38948         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
38949
38950 2007-12-06  Jim Meyering  <meyering@redhat.com>
38951
38952         Avoid a configure-time syntax error in gl_FUNC_ACL.
38953         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
38954         function in each branch, before testing the cache variable.
38955
38956 2007-12-04  Eric Blake  <ebb9@byu.net>
38957
38958         Make scripts executable.
38959         * build-aux/config.guess: Add execute permissions.
38960         * build-aux/config.sub: Likewise.
38961         * build-aux/gendocs.sh: Likewise.
38962
38963         Fix frexp on mingw.
38964         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
38965         cross-compiling.
38966         * doc/functions/frexp.texi (frexp): Document the bug.
38967
38968         Make cygwin fseeko check more reliable.
38969         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
38970         version numbers, rather than unrelated feature check.
38971         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
38972         * doc/functions/ftello.texi (ftello): Likewise.
38973         Reported by Bruno Haible.
38974
38975         * m4/strerror.m4: Bump version number.
38976
38977 2007-12-03  Bruno Haible  <bruno@clisp.org>
38978
38979         * doc/functions/mprotect.texi: Mention the mingw problem.
38980
38981 2007-12-03  Eric Blake  <ebb9@byu.net>
38982
38983         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
38984         REPLACE_STRERROR is initialized before this macro.
38985
38986 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
38987
38988         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
38989         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
38990         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
38991         put -lsec in even for programs other than 'ls'.  This fixes a problem
38992         for gettext reported by Bruno Haible in
38993         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
38994         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
38995         Add support for Solaris 10.  This isn't efficient, but should get the
38996         job done for now.
38997
38998 2007-12-03  James Youngman  <jay@gnu.org>
38999
39000         * doc/regexprops-generic.texi: change "an close-group" to "a
39001         close-group" and "illegal" to "not allowed".
39002
39003 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39004
39005         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
39006         pr_byname.h. Needed for the rare case when the maintainer has done
39007         "make maintainer-clean" in the source directory and then attempts a
39008         build outside the source directory.
39009         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
39010         scripts_byname.h.
39011
39012 2007-12-02  Martin Lambers <marlam@marlam.de>
39013             Bruno Haible  <bruno@clisp.org>
39014
39015         * lib/getpagesize.h: Remove file.
39016         * lib/unistd.in.h: Include declaration of getpagesize here.
39017         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
39018         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
39019         HAVE_SYS_PARAM_H.
39020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
39021         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
39022         * modules/getpagesize (Files): Remove lib/getpagesize.h.
39023         (Depends-on): Add unistd.
39024         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39025         (Include): Use <unistd.h> instead of getpagesize.h.
39026         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
39027         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
39028         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
39029         gl_GETPAGESIZE invocation, already handled by module dependency.
39030         * lib/pagealign_alloc.c: Don't include getpagesize.h.
39031
39032 2007-12-02  Bruno Haible  <bruno@clisp.org>
39033
39034         * modules/strings-tests: New file.
39035         * tests/test-strings.c: New file.
39036
39037         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
39038         * lib/strings.in.h: New file.
39039         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
39040         * m4/strings_h.m4: New file.
39041         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
39042         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
39043         * modules/strings: New file.
39044         * modules/string (Makefile.am): Update.
39045         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
39046         Reported by Karl Berry.
39047
39048 2007-12-01  Eric Blake  <ebb9@byu.net>
39049
39050         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
39051         accomodate fix in cygwin 1.5.25.
39052
39053 2007-12-01  Jim Meyering  <meyering@redhat.com>
39054
39055         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
39056         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
39057         that would inhibit utf8-optimization of a regexp containing line-
39058         or buffer-anchors, e.g., `^', `$'.
39059
39060 2007-11-30  Bruno Haible  <bruno@clisp.org>
39061
39062         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
39063         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
39064         glthread_recursive_lock_init.
39065         * lib/lock.c (glthread_recursive_lock_init)
39066         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
39067         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39068
39069 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
39070
39071         New function qset_acl, like set_acl but with syscall semantics.
39072         * lib/acl.h (qset_acl): New decl.
39073         * lib/acl.c (qset_acl): New function.
39074         (set_acl): Use new function.  Use more-consistent diagnostics.
39075
39076 2007-11-28  Jim Meyering  <meyering@redhat.com>
39077
39078         * modules/physmem (License): Change from GPL to LGPLv2+.
39079
39080 2007-11-26  Bruno Haible  <bruno@clisp.org>
39081
39082         * lib/vasnprintf.c (decode_long_double): Don't abort if the
39083         'long double' type has excess precision.
39084         Reported by Jim Meyering in
39085         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
39086
39087 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39088
39089         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
39090         Sync from <http://gnu.org/licenses>.
39091         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
39092         with license text from same location.
39093         * doc/maintain.texi, doc/standards.texi:  Sync from
39094         <http://savannah.gnu.org/projects/gnustandards>.
39095
39096 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
39097         and Jim Meyering  <meyering@redhat.com>
39098
39099         Adjust getdate' grammar to accept a slightly more regular language.
39100         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
39101         Before, the former was rejected.
39102         * lib/getdate.y (digits_to_date_time): New function, factored
39103         out of ...
39104         (number): ...here.  Just call digits_to_date_time.
39105         (hybrid): New non-terminal to handle an <unsigned number,
39106         signed relative offset> sequence consistently.
39107
39108 2007-11-18  Jim Meyering  <meyering@redhat.com>
39109
39110         Pull my changes from coreutils:
39111         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
39112         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
39113         use of $gnulib_tool_option_extras, so that it's separated from the
39114         preceding argument.
39115
39116         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
39117         * build-aux/bootstrap (cp_mark_as_generated): Create any required
39118         parent destination directories before copying a file into place.
39119
39120 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
39121
39122         bootstrap: work also with 4-argument variant of AC_INIT
39123         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
39124
39125 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
39126
39127         Port test-getaddrinfo to Solaris.
39128         Problem reported by Bruno Haible in
39129         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
39130         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
39131         explanation of setting 'hints'.
39132         Don't reject an implementation merely because it returns EAI_SERVICE.
39133         (EAI_SERVICE): Define to 0 if not defined.
39134
39135 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
39136
39137         The license of gnu-make and posix-shell is now "GPLed build tool".
39138         * modules/gnu-make (License): Likewise.
39139         * modules/posix-shell (License): Likewise.
39140
39141         New module posix-shell, for determining a POSIX shell
39142         or perhaps something that is close enough to a POSIX shell.
39143         * m4/posix-shell.m4: New file.
39144         * modules/posix-shell: New file.
39145
39146         * MODULES.html.sh: Mention new module.
39147
39148         New module gnu-make, for determining whether we're using GNU Make.
39149         * m4/gnu-make.m4: New file.
39150         * modules/gnu-make: New file.
39151         * MODULES.html.sh: Mention new module.
39152
39153 2007-11-14  Jim Meyering  <meyering@redhat.com>
39154
39155         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
39156         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
39157         use this macro to create a function _definition_.
39158         Remove useless "#undef ARGMATCH_DIE".
39159
39160 2007-11-14  Bruno Haible  <bruno@clisp.org>
39161
39162         * lib/config.charset: Update for OpenBSD 4.1.
39163         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
39164
39165 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
39166
39167         Document 64-bit #if problems in stdint.texi.
39168         * doc/headers/stdint.texi (stdint.h): Mention problems with
39169         64-bit-#if, and how to work around them.
39170
39171         Don't insist on 'long long int' support in the preprocessor.  It
39172         breaks too many things.  For example, PRIdMAX still uses a 'long
39173         long int' format with the latest Sun compiler, even though
39174         HAVE_LONG_LONG_INT isn't defined due to that compiler's
39175         preprocessor problem.  This causes the latest coreutils to dump
39176         core on Solaris 10 sparc with the Sun C compiler.
39177         Instead, fix the 2007-10-16 problem in a different way, by evaluating
39178         the troublesome expressions at configure-time, not at #if-time.
39179         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
39180         preprocessor.
39181         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
39182         compile-time C checks, done at 'configure'-time.
39183         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
39184         * modules/inttypes (Makefile): Substitute the new symbols that
39185         gl_INTTYPES_H now generates.
39186         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
39187
39188 2007-11-12  Bruno Haible  <bruno@clisp.org>
39189
39190         Tests for Unicode character classification functions.
39191
39192         * modules/unictype/bidicategory-byname-tests: New file.
39193         * modules/unictype/bidicategory-name-tests: New file.
39194         * modules/unictype/bidicategory-of-tests: New file.
39195         * modules/unictype/bidicategory-test-tests: New file.
39196         * modules/unictype/block-list-tests: New file.
39197         * modules/unictype/block-of-tests: New file.
39198         * modules/unictype/block-test-tests: New file.
39199         * modules/unictype/category-C-tests: New file.
39200         * modules/unictype/category-Cc-tests: New file.
39201         * modules/unictype/category-Cf-tests: New file.
39202         * modules/unictype/category-Cn-tests: New file.
39203         * modules/unictype/category-Co-tests: New file.
39204         * modules/unictype/category-Cs-tests: New file.
39205         * modules/unictype/category-L-tests: New file.
39206         * modules/unictype/category-Ll-tests: New file.
39207         * modules/unictype/category-Lm-tests: New file.
39208         * modules/unictype/category-Lo-tests: New file.
39209         * modules/unictype/category-Lt-tests: New file.
39210         * modules/unictype/category-Lu-tests: New file.
39211         * modules/unictype/category-M-tests: New file.
39212         * modules/unictype/category-Mc-tests: New file.
39213         * modules/unictype/category-Me-tests: New file.
39214         * modules/unictype/category-Mn-tests: New file.
39215         * modules/unictype/category-N-tests: New file.
39216         * modules/unictype/category-Nd-tests: New file.
39217         * modules/unictype/category-Nl-tests: New file.
39218         * modules/unictype/category-No-tests: New file.
39219         * modules/unictype/category-P-tests: New file.
39220         * modules/unictype/category-Pc-tests: New file.
39221         * modules/unictype/category-Pd-tests: New file.
39222         * modules/unictype/category-Pe-tests: New file.
39223         * modules/unictype/category-Pf-tests: New file.
39224         * modules/unictype/category-Pi-tests: New file.
39225         * modules/unictype/category-Po-tests: New file.
39226         * modules/unictype/category-Ps-tests: New file.
39227         * modules/unictype/category-S-tests: New file.
39228         * modules/unictype/category-Sc-tests: New file.
39229         * modules/unictype/category-Sk-tests: New file.
39230         * modules/unictype/category-Sm-tests: New file.
39231         * modules/unictype/category-So-tests: New file.
39232         * modules/unictype/category-Z-tests: New file.
39233         * modules/unictype/category-Zl-tests: New file.
39234         * modules/unictype/category-Zp-tests: New file.
39235         * modules/unictype/category-Zs-tests: New file.
39236         * modules/unictype/category-and-not-tests: New file.
39237         * modules/unictype/category-and-tests: New file.
39238         * modules/unictype/category-byname-tests: New file.
39239         * modules/unictype/category-name-tests: New file.
39240         * modules/unictype/category-none-tests: New file.
39241         * modules/unictype/category-of-tests: New file.
39242         * modules/unictype/category-or-tests: New file.
39243         * modules/unictype/category-test-withtable-tests: New file.
39244         * modules/unictype/combining-class-tests: New file.
39245         * modules/unictype/ctype-alnum-tests: New file.
39246         * modules/unictype/ctype-alpha-tests: New file.
39247         * modules/unictype/ctype-blank-tests: New file.
39248         * modules/unictype/ctype-cntrl-tests: New file.
39249         * modules/unictype/ctype-digit-tests: New file.
39250         * modules/unictype/ctype-graph-tests: New file.
39251         * modules/unictype/ctype-lower-tests: New file.
39252         * modules/unictype/ctype-print-tests: New file.
39253         * modules/unictype/ctype-punct-tests: New file.
39254         * modules/unictype/ctype-space-tests: New file.
39255         * modules/unictype/ctype-upper-tests: New file.
39256         * modules/unictype/ctype-xdigit-tests: New file.
39257         * modules/unictype/decimal-digit-tests: New file.
39258         * modules/unictype/digit-tests: New file.
39259         * modules/unictype/mirror-tests: New file.
39260         * modules/unictype/numeric-tests: New file.
39261         * modules/unictype/property-alphabetic-tests: New file.
39262         * modules/unictype/property-ascii-hex-digit-tests: New file.
39263         * modules/unictype/property-bidi-arabic-digit-tests: New file.
39264         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
39265         * modules/unictype/property-bidi-block-separator-tests: New file.
39266         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
39267         * modules/unictype/property-bidi-common-separator-tests: New file.
39268         * modules/unictype/property-bidi-control-tests: New file.
39269         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
39270         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
39271         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
39272         * modules/unictype/property-bidi-european-digit-tests: New file.
39273         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
39274         * modules/unictype/property-bidi-left-to-right-tests: New file.
39275         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
39276         * modules/unictype/property-bidi-other-neutral-tests: New file.
39277         * modules/unictype/property-bidi-pdf-tests: New file.
39278         * modules/unictype/property-bidi-segment-separator-tests: New file.
39279         * modules/unictype/property-bidi-whitespace-tests: New file.
39280         * modules/unictype/property-byname-tests: New file.
39281         * modules/unictype/property-combining-tests: New file.
39282         * modules/unictype/property-composite-tests: New file.
39283         * modules/unictype/property-currency-symbol-tests: New file.
39284         * modules/unictype/property-dash-tests: New file.
39285         * modules/unictype/property-decimal-digit-tests: New file.
39286         * modules/unictype/property-default-ignorable-code-point-tests: New file.
39287         * modules/unictype/property-deprecated-tests: New file.
39288         * modules/unictype/property-diacritic-tests: New file.
39289         * modules/unictype/property-extender-tests: New file.
39290         * modules/unictype/property-format-control-tests: New file.
39291         * modules/unictype/property-grapheme-base-tests: New file.
39292         * modules/unictype/property-grapheme-extend-tests: New file.
39293         * modules/unictype/property-grapheme-link-tests: New file.
39294         * modules/unictype/property-hex-digit-tests: New file.
39295         * modules/unictype/property-hyphen-tests: New file.
39296         * modules/unictype/property-id-continue-tests: New file.
39297         * modules/unictype/property-id-start-tests: New file.
39298         * modules/unictype/property-ideographic-tests: New file.
39299         * modules/unictype/property-ids-binary-operator-tests: New file.
39300         * modules/unictype/property-ids-trinary-operator-tests: New file.
39301         * modules/unictype/property-ignorable-control-tests: New file.
39302         * modules/unictype/property-iso-control-tests: New file.
39303         * modules/unictype/property-join-control-tests: New file.
39304         * modules/unictype/property-left-of-pair-tests: New file.
39305         * modules/unictype/property-line-separator-tests: New file.
39306         * modules/unictype/property-logical-order-exception-tests: New file.
39307         * modules/unictype/property-lowercase-tests: New file.
39308         * modules/unictype/property-math-tests: New file.
39309         * modules/unictype/property-non-break-tests: New file.
39310         * modules/unictype/property-not-a-character-tests: New file.
39311         * modules/unictype/property-numeric-tests: New file.
39312         * modules/unictype/property-other-alphabetic-tests: New file.
39313         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
39314         * modules/unictype/property-other-grapheme-extend-tests: New file.
39315         * modules/unictype/property-other-id-continue-tests: New file.
39316         * modules/unictype/property-other-id-start-tests: New file.
39317         * modules/unictype/property-other-lowercase-tests: New file.
39318         * modules/unictype/property-other-math-tests: New file.
39319         * modules/unictype/property-other-uppercase-tests: New file.
39320         * modules/unictype/property-paired-punctuation-tests: New file.
39321         * modules/unictype/property-paragraph-separator-tests: New file.
39322         * modules/unictype/property-pattern-syntax-tests: New file.
39323         * modules/unictype/property-pattern-white-space-tests: New file.
39324         * modules/unictype/property-private-use-tests: New file.
39325         * modules/unictype/property-punctuation-tests: New file.
39326         * modules/unictype/property-quotation-mark-tests: New file.
39327         * modules/unictype/property-radical-tests: New file.
39328         * modules/unictype/property-sentence-terminal-tests: New file.
39329         * modules/unictype/property-soft-dotted-tests: New file.
39330         * modules/unictype/property-space-tests: New file.
39331         * modules/unictype/property-terminal-punctuation-tests: New file.
39332         * modules/unictype/property-test-tests: New file.
39333         * modules/unictype/property-titlecase-tests: New file.
39334         * modules/unictype/property-unassigned-code-value-tests: New file.
39335         * modules/unictype/property-unified-ideograph-tests: New file.
39336         * modules/unictype/property-uppercase-tests: New file.
39337         * modules/unictype/property-variation-selector-tests: New file.
39338         * modules/unictype/property-white-space-tests: New file.
39339         * modules/unictype/property-xid-continue-tests: New file.
39340         * modules/unictype/property-xid-start-tests: New file.
39341         * modules/unictype/property-zero-width-tests: New file.
39342         * modules/unictype/scripts-tests: New file.
39343         * modules/unictype/syntax-c-ident-tests: New file.
39344         * modules/unictype/syntax-c-whitespace-tests: New file.
39345         * modules/unictype/syntax-java-ident-tests: New file.
39346         * modules/unictype/syntax-java-whitespace-tests: New file.
39347         * tests/unictype/test-bidi_byname.c: New file.
39348         * tests/unictype/test-bidi_name.c: New file.
39349         * tests/unictype/test-bidi_of.c: New file.
39350         * tests/unictype/test-bidi_test.c: New file.
39351         * tests/unictype/test-block_list.c: New file.
39352         * tests/unictype/test-block_of.c: New file.
39353         * tests/unictype/test-block_test.c: New file.
39354         * tests/unictype/test-categ_and.c: New file.
39355         * tests/unictype/test-categ_and_not.c: New file.
39356         * tests/unictype/test-categ_byname.c: New file.
39357         * tests/unictype/test-categ_name.c: New file.
39358         * tests/unictype/test-categ_none.c: New file.
39359         * tests/unictype/test-categ_of.c: New file.
39360         * tests/unictype/test-categ_or.c: New file.
39361         * tests/unictype/test-categ_test_withtable.c: New file.
39362         * tests/unictype/test-combining.c: New file.
39363         * tests/unictype/test-decdigit.c: New file.
39364         * tests/unictype/test-digit.c: New file.
39365         * tests/unictype/test-mirror.c: New file.
39366         * tests/unictype/test-numeric.c: New file.
39367         * tests/unictype/test-pr_byname.c: New file.
39368         * tests/unictype/test-pr_test.c: New file.
39369         * tests/unictype/test-predicate-part1.h: New file.
39370         * tests/unictype/test-predicate-part2.h: New file.
39371         * tests/unictype/test-scripts.c: New file.
39372         * tests/unictype/test-sy_c_ident.c: New file.
39373         * tests/unictype/test-sy_java_ident.c: New file.
39374
39375         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
39376         for Unicode 5.0.0.
39377         * tests/unictype/test-categ_Cc.c: Likewise.
39378         * tests/unictype/test-categ_Cf.c: Likewise.
39379         * tests/unictype/test-categ_Cn.c: Likewise.
39380         * tests/unictype/test-categ_Co.c: Likewise.
39381         * tests/unictype/test-categ_Cs.c: Likewise.
39382         * tests/unictype/test-categ_L.c: Likewise.
39383         * tests/unictype/test-categ_Ll.c: Likewise.
39384         * tests/unictype/test-categ_Lm.c: Likewise.
39385         * tests/unictype/test-categ_Lo.c: Likewise.
39386         * tests/unictype/test-categ_Lt.c: Likewise.
39387         * tests/unictype/test-categ_Lu.c: Likewise.
39388         * tests/unictype/test-categ_M.c: Likewise.
39389         * tests/unictype/test-categ_Mc.c: Likewise.
39390         * tests/unictype/test-categ_Me.c: Likewise.
39391         * tests/unictype/test-categ_Mn.c: Likewise.
39392         * tests/unictype/test-categ_N.c: Likewise.
39393         * tests/unictype/test-categ_Nd.c: Likewise.
39394         * tests/unictype/test-categ_Nl.c: Likewise.
39395         * tests/unictype/test-categ_No.c: Likewise.
39396         * tests/unictype/test-categ_P.c: Likewise.
39397         * tests/unictype/test-categ_Pc.c: Likewise.
39398         * tests/unictype/test-categ_Pd.c: Likewise.
39399         * tests/unictype/test-categ_Pe.c: Likewise.
39400         * tests/unictype/test-categ_Pf.c: Likewise.
39401         * tests/unictype/test-categ_Pi.c: Likewise.
39402         * tests/unictype/test-categ_Po.c: Likewise.
39403         * tests/unictype/test-categ_Ps.c: Likewise.
39404         * tests/unictype/test-categ_S.c: Likewise.
39405         * tests/unictype/test-categ_Sc.c: Likewise.
39406         * tests/unictype/test-categ_Sk.c: Likewise.
39407         * tests/unictype/test-categ_Sm.c: Likewise.
39408         * tests/unictype/test-categ_So.c: Likewise.
39409         * tests/unictype/test-categ_Z.c: Likewise.
39410         * tests/unictype/test-categ_Zl.c: Likewise.
39411         * tests/unictype/test-categ_Zp.c: Likewise.
39412         * tests/unictype/test-categ_Zs.c: Likewise.
39413         * tests/unictype/test-ctype_alnum.c: Likewise.
39414         * tests/unictype/test-ctype_alpha.c: Likewise.
39415         * tests/unictype/test-ctype_blank.c: Likewise.
39416         * tests/unictype/test-ctype_cntrl.c: Likewise.
39417         * tests/unictype/test-ctype_digit.c: Likewise.
39418         * tests/unictype/test-ctype_graph.c: Likewise.
39419         * tests/unictype/test-ctype_lower.c: Likewise.
39420         * tests/unictype/test-ctype_print.c: Likewise.
39421         * tests/unictype/test-ctype_punct.c: Likewise.
39422         * tests/unictype/test-ctype_space.c: Likewise.
39423         * tests/unictype/test-ctype_upper.c: Likewise.
39424         * tests/unictype/test-ctype_xdigit.c: Likewise.
39425         * tests/unictype/test-decdigit.h: Likewise.
39426         * tests/unictype/test-digit.h: Likewise.
39427         * tests/unictype/test-numeric.h: Likewise.
39428         * tests/unictype/test-pr_alphabetic.c: Likewise.
39429         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
39430         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
39431         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
39432         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
39433         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
39434         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
39435         * tests/unictype/test-pr_bidi_control.c: Likewise.
39436         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
39437         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
39438         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
39439         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
39440         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
39441         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
39442         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
39443         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
39444         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
39445         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
39446         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
39447         * tests/unictype/test-pr_combining.c: Likewise.
39448         * tests/unictype/test-pr_composite.c: Likewise.
39449         * tests/unictype/test-pr_currency_symbol.c: Likewise.
39450         * tests/unictype/test-pr_dash.c: Likewise.
39451         * tests/unictype/test-pr_decimal_digit.c: Likewise.
39452         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
39453         * tests/unictype/test-pr_deprecated.c: Likewise.
39454         * tests/unictype/test-pr_diacritic.c: Likewise.
39455         * tests/unictype/test-pr_extender.c: Likewise.
39456         * tests/unictype/test-pr_format_control.c: Likewise.
39457         * tests/unictype/test-pr_grapheme_base.c: Likewise.
39458         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
39459         * tests/unictype/test-pr_grapheme_link.c: Likewise.
39460         * tests/unictype/test-pr_hex_digit.c: Likewise.
39461         * tests/unictype/test-pr_hyphen.c: Likewise.
39462         * tests/unictype/test-pr_id_continue.c: Likewise.
39463         * tests/unictype/test-pr_id_start.c: Likewise.
39464         * tests/unictype/test-pr_ideographic.c: Likewise.
39465         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
39466         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
39467         * tests/unictype/test-pr_ignorable_control.c: Likewise.
39468         * tests/unictype/test-pr_iso_control.c: Likewise.
39469         * tests/unictype/test-pr_join_control.c: Likewise.
39470         * tests/unictype/test-pr_left_of_pair.c: Likewise.
39471         * tests/unictype/test-pr_line_separator.c: Likewise.
39472         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
39473         * tests/unictype/test-pr_lowercase.c: Likewise.
39474         * tests/unictype/test-pr_math.c: Likewise.
39475         * tests/unictype/test-pr_non_break.c: Likewise.
39476         * tests/unictype/test-pr_not_a_character.c: Likewise.
39477         * tests/unictype/test-pr_numeric.c: Likewise.
39478         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
39479         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
39480         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
39481         * tests/unictype/test-pr_other_id_continue.c: Likewise.
39482         * tests/unictype/test-pr_other_id_start.c: Likewise.
39483         * tests/unictype/test-pr_other_lowercase.c: Likewise.
39484         * tests/unictype/test-pr_other_math.c: Likewise.
39485         * tests/unictype/test-pr_other_uppercase.c: Likewise.
39486         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
39487         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
39488         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
39489         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
39490         * tests/unictype/test-pr_private_use.c: Likewise.
39491         * tests/unictype/test-pr_punctuation.c: Likewise.
39492         * tests/unictype/test-pr_quotation_mark.c: Likewise.
39493         * tests/unictype/test-pr_radical.c: Likewise.
39494         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
39495         * tests/unictype/test-pr_soft_dotted.c: Likewise.
39496         * tests/unictype/test-pr_space.c: Likewise.
39497         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
39498         * tests/unictype/test-pr_titlecase.c: Likewise.
39499         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
39500         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
39501         * tests/unictype/test-pr_uppercase.c: Likewise.
39502         * tests/unictype/test-pr_variation_selector.c: Likewise.
39503         * tests/unictype/test-pr_white_space.c: Likewise.
39504         * tests/unictype/test-pr_xid_continue.c: Likewise.
39505         * tests/unictype/test-pr_xid_start.c: Likewise.
39506         * tests/unictype/test-pr_zero_width.c: Likewise.
39507         * tests/unictype/test-sy_c_whitespace.c: Likewise.
39508         * tests/unictype/test-sy_java_whitespace.c: Likewise.
39509
39510 2007-11-12  Bruno Haible  <bruno@clisp.org>
39511
39512         Unicode character classification functions.
39513         * lib/unictype.h: New file.
39514         * modules/unictype/base: New file.
39515         * modules/unictype/category-L: New file.
39516         * modules/unictype/category-Lu: New file.
39517         * modules/unictype/category-Ll: New file.
39518         * modules/unictype/category-Lt: New file.
39519         * modules/unictype/category-Lm: New file.
39520         * modules/unictype/category-Lo: New file.
39521         * modules/unictype/category-M: New file.
39522         * modules/unictype/category-Mn: New file.
39523         * modules/unictype/category-Mc: New file.
39524         * modules/unictype/category-Me: New file.
39525         * modules/unictype/category-N: New file.
39526         * modules/unictype/category-Nd: New file.
39527         * modules/unictype/category-Nl: New file.
39528         * modules/unictype/category-No: New file.
39529         * modules/unictype/category-P: New file.
39530         * modules/unictype/category-Pc: New file.
39531         * modules/unictype/category-Pd: New file.
39532         * modules/unictype/category-Ps: New file.
39533         * modules/unictype/category-Pe: New file.
39534         * modules/unictype/category-Pi: New file.
39535         * modules/unictype/category-Pf: New file.
39536         * modules/unictype/category-Po: New file.
39537         * modules/unictype/category-S: New file.
39538         * modules/unictype/category-Sm: New file.
39539         * modules/unictype/category-Sc: New file.
39540         * modules/unictype/category-Sk: New file.
39541         * modules/unictype/category-So: New file.
39542         * modules/unictype/category-Z: New file.
39543         * modules/unictype/category-Zs: New file.
39544         * modules/unictype/category-Zl: New file.
39545         * modules/unictype/category-Zp: New file.
39546         * modules/unictype/category-C: New file.
39547         * modules/unictype/category-Cc: New file.
39548         * modules/unictype/category-Cf: New file.
39549         * modules/unictype/category-Cs: New file.
39550         * modules/unictype/category-Co: New file.
39551         * modules/unictype/category-Cn: New file.
39552         * modules/unictype/category-or: New file.
39553         * modules/unictype/category-of: New file.
39554         * modules/unictype/category-test: New file.
39555         * modules/unictype/category-test-withtable: New file.
39556         * modules/unictype/category-byname: New file.
39557         * modules/unictype/category-none: New file.
39558         * modules/unictype/category-and: New file.
39559         * modules/unictype/category-and-not: New file.
39560         * modules/unictype/category-name: New file.
39561         * modules/unictype/combining-class: New file.
39562         * modules/unictype/category-all: New file.
39563         * modules/unictype/bidicategory-all: New file.
39564         * modules/unictype/bidicategory-byname: New file.
39565         * modules/unictype/bidicategory-name: New file.
39566         * modules/unictype/bidicategory-of: New file.
39567         * modules/unictype/bidicategory-test: New file.
39568         * modules/unictype/decimal-digit: New file.
39569         * modules/unictype/digit: New file.
39570         * modules/unictype/numeric: New file.
39571         * modules/unictype/mirror: New file.
39572         * modules/unictype/property-white-space: New file.
39573         * modules/unictype/property-alphabetic: New file.
39574         * modules/unictype/property-other-alphabetic: New file.
39575         * modules/unictype/property-not-a-character: New file.
39576         * modules/unictype/property-default-ignorable-code-point: New file.
39577         * modules/unictype/property-other-default-ignorable-code-point: New
39578         file.
39579         * modules/unictype/property-deprecated: New file.
39580         * modules/unictype/property-logical-order-exception: New file.
39581         * modules/unictype/property-variation-selector: New file.
39582         * modules/unictype/property-private-use: New file.
39583         * modules/unictype/property-unassigned-code-value: New file.
39584         * modules/unictype/property-uppercase: New file.
39585         * modules/unictype/property-other-uppercase: New file.
39586         * modules/unictype/property-lowercase: New file.
39587         * modules/unictype/property-other-lowercase: New file.
39588         * modules/unictype/property-titlecase: New file.
39589         * modules/unictype/property-soft-dotted: New file.
39590         * modules/unictype/property-id-start: New file.
39591         * modules/unictype/property-other-id-start: New file.
39592         * modules/unictype/property-id-continue: New file.
39593         * modules/unictype/property-other-id-continue: New file.
39594         * modules/unictype/property-xid-start: New file.
39595         * modules/unictype/property-xid-continue: New file.
39596         * modules/unictype/property-pattern-white-space: New file.
39597         * modules/unictype/property-pattern-syntax: New file.
39598         * modules/unictype/property-join-control: New file.
39599         * modules/unictype/property-grapheme-base: New file.
39600         * modules/unictype/property-grapheme-extend: New file.
39601         * modules/unictype/property-other-grapheme-extend: New file.
39602         * modules/unictype/property-grapheme-link: New file.
39603         * modules/unictype/property-bidi-control: New file.
39604         * modules/unictype/property-bidi-left-to-right: New file.
39605         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
39606         * modules/unictype/property-bidi-arabic-right-to-left: New file.
39607         * modules/unictype/property-bidi-european-digit: New file.
39608         * modules/unictype/property-bidi-eur-num-separator: New file.
39609         * modules/unictype/property-bidi-eur-num-terminator: New file.
39610         * modules/unictype/property-bidi-arabic-digit: New file.
39611         * modules/unictype/property-bidi-common-separator: New file.
39612         * modules/unictype/property-bidi-block-separator: New file.
39613         * modules/unictype/property-bidi-segment-separator: New file.
39614         * modules/unictype/property-bidi-whitespace: New file.
39615         * modules/unictype/property-bidi-non-spacing-mark: New file.
39616         * modules/unictype/property-bidi-boundary-neutral: New file.
39617         * modules/unictype/property-bidi-pdf: New file.
39618         * modules/unictype/property-bidi-embedding-or-override: New file.
39619         * modules/unictype/property-bidi-other-neutral: New file.
39620         * modules/unictype/property-hex-digit: New file.
39621         * modules/unictype/property-ascii-hex-digit: New file.
39622         * modules/unictype/property-ideographic: New file.
39623         * modules/unictype/property-unified-ideograph: New file.
39624         * modules/unictype/property-radical: New file.
39625         * modules/unictype/property-ids-binary-operator: New file.
39626         * modules/unictype/property-ids-trinary-operator: New file.
39627         * modules/unictype/property-zero-width: New file.
39628         * modules/unictype/property-space: New file.
39629         * modules/unictype/property-non-break: New file.
39630         * modules/unictype/property-iso-control: New file.
39631         * modules/unictype/property-format-control: New file.
39632         * modules/unictype/property-dash: New file.
39633         * modules/unictype/property-hyphen: New file.
39634         * modules/unictype/property-punctuation: New file.
39635         * modules/unictype/property-line-separator: New file.
39636         * modules/unictype/property-paragraph-separator: New file.
39637         * modules/unictype/property-quotation-mark: New file.
39638         * modules/unictype/property-sentence-terminal: New file.
39639         * modules/unictype/property-terminal-punctuation: New file.
39640         * modules/unictype/property-currency-symbol: New file.
39641         * modules/unictype/property-math: New file.
39642         * modules/unictype/property-other-math: New file.
39643         * modules/unictype/property-paired-punctuation: New file.
39644         * modules/unictype/property-left-of-pair: New file.
39645         * modules/unictype/property-combining: New file.
39646         * modules/unictype/property-composite: New file.
39647         * modules/unictype/property-decimal-digit: New file.
39648         * modules/unictype/property-numeric: New file.
39649         * modules/unictype/property-diacritic: New file.
39650         * modules/unictype/property-extender: New file.
39651         * modules/unictype/property-ignorable-control: New file.
39652         * modules/unictype/property-test: New file.
39653         * modules/unictype/property-byname: New file.
39654         * modules/unictype/property-all: New file.
39655         * modules/unictype/scripts: New file.
39656         * modules/unictype/scripts-all: New file.
39657         * modules/unictype/block-of: New file.
39658         * modules/unictype/block-test: New file.
39659         * modules/unictype/block-list: New file.
39660         * modules/unictype/block-all: New file.
39661         * modules/unictype/syntax-c-whitespace: New file.
39662         * modules/unictype/syntax-java-whitespace: New file.
39663         * modules/unictype/syntax-c-ident: New file.
39664         * modules/unictype/syntax-java-ident: New file.
39665         * modules/unictype/ctype-alnum: New file.
39666         * modules/unictype/ctype-alpha: New file.
39667         * modules/unictype/ctype-cntrl: New file.
39668         * modules/unictype/ctype-digit: New file.
39669         * modules/unictype/ctype-graph: New file.
39670         * modules/unictype/ctype-lower: New file.
39671         * modules/unictype/ctype-print: New file.
39672         * modules/unictype/ctype-punct: New file.
39673         * modules/unictype/ctype-space: New file.
39674         * modules/unictype/ctype-upper: New file.
39675         * modules/unictype/ctype-xdigit: New file.
39676         * modules/unictype/ctype-blank: New file.
39677         * lib/unictype/bidi_byname.c: New file.
39678         * lib/unictype/bidi_name.c: New file.
39679         * lib/unictype/bidi_of.c: New file.
39680         * lib/unictype/bidi_test.c: New file.
39681         * lib/unictype/bitmap.h: New file.
39682         * lib/unictype/block_test.c: New file.
39683         * lib/unictype/blocks.c: New file.
39684         * lib/unictype/categ_C.c: New file.
39685         * lib/unictype/categ_Cc.c: New file.
39686         * lib/unictype/categ_Cf.c: New file.
39687         * lib/unictype/categ_Cn.c: New file.
39688         * lib/unictype/categ_Co.c: New file.
39689         * lib/unictype/categ_Cs.c: New file.
39690         * lib/unictype/categ_L.c: New file.
39691         * lib/unictype/categ_Ll.c: New file.
39692         * lib/unictype/categ_Lm.c: New file.
39693         * lib/unictype/categ_Lo.c: New file.
39694         * lib/unictype/categ_Lt.c: New file.
39695         * lib/unictype/categ_Lu.c: New file.
39696         * lib/unictype/categ_M.c: New file.
39697         * lib/unictype/categ_Mc.c: New file.
39698         * lib/unictype/categ_Me.c: New file.
39699         * lib/unictype/categ_Mn.c: New file.
39700         * lib/unictype/categ_N.c: New file.
39701         * lib/unictype/categ_Nd.c: New file.
39702         * lib/unictype/categ_Nl.c: New file.
39703         * lib/unictype/categ_No.c: New file.
39704         * lib/unictype/categ_P.c: New file.
39705         * lib/unictype/categ_Pc.c: New file.
39706         * lib/unictype/categ_Pd.c: New file.
39707         * lib/unictype/categ_Pe.c: New file.
39708         * lib/unictype/categ_Pf.c: New file.
39709         * lib/unictype/categ_Pi.c: New file.
39710         * lib/unictype/categ_Po.c: New file.
39711         * lib/unictype/categ_Ps.c: New file.
39712         * lib/unictype/categ_S.c: New file.
39713         * lib/unictype/categ_Sc.c: New file.
39714         * lib/unictype/categ_Sk.c: New file.
39715         * lib/unictype/categ_Sm.c: New file.
39716         * lib/unictype/categ_So.c: New file.
39717         * lib/unictype/categ_Z.c: New file.
39718         * lib/unictype/categ_Zl.c: New file.
39719         * lib/unictype/categ_Zp.c: New file.
39720         * lib/unictype/categ_Zs.c: New file.
39721         * lib/unictype/categ_and.c: New file.
39722         * lib/unictype/categ_and_not.c: New file.
39723         * lib/unictype/categ_byname.c: New file.
39724         * lib/unictype/categ_name.c: New file.
39725         * lib/unictype/categ_none.c: New file.
39726         * lib/unictype/categ_of.c: New file.
39727         * lib/unictype/categ_or.c: New file.
39728         * lib/unictype/categ_test.c: New file.
39729         * lib/unictype/combining.c: New file.
39730         * lib/unictype/ctype_alnum.c: New file.
39731         * lib/unictype/ctype_alpha.c: New file.
39732         * lib/unictype/ctype_blank.c: New file.
39733         * lib/unictype/ctype_cntrl.c: New file.
39734         * lib/unictype/ctype_digit.c: New file.
39735         * lib/unictype/ctype_graph.c: New file.
39736         * lib/unictype/ctype_lower.c: New file.
39737         * lib/unictype/ctype_print.c: New file.
39738         * lib/unictype/ctype_punct.c: New file.
39739         * lib/unictype/ctype_space.c: New file.
39740         * lib/unictype/ctype_upper.c: New file.
39741         * lib/unictype/ctype_xdigit.c: New file.
39742         * lib/unictype/decdigit.c: New file.
39743         * lib/unictype/digit.c: New file.
39744         * lib/unictype/identsyntaxmap.h: New file.
39745         * lib/unictype/mirror.c: New file.
39746         * lib/unictype/numeric.c: New file.
39747         * lib/unictype/pr_alphabetic.c: New file.
39748         * lib/unictype/pr_ascii_hex_digit.c: New file.
39749         * lib/unictype/pr_bidi_arabic_digit.c: New file.
39750         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
39751         * lib/unictype/pr_bidi_block_separator.c: New file.
39752         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
39753         * lib/unictype/pr_bidi_common_separator.c: New file.
39754         * lib/unictype/pr_bidi_control.c: New file.
39755         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
39756         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
39757         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
39758         * lib/unictype/pr_bidi_european_digit.c: New file.
39759         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
39760         * lib/unictype/pr_bidi_left_to_right.c: New file.
39761         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
39762         * lib/unictype/pr_bidi_other_neutral.c: New file.
39763         * lib/unictype/pr_bidi_pdf.c: New file.
39764         * lib/unictype/pr_bidi_segment_separator.c: New file.
39765         * lib/unictype/pr_bidi_whitespace.c: New file.
39766         * lib/unictype/pr_byname.c: New file.
39767         * lib/unictype/pr_byname.gperf: New file.
39768         * lib/unictype/pr_combining.c: New file.
39769         * lib/unictype/pr_composite.c: New file.
39770         * lib/unictype/pr_currency_symbol.c: New file.
39771         * lib/unictype/pr_dash.c: New file.
39772         * lib/unictype/pr_decimal_digit.c: New file.
39773         * lib/unictype/pr_default_ignorable_code_point.c: New file.
39774         * lib/unictype/pr_deprecated.c: New file.
39775         * lib/unictype/pr_diacritic.c: New file.
39776         * lib/unictype/pr_extender.c: New file.
39777         * lib/unictype/pr_format_control.c: New file.
39778         * lib/unictype/pr_grapheme_base.c: New file.
39779         * lib/unictype/pr_grapheme_extend.c: New file.
39780         * lib/unictype/pr_grapheme_link.c: New file.
39781         * lib/unictype/pr_hex_digit.c: New file.
39782         * lib/unictype/pr_hyphen.c: New file.
39783         * lib/unictype/pr_id_continue.c: New file.
39784         * lib/unictype/pr_id_start.c: New file.
39785         * lib/unictype/pr_ideographic.c: New file.
39786         * lib/unictype/pr_ids_binary_operator.c: New file.
39787         * lib/unictype/pr_ids_trinary_operator.c: New file.
39788         * lib/unictype/pr_ignorable_control.c: New file.
39789         * lib/unictype/pr_iso_control.c: New file.
39790         * lib/unictype/pr_join_control.c: New file.
39791         * lib/unictype/pr_left_of_pair.c: New file.
39792         * lib/unictype/pr_line_separator.c: New file.
39793         * lib/unictype/pr_logical_order_exception.c: New file.
39794         * lib/unictype/pr_lowercase.c: New file.
39795         * lib/unictype/pr_math.c: New file.
39796         * lib/unictype/pr_non_break.c: New file.
39797         * lib/unictype/pr_not_a_character.c: New file.
39798         * lib/unictype/pr_numeric.c: New file.
39799         * lib/unictype/pr_other_alphabetic.c: New file.
39800         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
39801         * lib/unictype/pr_other_grapheme_extend.c: New file.
39802         * lib/unictype/pr_other_id_continue.c: New file.
39803         * lib/unictype/pr_other_id_start.c: New file.
39804         * lib/unictype/pr_other_lowercase.c: New file.
39805         * lib/unictype/pr_other_math.c: New file.
39806         * lib/unictype/pr_other_uppercase.c: New file.
39807         * lib/unictype/pr_paired_punctuation.c: New file.
39808         * lib/unictype/pr_paragraph_separator.c: New file.
39809         * lib/unictype/pr_pattern_syntax.c: New file.
39810         * lib/unictype/pr_pattern_white_space.c: New file.
39811         * lib/unictype/pr_private_use.c: New file.
39812         * lib/unictype/pr_punctuation.c: New file.
39813         * lib/unictype/pr_quotation_mark.c: New file.
39814         * lib/unictype/pr_radical.c: New file.
39815         * lib/unictype/pr_sentence_terminal.c: New file.
39816         * lib/unictype/pr_soft_dotted.c: New file.
39817         * lib/unictype/pr_space.c: New file.
39818         * lib/unictype/pr_terminal_punctuation.c: New file.
39819         * lib/unictype/pr_test.c: New file.
39820         * lib/unictype/pr_titlecase.c: New file.
39821         * lib/unictype/pr_unassigned_code_value.c: New file.
39822         * lib/unictype/pr_unified_ideograph.c: New file.
39823         * lib/unictype/pr_uppercase.c: New file.
39824         * lib/unictype/pr_variation_selector.c: New file.
39825         * lib/unictype/pr_white_space.c: New file.
39826         * lib/unictype/pr_xid_continue.c: New file.
39827         * lib/unictype/pr_xid_start.c: New file.
39828         * lib/unictype/pr_zero_width.c: New file.
39829         * lib/unictype/scripts.c: New file.
39830         * lib/unictype/sy_c_ident.c: New file.
39831         * lib/unictype/sy_c_whitespace.c: New file.
39832         * lib/unictype/sy_java_ident.c: New file.
39833         * lib/unictype/sy_java_whitespace.c: New file.
39834
39835         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
39836         Unicode 5.0.0.
39837         * lib/unictype/blocks.h: Likewise.
39838         * lib/unictype/categ_C.h: Likewise.
39839         * lib/unictype/categ_Cc.h: Likewise.
39840         * lib/unictype/categ_Cf.h: Likewise.
39841         * lib/unictype/categ_Cn.h: Likewise.
39842         * lib/unictype/categ_Co.h: Likewise.
39843         * lib/unictype/categ_Cs.h: Likewise.
39844         * lib/unictype/categ_L.h: Likewise.
39845         * lib/unictype/categ_Ll.h: Likewise.
39846         * lib/unictype/categ_Lm.h: Likewise.
39847         * lib/unictype/categ_Lo.h: Likewise.
39848         * lib/unictype/categ_Lt.h: Likewise.
39849         * lib/unictype/categ_Lu.h: Likewise.
39850         * lib/unictype/categ_M.h: Likewise.
39851         * lib/unictype/categ_Mc.h: Likewise.
39852         * lib/unictype/categ_Me.h: Likewise.
39853         * lib/unictype/categ_Mn.h: Likewise.
39854         * lib/unictype/categ_N.h: Likewise.
39855         * lib/unictype/categ_Nd.h: Likewise.
39856         * lib/unictype/categ_Nl.h: Likewise.
39857         * lib/unictype/categ_No.h: Likewise.
39858         * lib/unictype/categ_P.h: Likewise.
39859         * lib/unictype/categ_Pc.h: Likewise.
39860         * lib/unictype/categ_Pd.h: Likewise.
39861         * lib/unictype/categ_Pe.h: Likewise.
39862         * lib/unictype/categ_Pf.h: Likewise.
39863         * lib/unictype/categ_Pi.h: Likewise.
39864         * lib/unictype/categ_Po.h: Likewise.
39865         * lib/unictype/categ_Ps.h: Likewise.
39866         * lib/unictype/categ_S.h: Likewise.
39867         * lib/unictype/categ_Sc.h: Likewise.
39868         * lib/unictype/categ_Sk.h: Likewise.
39869         * lib/unictype/categ_Sm.h: Likewise.
39870         * lib/unictype/categ_So.h: Likewise.
39871         * lib/unictype/categ_Z.h: Likewise.
39872         * lib/unictype/categ_Zl.h: Likewise.
39873         * lib/unictype/categ_Zp.h: Likewise.
39874         * lib/unictype/categ_Zs.h: Likewise.
39875         * lib/unictype/categ_of.h: Likewise.
39876         * lib/unictype/combining.h: Likewise.
39877         * lib/unictype/ctype_alnum.h: Likewise.
39878         * lib/unictype/ctype_alpha.h: Likewise.
39879         * lib/unictype/ctype_blank.h: Likewise.
39880         * lib/unictype/ctype_cntrl.h: Likewise.
39881         * lib/unictype/ctype_digit.h: Likewise.
39882         * lib/unictype/ctype_graph.h: Likewise.
39883         * lib/unictype/ctype_lower.h: Likewise.
39884         * lib/unictype/ctype_print.h: Likewise.
39885         * lib/unictype/ctype_punct.h: Likewise.
39886         * lib/unictype/ctype_space.h: Likewise.
39887         * lib/unictype/ctype_upper.h: Likewise.
39888         * lib/unictype/ctype_xdigit.h: Likewise.
39889         * lib/unictype/decdigit.h: Likewise.
39890         * lib/unictype/digit.h: Likewise.
39891         * lib/unictype/mirror.h: Likewise.
39892         * lib/unictype/numeric.h: Likewise.
39893         * lib/unictype/pr_alphabetic.h: Likewise.
39894         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
39895         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
39896         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
39897         * lib/unictype/pr_bidi_block_separator.h: Likewise.
39898         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
39899         * lib/unictype/pr_bidi_common_separator.h: Likewise.
39900         * lib/unictype/pr_bidi_control.h: Likewise.
39901         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
39902         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
39903         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
39904         * lib/unictype/pr_bidi_european_digit.h: Likewise.
39905         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
39906         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
39907         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
39908         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
39909         * lib/unictype/pr_bidi_pdf.h: Likewise.
39910         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
39911         * lib/unictype/pr_bidi_whitespace.h: Likewise.
39912         * lib/unictype/pr_combining.h: Likewise.
39913         * lib/unictype/pr_composite.h: Likewise.
39914         * lib/unictype/pr_currency_symbol.h: Likewise.
39915         * lib/unictype/pr_dash.h: Likewise.
39916         * lib/unictype/pr_decimal_digit.h: Likewise.
39917         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
39918         * lib/unictype/pr_deprecated.h: Likewise.
39919         * lib/unictype/pr_diacritic.h: Likewise.
39920         * lib/unictype/pr_extender.h: Likewise.
39921         * lib/unictype/pr_format_control.h: Likewise.
39922         * lib/unictype/pr_grapheme_base.h: Likewise.
39923         * lib/unictype/pr_grapheme_extend.h: Likewise.
39924         * lib/unictype/pr_grapheme_link.h: Likewise.
39925         * lib/unictype/pr_hex_digit.h: Likewise.
39926         * lib/unictype/pr_hyphen.h: Likewise.
39927         * lib/unictype/pr_id_continue.h: Likewise.
39928         * lib/unictype/pr_id_start.h: Likewise.
39929         * lib/unictype/pr_ideographic.h: Likewise.
39930         * lib/unictype/pr_ids_binary_operator.h: Likewise.
39931         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
39932         * lib/unictype/pr_ignorable_control.h: Likewise.
39933         * lib/unictype/pr_iso_control.h: Likewise.
39934         * lib/unictype/pr_join_control.h: Likewise.
39935         * lib/unictype/pr_left_of_pair.h: Likewise.
39936         * lib/unictype/pr_line_separator.h: Likewise.
39937         * lib/unictype/pr_logical_order_exception.h: Likewise.
39938         * lib/unictype/pr_lowercase.h: Likewise.
39939         * lib/unictype/pr_math.h: Likewise.
39940         * lib/unictype/pr_non_break.h: Likewise.
39941         * lib/unictype/pr_not_a_character.h: Likewise.
39942         * lib/unictype/pr_numeric.h: Likewise.
39943         * lib/unictype/pr_other_alphabetic.h: Likewise.
39944         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
39945         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
39946         * lib/unictype/pr_other_id_continue.h: Likewise.
39947         * lib/unictype/pr_other_id_start.h: Likewise.
39948         * lib/unictype/pr_other_lowercase.h: Likewise.
39949         * lib/unictype/pr_other_math.h: Likewise.
39950         * lib/unictype/pr_other_uppercase.h: Likewise.
39951         * lib/unictype/pr_paired_punctuation.h: Likewise.
39952         * lib/unictype/pr_paragraph_separator.h: Likewise.
39953         * lib/unictype/pr_pattern_syntax.h: Likewise.
39954         * lib/unictype/pr_pattern_white_space.h: Likewise.
39955         * lib/unictype/pr_private_use.h: Likewise.
39956         * lib/unictype/pr_punctuation.h: Likewise.
39957         * lib/unictype/pr_quotation_mark.h: Likewise.
39958         * lib/unictype/pr_radical.h: Likewise.
39959         * lib/unictype/pr_sentence_terminal.h: Likewise.
39960         * lib/unictype/pr_soft_dotted.h: Likewise.
39961         * lib/unictype/pr_space.h: Likewise.
39962         * lib/unictype/pr_terminal_punctuation.h: Likewise.
39963         * lib/unictype/pr_titlecase.h: Likewise.
39964         * lib/unictype/pr_unassigned_code_value.h: Likewise.
39965         * lib/unictype/pr_unified_ideograph.h: Likewise.
39966         * lib/unictype/pr_uppercase.h: Likewise.
39967         * lib/unictype/pr_variation_selector.h: Likewise.
39968         * lib/unictype/pr_white_space.h: Likewise.
39969         * lib/unictype/pr_xid_continue.h: Likewise.
39970         * lib/unictype/pr_xid_start.h: Likewise.
39971         * lib/unictype/pr_zero_width.h: Likewise.
39972         * lib/unictype/scripts.h: Likewise.
39973         * lib/unictype/scripts_byname.gperf: Likewise.
39974         * lib/unictype/sy_c_ident.h: Likewise.
39975         * lib/unictype/sy_c_whitespace.h: Likewise.
39976         * lib/unictype/sy_java_ident.h: Likewise.
39977         * lib/unictype/sy_java_whitespace.h: Likewise.
39978
39979         * lib/unictype/Makefile: New file.
39980         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
39981         glibc.
39982         * lib/unictype/3level.h: New file, copied from glibc.
39983         * lib/unictype/3levelbit.h: New file.
39984
39985 2007-11-11  Bruno Haible  <bruno@clisp.org>
39986
39987         * modules/gperf: New file.
39988         * modules/iconv_open (Depends-on): Add it.
39989         (Makefile.am): Remove the GPERF definition.
39990
39991 2007-11-11  Bruno Haible  <bruno@clisp.org>
39992
39993         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
39994         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
39995
39996 2007-11-11  Bruno Haible  <bruno@clisp.org>
39997
39998         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
39999         (usage): Remove function.
40000
40001 2007-11-11  Bruno Haible  <bruno@clisp.org>
40002
40003         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
40004         gl_FUNC_CEILF_LIBS.
40005         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
40006         gl_FUNC_CEIL_LIBS.
40007         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
40008         gl_FUNC_CEILL_LIBS.
40009         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
40010         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
40011         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
40012
40013 2007-11-11  Bruno Haible  <bruno@clisp.org>
40014
40015         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
40016         roundf were declared but do not exist on functions.
40017         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
40018         roundl were declared but do not exist on functions.
40019         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
40020         HAVE_FLOORL_AND_CEILL, respectively.
40021         Needed for Sun C on Solaris 10.
40022
40023 2007-11-11  Bruno Haible  <bruno@clisp.org>
40024
40025         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
40026         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
40027         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
40028         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
40029         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
40030         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
40031         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
40032         HAVE_DECL_ROUNDF.
40033         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
40034         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
40035         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
40036         of HAVE_DECL_ROUND*.
40037         * modules/math (Makefile.am): Update.
40038
40039 2007-11-10  Bruno Haible  <bruno@clisp.org>
40040
40041         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
40042         ptrdiff_t as m4/intl.m4.
40043
40044 2007-11-10  Jim Meyering  <meyering@redhat.com>
40045
40046         Avoid link failure for the argmatch test.
40047         * tests/test-argmatch.c (usage): Define function to avoid a link
40048         failure: argmatch_die requires a usage function.
40049
40050 2007-11-09  Bruno Haible  <bruno@clisp.org>
40051
40052         * doc/functions/snprintf.texi: Mention BeOS deficiency.
40053         * doc/functions/vsnprintf.texi: Likewise.
40054         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
40055         with a size argument < 2.
40056
40057 2007-11-09  Bruno Haible  <bruno@clisp.org>
40058
40059         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
40060         buffer. Fixes an inefficiency introduced on 2007-11-03.
40061
40062 2007-11-09  Bruno Haible  <bruno@clisp.org>
40063
40064         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
40065         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
40066
40067 2007-11-08  Jim Meyering  <meyering@redhat.com>
40068
40069         Change cache variable name prefix "jm_" to "gl_" everywhere.
40070         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
40071         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
40072         * m4/uptime.m4: s/gl_/jm_/
40073
40074 2007-11-07  Bruno Haible  <bruno@clisp.org>
40075
40076         Update to GNU gettext 0.17.
40077         * m4/intl.m4: Update to GNU gettext 0.17.
40078         * m4/po.m4: Likewise.
40079         * modules/gettext (Files): Remove m4/ulonglong.m4.
40080         (configure.ac): Require gettext infrastructure from version 0.17.
40081
40082 2007-11-06  Bruno Haible  <bruno@clisp.org>
40083
40084         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
40085         symbolic values are not defined in a public header.
40086         * lib/freadable.c (freadable) [QNX]: Likewise.
40087         * lib/freadahead.c (freadahead) [QNX]: Likewise.
40088         * lib/freading.c (freading) [QNX]: Likewise.
40089         * lib/fseterr.c (fseterr) [QNX]: Likewise.
40090         * lib/fwritable.c (fwritable) [QNX]: Likewise.
40091         * lib/fwriting.c (fwriting) [QNX]: Likewise.
40092         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
40093         Reported by Alain Magloire.
40094
40095         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
40096
40097 2007-11-05  Bruno Haible  <bruno@clisp.org>
40098
40099         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
40100         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
40101         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
40102         Reported by Eric Blake.
40103
40104 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40105             Bruno Haible  <bruno@clisp.org>
40106
40107         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
40108         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
40109         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
40110         (malloc): Undefine also before including <stdlib.h>.
40111         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
40112         Needed on OSF/1 4.0.
40113
40114 2007-11-05  Jim Meyering  <meyering@redhat.com>
40115
40116         git-version-gen: sync from coreutils.
40117         * build-aux/git-version-gen: Add comments.
40118         Change the first '-' to '.' in the snapshot version string,
40119         e.g., 6.9-377-08144 -> 6.9.377-08144
40120         Remove first parameter.
40121         Don't declare a version "-dirty" merely because a time
40122         stamp has changed.
40123
40124 2007-11-04  Bruno Haible  <bruno@clisp.org>
40125
40126         * lib/lock.h: Protect all macro definitions containing an 'if'
40127         statement through a "do { ... } while (0)".
40128         * lib/tls.h: Likewise.
40129
40130 2007-11-04  Bruno Haible  <bruno@clisp.org>
40131
40132         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
40133
40134 2007-11-04  Bruno Haible  <bruno@clisp.org>
40135
40136         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
40137         * modules/fprintf-posix (Depends-on): Add nocrash.
40138         * modules/snprintf-posix (Depends-on): Likewise.
40139         * modules/sprintf-posix (Depends-on): Likewise.
40140         * modules/vasnprintf-posix (Depends-on): Likewise.
40141         * modules/vasprintf-posix (Depends-on): Likewise.
40142         * modules/vfprintf-posix (Depends-on): Likewise.
40143         * modules/vsnprintf-posix (Depends-on): Likewise.
40144         * modules/vsprintf-posix (Depends-on): Likewise.
40145         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40146         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40147         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40148         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40149         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40150         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40151         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40152
40153 2007-11-04  Bruno Haible  <bruno@clisp.org>
40154
40155         * modules/nocrash: New file.
40156         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
40157         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
40158
40159 2007-11-04  Bruno Haible  <bruno@clisp.org>
40160
40161         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
40162         precision handling.
40163         * tests/test-vasprintf-posix.c (test_function): Likewise.
40164         * tests/test-snprintf-posix.h (test_function): Likewise.
40165         * tests/test-sprintf-posix.h (test_function): Likewise.
40166
40167         Fix *printf behaviour for large precisions on mingw and BeOS.
40168         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
40169         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
40170         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
40171         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40172         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40173         gl_PRINTF_PRECISION and test its result. Invoke
40174         gl_PREREQ_VASNPRINTF_PRECISION.
40175         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40176         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40177         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40178         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40179         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40180         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40181         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40182         * doc/functions/fprintf.texi: Update.
40183         * doc/functions/printf.texi: Update.
40184         * doc/functions/snprintf.texi: Update.
40185         * doc/functions/sprintf.texi: Update.
40186         * doc/functions/vfprintf.texi: Update.
40187         * doc/functions/vprintf.texi: Update.
40188         * doc/functions/vsnprintf.texi: Update.
40189         * doc/functions/vsprintf.texi: Update.
40190
40191 2007-11-04  Bruno Haible  <bruno@clisp.org>
40192
40193         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
40194
40195 2007-11-04  Bruno Haible  <bruno@clisp.org>
40196
40197         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
40198         Reported by Sylvain Beucler <beuc@gnu.org>.
40199
40200 2007-11-03  Bruno Haible  <bruno@clisp.org>
40201
40202         * tests/test-fprintf-posix2.sh: New file.
40203         * tests/test-fprintf-posix2.c: New file.
40204         * modules/fprintf-posix-tests (Files): Add them.
40205         (TESTS): Add test-fprintf-posix2.sh.
40206         (configure.ac): Check for getrlimit and setrlimit.
40207         (check_PROGRAMS): Add test-fprintf-posix2.
40208
40209         * tests/test-printf-posix2.sh: New file.
40210         * tests/test-printf-posix2.c: New file.
40211         * modules/printf-posix-tests (Files): Add them.
40212         (TESTS): Add test-printf-posix2.sh.
40213         (configure.ac): Check for getrlimit and setrlimit.
40214         (check_PROGRAMS): Add test-printf-posix2.
40215
40216         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
40217         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
40218         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
40219         (decode_double): New function, copied from decode_long_double.
40220         (scale10_round_decimal_decoded): New function, extracted from
40221         scale10_round_decimal_long_double.
40222         (scale10_round_decimal_long_double): Use it.
40223         (scale10_round_decimal_double): New function.
40224         (floorlog10): New function.
40225         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
40226         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
40227         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
40228         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40229         gl_PRINTF_ENOMEM and test its result. Invoke
40230         gl_PREREQ_VASNPRINTF_ENOMEM.
40231         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40232         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40233         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40234         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40235         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40236         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40237         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40238         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
40239         * modules/snprintf-posix (Depends-on): Likewise.
40240         * modules/sprintf-posix (Depends-on): Likewise.
40241         * modules/vasnprintf-posix (Depends-on): Likewise.
40242         * modules/vasprintf-posix (Depends-on): Likewise.
40243         * modules/vfprintf-posix (Depends-on): Likewise.
40244         * modules/vsnprintf-posix (Depends-on): Likewise.
40245         * modules/vsprintf-posix (Depends-on): Likewise.
40246         * doc/functions/fprintf.texi: Update.
40247         * doc/functions/printf.texi: Update.
40248         * doc/functions/snprintf.texi: Update.
40249         * doc/functions/sprintf.texi: Update.
40250         * doc/functions/vfprintf.texi: Update.
40251         * doc/functions/vprintf.texi: Update.
40252         * doc/functions/vsnprintf.texi: Update.
40253         * doc/functions/vsprintf.texi: Update.
40254
40255 2007-11-03  Bruno Haible  <bruno@clisp.org>
40256
40257         * modules/frexp-nolibm-tests: New file.
40258
40259         * modules/frexp-nolibm: New file.
40260         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
40261
40262 2007-11-03  Bruno Haible  <bruno@clisp.org>
40263
40264         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
40265         value is C99 compliant.
40266         Needed for OSF/1 5.1.
40267
40268 2007-11-03  Bruno Haible  <bruno@clisp.org>
40269
40270         Fix out-of-memory handling of vasnprintf.
40271         * lib/printf-parse.c: Include <errno.h>.
40272         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
40273         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
40274         is already set.
40275
40276 2007-11-02  Eric Blake  <ebb9@byu.net>
40277
40278         Fix tests on cygwin.
40279         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
40280
40281 2007-11-01  Bruno Haible  <bruno@clisp.org>
40282
40283         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
40284         warning.
40285         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
40286         needed for POSIX compatibility.
40287
40288 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
40289
40290         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
40291         for compatibility with GNU.
40292
40293 2007-11-01  Bruno Haible  <bruno@clisp.org>
40294
40295         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
40296         (putenv): Renamed from rpl_putenv. Change argument type from
40297         'const char *' to 'char *'.
40298         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
40299         of defining putenv in config.h, just set REPLACE_PUTENV.
40300         * modules/putenv (Depends-on): Add stdlib.
40301         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40302         (Include): Use <stdlib.h>.
40303         * lib/stdlib.in.h (putenv): New declaration.
40304         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
40305         REPLACE_PUTENV.
40306         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
40307         REPLACE_PUTENV.
40308         Needed for MacOS X 10.5.0.
40309         Reported by Peter O'Gorman <peter@pogma.com>.
40310
40311 2007-11-01  Jim Meyering  <meyering@redhat.com>
40312
40313         Treat an empty date string exactly like "0".
40314         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
40315         if the remaining date string (to be parsed) is empty, use "0".
40316         Reported by Mischa Molhoek and discussed in this thread:
40317         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
40318
40319 2007-10-31  Bruno Haible  <bruno@clisp.org>
40320
40321         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
40322         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
40323         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
40324         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
40325         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
40326         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
40327
40328 2007-10-31  Bruno Haible  <bruno@clisp.org>
40329
40330         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
40331         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
40332         (AC_TYPE_LONG_LONG_INT): Use it.
40333         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
40334         it as well.
40335         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
40336         to m4/longlong.m4.
40337         * modules/stdint (Files): Remove m4/ulonglong.m4.
40338         * modules/strtoull (Files): Use m4/longlong.m4 instead of
40339         m4/ulonglong.m4.
40340         * modules/strtoumax (Files): Likewise.
40341
40342 2007-10-30  Bruno Haible  <bruno@clisp.org>
40343
40344         * modules/xvasprintf-posix: New file.
40345         Suggested by Eric Blake.
40346
40347 2007-10-30  Bruno Haible  <bruno@clisp.org>
40348
40349         * modules/xprintf-posix-tests: New file.
40350         * tests/test-xprintf-posix.sh: New file.
40351         * tests/test-xprintf-posix.c: New file.
40352         * tests/test-xfprintf-posix.c: New file.
40353
40354         * modules/xprintf-posix: New file.
40355
40356 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40357
40358         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
40359         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
40360         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
40361
40362 2007-10-29  Bruno Haible  <bruno@clisp.org>
40363
40364         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
40365         contain the special marker '_cv_'.
40366         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
40367         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
40368         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
40369         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
40370         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
40371         Reported by Ralf Wildenhues.
40372
40373 2007-10-29  Bruno Haible  <bruno@clisp.org>
40374
40375         * gnulib-tool (func_import): When --lgpl is not specified, set
40376         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
40377         GPLv3.
40378         Reported by Simon Josefsson.
40379
40380 2007-10-28  Bruno Haible  <bruno@clisp.org>
40381
40382         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
40383         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
40384         HAVE_DECL_ISFINITE.
40385         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
40386         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
40387         HAVE_DECL_ISFINITE.
40388
40389 2007-10-28  Bruno Haible  <bruno@clisp.org>
40390
40391         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
40392         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
40393
40394 2007-10-28  Bruno Haible  <bruno@clisp.org>
40395
40396         Fix link errors with Sun C 5.0 on Solaris 10.
40397         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
40398         function is declared but not present in the compiler's libm.
40399         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
40400         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
40401         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
40402         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
40403         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
40404         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
40405         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
40406         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
40407         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
40408         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
40409         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
40410         HAVE_DECL_FLOORL.
40411
40412 2007-10-28  Bruno Haible  <bruno@clisp.org>
40413
40414         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
40415         gl_FUNC_FLOORL. Cache the result.
40416         (gl_FUNC_FLOORL): Use it.
40417         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
40418         gl_FUNC_CEILL. Cache the result.
40419         (gl_FUNC_CEILL): Use it.
40420
40421         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
40422         gl_FUNC_FLOOR. Cache the result.
40423         (gl_FUNC_FLOOR): Use it.
40424         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
40425         gl_FUNC_CEIL. Cache the result.
40426         (gl_FUNC_CEIL): Use it.
40427
40428         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
40429         gl_FUNC_FLOORF. Cache the result.
40430         (gl_FUNC_FLOORF): Use it.
40431         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
40432         gl_FUNC_CEILF. Cache the result.
40433         (gl_FUNC_CEILF): Use it.
40434
40435 2007-10-28  Bruno Haible  <bruno@clisp.org>
40436
40437         * gnulib-tool: Allow specifying the LGPL version number through
40438         --lgpl=2 or --lgpl=3.
40439         (func_usage): Document --lgpl with argument.
40440         Handle --lgpl=... arguments.
40441         (func_import): Recognize also gl_LGPL calls with an argument. When
40442         --lgpl=2 is used and the module's license is just LGPL, report an
40443         error. Set sed_transform_lib_file according to the lgpl variable. In
40444         the generated files, use --lgpl or gl_LGPL invocations with argument,
40445         if necessary.
40446         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
40447         an LGPv2+ license.
40448         * doc/gnulib-tool.texi (Modified imports): Update explanation of
40449         gl_LGPL macro.
40450
40451 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40452             Bruno Haible  <bruno@clisp.org>
40453
40454         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
40455         (u16_uctomb_aux): Likewise.
40456         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
40457         !HAVE_INLINE.
40458         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
40459
40460 2007-10-28  Bruno Haible  <bruno@clisp.org>
40461
40462         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
40463         Invoke AM_GETTEXT_OPTION if it exists.
40464         * modules/vasprintf: Likewise.
40465         * modules/verror: Likewise.
40466         * modules/xprintf: Likewise.
40467         * modules/xvasprintf: Likewise.
40468
40469 2007-10-27  Ben Pfaff  <blp@gnu.org>
40470
40471         * lib/math.in.h: Define isfinite macro and prototypes for
40472         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
40473         implementations.
40474         * m4/math_h.m4: New substitutions for isfinite module.
40475         * lib/isfinite.c: New file.
40476         * m4/isfinite.m4: New file.
40477         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
40478         * modules/isfinite: New file.
40479         * modules/isfinite-tests: New file.
40480         * tests/tests-isfinite.c: New file.
40481         * doc/functions/isfinite.texi: Mention isfinite module.
40482         * MODULES.html.sh: Mention new module.
40483
40484 2007-10-27  Ben Pfaff  <blp@gnu.org>
40485
40486         Ralf Wildenhues reported that Tru64 4.0D declares the round
40487         functions but does not have definitions.
40488         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
40489         cannot be found in any library, set the output variable to
40490         "missing" instead of "".
40491         * m4/round.m4: Also use our substitute if we cannot find round in
40492         any library, even if it is declared.
40493         * m4/roundf.m4: Likewise for roundf.
40494         * m4/roundl.m4: Likewise for roundl.
40495         * lib/math.in.h: Undefine roundf, round, roundl before defining
40496         their replacements, to allow for hypothetical systems where these
40497         may be defined as macros but not available in libraries.
40498
40499 2007-10-27  Bruno Haible  <bruno@clisp.org>
40500
40501         * doc/gnulib.texi: Invoke @firstparagraphindent.
40502         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
40503         changes in gnulib.
40504         (Source changes): New section.
40505
40506 2007-10-26  Bruno Haible  <bruno@clisp.org>
40507
40508         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
40509         borrowed from autoconf.
40510
40511 2007-10-26  Bruno Haible  <bruno@clisp.org>
40512
40513         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
40514         strerror returned the empty string. Needed on HP-UX 11.00.
40515
40516 2007-10-24  Micah Cowan  <micah@cowan.name>
40517
40518         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
40519         * build-aux/bootstrap: Remove support for now-unnecessary option,
40520         --cvs-user, and envvars CVS_USER, CVS_RSH.
40521
40522 2007-10-24  Jim Meyering  <meyering@redhat.com>
40523
40524         Avoid diagnostics from sha1sum when there is no cached checksum.
40525         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
40526         if the po.s1 file hasn't been created yet.
40527
40528         * build-aux/bootstrap: Sync from coreutils:
40529         2007-10-24  Jim Meyering  <meyering@redhat.com>
40530         Get gnulib from the git repository, not from an obsolete cvs one.
40531         * build-aux/bootstrap: Suggestion from Micah Cowan.
40532         2007-10-04  Jim Meyering  <jim@meyering.net>
40533         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
40534         (update_po_files): Work also when there are no .po files in po/.
40535
40536 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
40537
40538         * README: Append ".git" to git and cg examples.
40539         Problem reported by Benoit Sigoure.
40540
40541 2007-10-23  Micah Cowan  <micah@cowan.name>
40542
40543         * users.txt: Add wget.
40544
40545 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40546
40547         Fix linking of some unistdio tests on FreeBSD.
40548         * modules/unistdio/u16-vsnprintf-tests
40549         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
40550         * modules/unistdio/u16-vsprintf-tests
40551         (test_u16_vsnprintf1_LDADD): Likewise.
40552         * modules/unistdio/u32-vsnprintf-tests
40553         (test_u32_vsnprintf1_LDADD): Likewise.
40554         * modules/unistdio/u32-vsprintf-tests
40555         (test_u32_vsprintf1_LDADD): Likewise.
40556         * modules/unistdio/u8-vsnprintf-tests
40557         (test_u8_vsnprintf1_LDADD): Likewise.
40558         * modules/unistdio/u8-vsprintf-tests
40559         (test_u8_vsprintf1_LDADD): Likewise.
40560         * modules/unistdio/ulc-vsnprintf-tests
40561         (test_ulc_vsnprintf1_LDADD): Likewise.
40562         * modules/unistdio/ulc-vsprintf-tests
40563         (test_ulc_vsprintf1_LDADD): Likewise.
40564
40565         Fix linking of some uniconv tests on FreeBSD.
40566         * modules/uniconv/u16-conv-from-enc-tests
40567         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
40568         * modules/uniconv/u16-conv-to-enc-tests
40569         (test_u16_conv_to_enc_LDADD): Likewise.
40570         * modules/uniconv/u16-strconv-from-enc-tests
40571         (test_u16_strconv_from_enc_LDADD): Likewise.
40572         * modules/uniconv/u16-strconv-to-enc-tests
40573         (test_u16_strconv_to_enc_LDADD): Likewise.
40574         * modules/uniconv/u32-conv-from-enc-tests
40575         (test_u32_conv_from_enc_LDADD): Likewise.
40576         * modules/uniconv/u32-conv-to-enc-tests
40577         (test_u32_conv_to_enc_LDADD): Likewise.
40578         * modules/uniconv/u32-strconv-from-enc-tests
40579         (test_u32_strconv_from_enc_LDADD): Likewise.
40580         * modules/uniconv/u32-strconv-to-enc-tests
40581         (test_u32_strconv_to_enc_LDADD): Likewise.
40582         * modules/uniconv/u8-conv-from-enc-tests
40583         (test_u8_conv_from_enc_LDADD): Likewise.
40584         * modules/uniconv/u8-conv-to-enc-tests
40585         (test_u8_conv_to_enc_LDADD): Likewise.
40586         * modules/uniconv/u8-strconv-from-enc-tests
40587         (test_u8_strconv_from_enc_LDADD): Likewise.
40588         * modules/uniconv/u8-strconv-to-enc-tests
40589         (test_u8_strconv_to_enc_LDADD): Likewise.
40590
40591 2007-10-22  Bruno Haible  <bruno@clisp.org>
40592
40593         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
40594         size.
40595
40596 2007-10-22  Eric Blake  <ebb9@byu.net>
40597
40598         Tweak x*printf documentation.
40599         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
40600         variable name and comments.
40601         Suggested by Bruno Haible.
40602
40603 2007-10-22  Bruno Haible  <bruno@clisp.org>
40604
40605         * lib/acl.c (copy_acl): Fix file name in comment.
40606
40607 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
40608
40609         Fix Tru64 problem with stdbool.h.
40610         * lib/stdbool.in.h (false, true):
40611         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
40612         Don't declare as an enum in this situation; it runs afoul of Tru64.
40613         Problem reported by Steven M. Schweda in
40614         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
40615
40616 2007-10-22  Eric Blake  <ebb9@byu.net>
40617
40618         Also wrap vf?printf.
40619         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
40620         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
40621         (xvprintf, xvfprintf): New functions.
40622
40623 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40624
40625         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
40626         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
40627
40628         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
40629         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
40630
40631 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
40632
40633         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
40634         by Bruno Haible.
40635
40636 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40637
40638         * lib/getloadavg.c
40639         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
40640         Undef `sys' after including sys/table.h, for Tru64 4.0D.
40641
40642         * tests/test-i-ring.c: Work for C89.
40643
40644 2007-10-22  Bruno Haible  <bruno@clisp.org>
40645
40646         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
40647         -1u, in preprocessor expression, so that we don't test for the bug
40648         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
40649         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
40650
40651 2007-10-22  Eric Blake  <ebb9@byu.net>
40652
40653         * tests/test-yesno.sh: Silence stderr during test.
40654
40655 2007-10-22  Simon Josefsson  <simon@josefsson.org>
40656
40657         * modules/crypto/gc-camellia: New file.
40658
40659         * m4/gc-camellia.m4: New file.
40660
40661         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
40662
40663         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
40664
40665 2007-10-22  Simon Josefsson  <simon@josefsson.org>
40666
40667         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
40668         --help to stdout.  Reported by sms@antinode.org (Steven
40669         M. Schweda).
40670
40671 2007-10-22  Simon Josefsson  <simon@josefsson.org>
40672
40673         * users.txt: Fix link to libksba.
40674
40675 2007-10-21  Ben Pfaff  <blp@gnu.org>
40676
40677         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
40678         round.c roundf implementation that depends on floorf and ceilf to
40679         be tested unconditionally.
40680
40681 2007-10-21  Ben Pfaff  <blp@gnu.org>
40682
40683         * m4/check-libm-func.m4: Removed.
40684         * m4/check-math-lib.m4: New file.
40685         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
40686         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
40687         definition and lack of AC_LIBOBJ([roundf]).
40688         * m4/roundl.m4: Ditto, and similarly for roundl.
40689         * modules/round: Reference new m4 file.
40690         * modules/roundf: Ditto.
40691         * modules/roundl: Ditto.
40692         * tests/test-round2.c (main): Use ROUND instead of round.
40693         Bug report from Bruno Haible.
40694
40695 2007-10-21  Bruno Haible  <bruno@clisp.org>
40696
40697         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
40698         context.
40699
40700 2007-10-21  Bruno Haible  <bruno@clisp.org>
40701
40702         * tests/test-wcwidth.c (main): Allow negative result for some control
40703         characters.
40704
40705         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
40706         Needed on OSF/1 5.1.
40707
40708 2007-10-21  Bruno Haible  <bruno@clisp.org>
40709
40710         * tests/test-floorf1.c: Include isnanf.h.
40711         (main): Use isnanf() instead of isnan().
40712         * tests/test-ceilf1.c: Include isnanf.h.
40713         (main): Use isnanf() instead of isnan().
40714         * tests/test-truncf1.c: Include isnanf.h.
40715         (main): Use isnanf() instead of isnan().
40716         * tests/test-roundf1.c: Include isnanf.h.
40717         (main): Use isnanf() instead of isnan().
40718
40719 2007-10-21  Eric Blake  <ebb9@byu.net>
40720
40721         * users.txt: Update URL for m4.
40722
40723 2007-10-21  Bruno Haible  <bruno@clisp.org>
40724
40725         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
40726
40727 2007-10-21  Bruno Haible  <bruno@clisp.org>
40728
40729         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
40730         Git's management files if the CVS files are not present.
40731
40732 2007-10-20  Bruno Haible  <bruno@clisp.org>
40733
40734         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
40735         gcc-3.4.x.
40736
40737 2007-10-20  Ben Pfaff  <blp@gnu.org>
40738
40739         * lib/math.in.h: Declare round, roundf, roundl if we are providing
40740         implementations.
40741         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
40742         * lib/round.c: New file.
40743         * lib/roundf.c: New file.
40744         * lib/roundl.c: New file.
40745         * m4/round.m4: New file.
40746         * m4/roundf.m4: New file.
40747         * m4/roundl.m4: New file.
40748         * m4/check-libm-func-m4: New file.
40749         * modules/math: Replace round, roundf, roundl related @VARS@ in
40750         math.in.h.
40751         * modules/round: New file.
40752         * modules/round-tests: New file.
40753         * modules/roundf: New file.
40754         * modules/roundf-tests: New file.
40755         * modules/roundl: New file.
40756         * modules/roundl-tests: New file.
40757         * tests/test-round1.c: New file.
40758         * tests/test-round2.c: New file.
40759         * tests/test-roundf1.c: New file.
40760         * tests/test-roundf2.c: New file.
40761         * tests/test-roundl.c: New file.
40762         * doc/functions/round.texi: Mention round module.
40763         * doc/functions/roundf.texi: Mention roundf module.
40764         * doc/functions/roundl.texi: Mention roundl module.
40765         * MODULES.html.sh: Mention new modules.
40766         Thanks to Bruno Haible for suggestions.
40767
40768 2007-10-20  Jim Meyering  <meyering@redhat.com>
40769
40770         * lib/xprintf.c: Include <config.h> unconditionally.
40771
40772         Change xprintf's license to GPL.
40773         * modules/xprintf (License): s/LGPL/GPL/, since this module
40774         depends on modules (exit and exitfail) which are GPL.
40775         Suggestion from Bruno Haible.
40776
40777         xprintf fixes.
40778         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
40779         Use a clearer diagnostic.
40780         Patch from Bruno Haible.
40781
40782 2007-10-20  Bruno Haible  <bruno@clisp.org>
40783
40784         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
40785         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
40786         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40787
40788 2007-10-20  Bruno Haible  <bruno@clisp.org>
40789
40790         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
40791         precision in the comparison result > x - 1 or similar.
40792         * tests/test-ceilf2.c (correct_result_p): Likewise.
40793         * tests/test-truncf2.c (correct_result_p): Likewise.
40794         * tests/test-trunc2.c (correct_result_p): Likewise.
40795         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40796
40797 2007-10-20  Bruno Haible  <bruno@clisp.org>
40798
40799         * modules/ceil: New file.
40800         * m4/ceil.m4: New file.
40801         * doc/functions/ceil.texi: Mention the 'ceil' module.
40802
40803 2007-10-20  Bruno Haible  <bruno@clisp.org>
40804
40805         * modules/floor: New file.
40806         * m4/floor.m4: New file.
40807         * doc/functions/floor.texi: Mention the 'floor' module.
40808
40809 2007-10-20  Bruno Haible  <bruno@clisp.org>
40810
40811         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
40812         of %a.
40813         * modules/floorf-tests (Depends-on): Likewise.
40814         * modules/truncf-tests (Depends-on): Likewise.
40815         * modules/trunc-tests (Depends-on): Likewise.
40816         Reported by Ben Pfaff.
40817
40818 2007-10-19  Jim Meyering  <meyering@redhat.com>
40819
40820         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
40821         Don't bother testing specific errno values.  Just test ferror.
40822
40823         New module: xprintf
40824         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
40825
40826 2007-10-19  Bruno Haible  <bruno@clisp.org>
40827
40828         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
40829         syntax.
40830         * modules/javaexec (Makefile.am): Likewise.
40831         * modules/relocatable-prog (Makefile.am): Likewise.
40832         Suggested by Jim Meyering.
40833
40834 2007-10-18  Bruno Haible  <bruno@clisp.org>
40835
40836         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
40837         Reported by Jim Meyering.
40838
40839 2007-10-18  Eric Blake  <ebb9@byu.net>
40840
40841         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
40842
40843 2007-10-18  Bruno Haible  <bruno@clisp.org>
40844
40845         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
40846         the format string into writable memory. Needed in Fortify conditions.
40847
40848 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
40849             Bruno Haible  <bruno@clisp.org>
40850
40851         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
40852         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
40853         * modules/trim (Depends-on): Add mbchar.
40854         (configure.ac): Add gl_FUNC_MBRTOWC.
40855         (Makefile.am): Augment lib_SOURCES.
40856
40857 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
40858
40859         Modify glob.c to use fstatat and dirfd, to simplify it.
40860         Suggested by Eric Blake.
40861         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
40862         Don't include <stdbool.h>; not used.
40863         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
40864         (link_exists_p): Simplify implementation, since we can now assume
40865         dirfd and fstatat.
40866         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
40867
40868 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40869
40870         * gnulib-tool (func_get_dependencies): Fix sed script to
40871         match only tests.
40872
40873 2007-10-17  Bruno Haible  <bruno@clisp.org>
40874
40875         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
40876         allow locale names without encoding suffix.
40877         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
40878         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
40879
40880 2007-10-16  Bruno Haible  <bruno@clisp.org>
40881
40882         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
40883         * lib/getgroups.c (getgroups): Likewise.
40884         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
40885
40886 2007-10-16  Bruno Haible  <bruno@clisp.org>
40887
40888         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
40889         * modules/malloc-posix (License): Likewise.
40890         * modules/realloc-posix (License): Likewise.
40891         * modules/calloc-posix (License): Likewise.
40892         * modules/intprops (License): Change from GPL to LGPL, with
40893         Paul Eggert's approval.
40894
40895 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40896
40897         Merge glibc changes into lib/glob.c.
40898
40899         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
40900         2007-10-15 04:59:03 UTC.  Here are the changes:
40901
40902         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
40903
40904         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
40905
40906         * lib/glob.c: Add some branch prediction throughout.
40907
40908         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
40909
40910         [BZ #5103]
40911         * lib/glob.c (glob): Recognize patterns starting \/.
40912
40913         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
40914
40915         [BZ #3996]
40916         * lib/glob.c (attribute_hidden): Define if not defined.
40917         (glob): Unescape dirname, filename or username when needed and not
40918         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
40919         is NULL.  Handle unescaped [ in pattern without closing ].
40920         Don't pass GLOB_CHECK down to recursive glob for directories.
40921         (__glob_pattern_type): New function.
40922         (__glob_pattern_p): Implement using __glob_pattern_type.
40923         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
40924         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
40925         Remove unreachable code.
40926
40927         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
40928
40929         * lib/glob.c (glob_in_dir): Add some comments and asserts to
40930         explain why there are no leaks.
40931
40932         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
40933
40934         [BZ #3253]
40935         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
40936         time, rather allocate increasingly bigger arrays of pointers, if
40937         possible with alloca, if too large with malloc.
40938
40939 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40940
40941         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
40942         Problem reported by H.Merijn Brand in
40943         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
40944         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
40945         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
40946
40947 2007-10-15  Bruno Haible  <bruno@clisp.org>
40948
40949         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
40950         with explicit rpl_ prefix.
40951         * lib/fopen.c (fopen): Likewise.
40952         * lib/freopen.c (freopen): Likewise.
40953         * lib/iconv.c (iconv): Likewise.
40954         * lib/iconv_close.c (iconv_close): Likewise.
40955
40956 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40957
40958         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
40959
40960 2007-10-15  Bruno Haible  <bruno@clisp.org>
40961
40962         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
40963         <stddef.h> instead of <stdlib.h> since we only need NULL.
40964         Reported by Ben Pfaff <blp@cs.stanford.edu>.
40965
40966 2007-10-15  Bruno Haible  <bruno@clisp.org>
40967
40968         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
40969         Replace paragraph talking about LIBOBJS.
40970         Reported by Colin Watson <cjwatson@debian.org>.
40971
40972 2007-10-15  Bruno Haible  <bruno@clisp.org>
40973
40974         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
40975         <stdlib.h> before using NULL.
40976
40977 2007-10-15  Simon Josefsson  <simon@josefsson.org>
40978
40979         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
40980         Reported by Albert Chin <china@thewrittenword.com>.
40981
40982 2007-10-14  Bruno Haible  <bruno@clisp.org>
40983
40984         * modules/iconv_open-utf-tests: New file.
40985         * tests/test-iconv-utf.c: New file.
40986
40987         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
40988         * modules/iconv_open-utf: New file.
40989         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
40990         (iconv, iconv_close): New declarations.
40991         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
40992         be defined.
40993         (iconv_open): Add special handling of conversion between UTF-8 and
40994         UTF-{16,32}{BE,LE}.
40995         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
40996         * lib/iconv_close.c: New file.
40997         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
40998         gl_FUNC_ICONV_OPEN.
40999         (gl_FUNC_ICONV_OPEN): Use it.
41000         (gl_FUNC_ICONV_OPEN_UTF): New macro.
41001         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
41002         and REPLACE_ICONV_UTF.
41003         * modules/iconv_open (Depends-on): Add c-strcase.
41004         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
41005         ICONV_CONST.
41006         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
41007
41008 2007-10-13  Albert Chin  <china@thewrittenword.com>
41009             Bruno Haible  <bruno@clisp.org>
41010
41011         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
41012         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
41013
41014 2007-10-13  Bruno Haible  <bruno@clisp.org>
41015
41016         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
41017         defined, use the ISO C99 inline semantics.
41018         * lib/argp.h (ARGP_EI): Likewise.
41019
41020 2007-10-13  Bruno Haible  <bruno@clisp.org>
41021
41022         Handle 'inline' change in gcc 4.3.0.
41023         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
41024         argp_fmtstream_write, argp_fmtstream_set_lmargin,
41025         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
41026         argp_fmtstream_point): Disable 'extern' declaration if the function
41027         definition is going to be provided inline.
41028         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
41029         semantics, not the ISO C99 inline semantics.
41030         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
41031         'extern' declaration if the function definition is going to be provided
41032         inline.
41033         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
41034         the GNU C inline semantics, not the ISO C99 inline semantics. With
41035         GCC 4.2, avoid a warning.
41036
41037 2007-10-13  Bruno Haible  <bruno@clisp.org>
41038
41039         * lib/freading.h (freading): Enable the use of __freading for
41040         glibc >= 2.7.
41041         * lib/freading.c (freading): Likewise.
41042
41043 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
41044
41045         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
41046         "warning: C99 inline functions are not supported; using GNU89".
41047
41048 2007-10-12  Bruno Haible  <bruno@clisp.org>
41049
41050         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
41051         of 2.
41052         * tests/test-ceilf2.c: New file.
41053         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
41054
41055         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
41056         * modules/ceilf-tests: Update.
41057
41058 2007-10-12  Bruno Haible  <bruno@clisp.org>
41059
41060         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
41061         of 2.
41062         * tests/test-floorf2.c: New file.
41063         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
41064
41065         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
41066         * modules/floorf-tests: Update.
41067
41068 2007-10-12  Bruno Haible  <bruno@clisp.org>
41069
41070         * tests/test-trunc2.c: New file.
41071         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
41072
41073         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
41074         * modules/trunc-tests: Update.
41075
41076 2007-10-12  Bruno Haible  <bruno@clisp.org>
41077
41078         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
41079         of 2.
41080         * tests/test-truncf2.c: New file.
41081         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
41082
41083         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
41084         * modules/truncf-tests: Update.
41085
41086 2007-10-11  Eric Blake  <ebb9@byu.net>
41087
41088         Don't claim strerror is broken on Interix.
41089         * doc/functions/strerror.texi (strerror): Known broken systems are
41090         now Solaris 8, and not Interix.
41091         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
41092         Interix on cross-compile.
41093         Reported by Martin Koeppe in
41094         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
41095
41096 2007-10-11  Bruno Haible  <bruno@clisp.org>
41097
41098         * modules/i-ring-tests: New file.
41099         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
41100         instead of assert.
41101
41102 2007-10-11  Bruno Haible  <bruno@clisp.org>
41103
41104         * modules/filenamecat-tests: New file.
41105         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
41106         * lib/filenamecat.c: Remove test code.
41107
41108 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
41109
41110         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
41111
41112         * lib/strerror.c: Include <string.h> always, to test interface,
41113         and to remove the need for the dummy.
41114         Include intprops.h to compute width instead of doing it ourselves
41115         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
41116         (strerror): Define it to return NULL if there's no system strerror.
41117         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
41118         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
41119         ancient pre-strerror Unix systems well any more.  Saying "unknown
41120         system error" is enough.
41121         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
41122         simpler strerror.c implementation.
41123         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
41124         Simplify the tests to reflect the simpler strerror implementation.
41125         * modules/strerror (Depends-on): Add intprops.
41126
41127 2007-10-09  Eric Blake  <ebb9@byu.net>
41128
41129         Silence test-fpending.
41130         * modules/fpending-tests (Files): Add wrapper script.
41131         * tests/test-fpending.sh: New file.
41132
41133 2007-10-09  Bruno Haible  <bruno@clisp.org>
41134
41135         * MODULES.html.sh (func_module): Don't create a hyperlink for
41136         function names like 'printf_frexp'.
41137         (Misc): Add crc, memxor.
41138         (Characteristics of floating types): New section.
41139         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
41140         isnanf-nolibm, signbit, trunc, truncf, truncl.
41141         (Enhancements for ISO C 99 functions): New subsection Input/output.
41142         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
41143         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
41144         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
41145         (Compatibility checks for POSIX:2001 functions): Add clock-time.
41146         (Enhancements for POSIX:2001 functions): Add chdir-long.
41147         (File system functions): Add areadlink, chdir-safer, read-file.
41148         Remove cycle-check.
41149         (File system as inode set): New section.
41150         (Date and time): Add gethrxtime.
41151         (Multithreading): Add openmp.
41152         (Internationalization functions): Add localename.
41153         (Unicode string functions): Add unistr/u*-mbsnlen.
41154         (Support for maintaining and releasing projects): Add git-version-gen.
41155         (Lone files): Remove directories.
41156
41157 2007-10-08  Ben Pfaff  <blp@gnu.org>
41158
41159         * lib/xmalloca.h: Fix typo in comment.
41160
41161 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
41162
41163         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
41164         when avoiding problems with integer overflow.  Use a portable test
41165         instead.
41166
41167 2007-10-08  Simon Josefsson  <simon@josefsson.org>
41168
41169         * modules/dummy (License): Change to LGPLv2+.
41170         * modules/float (License): Likewise
41171         * modules/realloc (License): Likewise
41172         * modules/stdlib (License): Likewise
41173
41174 2007-10-07  Bruno Haible  <bruno@clisp.org>
41175
41176         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
41177         * floor.c (TWO_MANT_DIG): Likewise.
41178         * ceil.c (TWO_MANT_DIG): Likewise.
41179         Reported by Ben Pfaff.
41180
41181 2007-10-07  Bruno Haible  <bruno@clisp.org>
41182
41183         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
41184         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
41185         * lib/frexp.c (FUNC): Likewise.
41186         * lib/printf-frexp.h (printf_frexp): Likewise.
41187         * lib/printf-frexpl.h (printf_frexpl): Likewise.
41188         * lib/printf-frexp.c (FUNC): Likewise.
41189         Suggested by Jim Meyering.
41190
41191 2007-10-07  Jim Meyering  <meyering@redhat.com>
41192
41193         Make xnanosleep's integer overflow test more robust.
41194         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
41195         so that gcc-4.3.0 doesn't optimize away this test for overflow.
41196
41197 2007-10-07  Bruno Haible  <bruno@clisp.org>
41198
41199         * NEWS: Mention the license change.
41200
41201         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
41202         abbreviations in the modules files.
41203
41204         Change copyright notice from GPLv2+ to GPLv3+.
41205         * README: Change copyright notice.
41206         * MODULES.html.sh: Likewise.
41207         * build-aux/bootstrap.conf: Likewise.
41208         * build-aux/config.libpath: Likewise.
41209         * build-aux/csharpcomp.sh.in: Likewise.
41210         * build-aux/csharpexec.sh.in: Likewise.
41211         * build-aux/install-reloc: Likewise.
41212         * build-aux/javacomp.sh.in: Likewise.
41213         * build-aux/javaexec.sh.in: Likewise.
41214         * build-aux/ldd.sh.in: Likewise.
41215         * build-aux/reloc-ldflags: Likewise.
41216         * build-aux/relocatable.sh.in: Likewise.
41217         * build-aux/x-to-1.in: Likewise.
41218         * check-module: Likewise.
41219         * config/srclistvars.sh: Likewise.
41220         * gnulib-tool: Likewise.
41221         * lib/acl-internal.h: Likewise.
41222         * lib/acl.c: Likewise.
41223         * lib/acl.h: Likewise.
41224         * lib/acl_entries.c: Likewise.
41225         * lib/areadlink-with-size.c: Likewise.
41226         * lib/areadlink.c: Likewise.
41227         * lib/areadlink.h: Likewise.
41228         * lib/argmatch.c: Likewise.
41229         * lib/argmatch.h: Likewise.
41230         * lib/argp-ba.c: Likewise.
41231         * lib/argp-eexst.c: Likewise.
41232         * lib/argp-fmtstream.c: Likewise.
41233         * lib/argp-fmtstream.h: Likewise.
41234         * lib/argp-fs-xinl.c: Likewise.
41235         * lib/argp-help.c: Likewise.
41236         * lib/argp-namefrob.h: Likewise.
41237         * lib/argp-parse.c: Likewise.
41238         * lib/argp-pin.c: Likewise.
41239         * lib/argp-pv.c: Likewise.
41240         * lib/argp-pvh.c: Likewise.
41241         * lib/argp-xinl.c: Likewise.
41242         * lib/argp.h: Likewise.
41243         * lib/at-func.c: Likewise.
41244         * lib/atanl.c: Likewise.
41245         * lib/backupfile.c: Likewise.
41246         * lib/backupfile.h: Likewise.
41247         * lib/basename.c: Likewise.
41248         * lib/binary-io.h: Likewise.
41249         * lib/byteswap.in.h: Likewise.
41250         * lib/c-stack.c: Likewise.
41251         * lib/c-stack.h: Likewise.
41252         * lib/c-strcasestr.c: Likewise.
41253         * lib/c-strcasestr.h: Likewise.
41254         * lib/c-strstr.c: Likewise.
41255         * lib/c-strstr.h: Likewise.
41256         * lib/c-strtod.c: Likewise.
41257         * lib/calloc.c: Likewise.
41258         * lib/canon-host.c: Likewise.
41259         * lib/canon-host.h: Likewise.
41260         * lib/canonicalize-lgpl.c: Likewise.
41261         * lib/canonicalize.c: Likewise.
41262         * lib/canonicalize.h: Likewise.
41263         * lib/ceil.c: Likewise.
41264         * lib/ceilf.c: Likewise.
41265         * lib/ceill.c: Likewise.
41266         * lib/chdir-long.c: Likewise.
41267         * lib/chdir-long.h: Likewise.
41268         * lib/chdir-safer.c: Likewise.
41269         * lib/chdir-safer.h: Likewise.
41270         * lib/chown.c: Likewise.
41271         * lib/classpath.c: Likewise.
41272         * lib/classpath.h: Likewise.
41273         * lib/clean-temp.c: Likewise.
41274         * lib/clean-temp.h: Likewise.
41275         * lib/cloexec.c: Likewise.
41276         * lib/close-stream.c: Likewise.
41277         * lib/closein.c: Likewise.
41278         * lib/closein.h: Likewise.
41279         * lib/closeout.c: Likewise.
41280         * lib/closeout.h: Likewise.
41281         * lib/concat-filename.c: Likewise.
41282         * lib/copy-file.c: Likewise.
41283         * lib/copy-file.h: Likewise.
41284         * lib/count-one-bits.h: Likewise.
41285         * lib/crc.c: Likewise.
41286         * lib/crc.h: Likewise.
41287         * lib/creat-safer.c: Likewise.
41288         * lib/csharpcomp.c: Likewise.
41289         * lib/csharpcomp.h: Likewise.
41290         * lib/csharpexec.c: Likewise.
41291         * lib/csharpexec.h: Likewise.
41292         * lib/cycle-check.c: Likewise.
41293         * lib/cycle-check.h: Likewise.
41294         * lib/diacrit.c: Likewise.
41295         * lib/diacrit.h: Likewise.
41296         * lib/diffseq.h: Likewise.
41297         * lib/dirchownmod.c: Likewise.
41298         * lib/dirent.in.h: Likewise.
41299         * lib/dirfd.c: Likewise.
41300         * lib/dirfd.h: Likewise.
41301         * lib/dirname.c: Likewise.
41302         * lib/dirname.h: Likewise.
41303         * lib/dummy.c: Likewise.
41304         * lib/dup-safer.c: Likewise.
41305         * lib/dup2.c: Likewise.
41306         * lib/eealloc.h: Likewise.
41307         * lib/error.c: Likewise.
41308         * lib/error.h: Likewise.
41309         * lib/euidaccess.c: Likewise.
41310         * lib/exclude.c: Likewise.
41311         * lib/exclude.h: Likewise.
41312         * lib/execute.c: Likewise.
41313         * lib/execute.h: Likewise.
41314         * lib/exitfail.c: Likewise.
41315         * lib/exitfail.h: Likewise.
41316         * lib/expl.c: Likewise.
41317         * lib/fatal-signal.c: Likewise.
41318         * lib/fatal-signal.h: Likewise.
41319         * lib/fbufmode.c: Likewise.
41320         * lib/fbufmode.h: Likewise.
41321         * lib/fchdir.c: Likewise.
41322         * lib/fchmodat.c: Likewise.
41323         * lib/fchownat.c: Likewise.
41324         * lib/fcntl--.h: Likewise.
41325         * lib/fcntl-safer.h: Likewise.
41326         * lib/fcntl.in.h: Likewise.
41327         * lib/fd-safer.c: Likewise.
41328         * lib/fflush.c: Likewise.
41329         * lib/file-has-acl.c: Likewise.
41330         * lib/file-set.c: Likewise.
41331         * lib/file-type.c: Likewise.
41332         * lib/file-type.h: Likewise.
41333         * lib/fileblocks.c: Likewise.
41334         * lib/filemode.c: Likewise.
41335         * lib/filemode.h: Likewise.
41336         * lib/filename.h: Likewise.
41337         * lib/filenamecat.c: Likewise.
41338         * lib/filenamecat.h: Likewise.
41339         * lib/findprog.c: Likewise.
41340         * lib/findprog.h: Likewise.
41341         * lib/float.in.h: Likewise.
41342         * lib/floor.c: Likewise.
41343         * lib/floorf.c: Likewise.
41344         * lib/floorl.c: Likewise.
41345         * lib/fopen-safer.c: Likewise.
41346         * lib/fopen.c: Likewise.
41347         * lib/fpending.c: Likewise.
41348         * lib/fpending.h: Likewise.
41349         * lib/fprintf.c: Likewise.
41350         * lib/fprintftime.h: Likewise.
41351         * lib/fpucw.h: Likewise.
41352         * lib/fpurge.c: Likewise.
41353         * lib/fpurge.h: Likewise.
41354         * lib/freadable.c: Likewise.
41355         * lib/freadable.h: Likewise.
41356         * lib/freadahead.c: Likewise.
41357         * lib/freadahead.h: Likewise.
41358         * lib/freading.c: Likewise.
41359         * lib/freading.h: Likewise.
41360         * lib/free.c: Likewise.
41361         * lib/freopen.c: Likewise.
41362         * lib/frexp.c: Likewise.
41363         * lib/frexpl.c: Likewise.
41364         * lib/fseek.c: Likewise.
41365         * lib/fseterr.c: Likewise.
41366         * lib/fseterr.h: Likewise.
41367         * lib/fstatat.c: Likewise.
41368         * lib/fstrcmp.c: Likewise.
41369         * lib/fstrcmp.h: Likewise.
41370         * lib/fsusage.c: Likewise.
41371         * lib/fsusage.h: Likewise.
41372         * lib/ftell.c: Likewise.
41373         * lib/ftello.c: Likewise.
41374         * lib/fts-cycle.c: Likewise.
41375         * lib/fts.c: Likewise.
41376         * lib/fts_.h: Likewise.
41377         * lib/full-read.c: Likewise.
41378         * lib/full-read.h: Likewise.
41379         * lib/full-write.c: Likewise.
41380         * lib/full-write.h: Likewise.
41381         * lib/fwritable.c: Likewise.
41382         * lib/fwritable.h: Likewise.
41383         * lib/fwriteerror.c: Likewise.
41384         * lib/fwriteerror.h: Likewise.
41385         * lib/fwriting.c: Likewise.
41386         * lib/fwriting.h: Likewise.
41387         * lib/gcd.c: Likewise.
41388         * lib/gcd.h: Likewise.
41389         * lib/getcwd.c: Likewise.
41390         * lib/getdate.h: Likewise.
41391         * lib/getdate.y: Likewise.
41392         * lib/getdomainname.c: Likewise.
41393         * lib/getdomainname.h: Likewise.
41394         * lib/getgroups.c: Likewise.
41395         * lib/gethostname.c: Likewise.
41396         * lib/gethrxtime.c: Likewise.
41397         * lib/gethrxtime.h: Likewise.
41398         * lib/getloadavg.c: Likewise.
41399         * lib/getndelim2.c: Likewise.
41400         * lib/getndelim2.h: Likewise.
41401         * lib/getnline.c: Likewise.
41402         * lib/getnline.h: Likewise.
41403         * lib/getopt.c: Likewise.
41404         * lib/getopt.in.h: Likewise.
41405         * lib/getopt1.c: Likewise.
41406         * lib/getopt_int.h: Likewise.
41407         * lib/getpagesize.h: Likewise.
41408         * lib/getsubopt.c: Likewise.
41409         * lib/gettime.c: Likewise.
41410         * lib/getugroups.c: Likewise.
41411         * lib/getugroups.h: Likewise.
41412         * lib/getusershell.c: Likewise.
41413         * lib/gl_anyavltree_list1.h: Likewise.
41414         * lib/gl_anyavltree_list2.h: Likewise.
41415         * lib/gl_anyhash_list1.h: Likewise.
41416         * lib/gl_anyhash_list2.h: Likewise.
41417         * lib/gl_anylinked_list1.h: Likewise.
41418         * lib/gl_anylinked_list2.h: Likewise.
41419         * lib/gl_anyrbtree_list1.h: Likewise.
41420         * lib/gl_anyrbtree_list2.h: Likewise.
41421         * lib/gl_anytree_list1.h: Likewise.
41422         * lib/gl_anytree_list2.h: Likewise.
41423         * lib/gl_anytree_oset.h: Likewise.
41424         * lib/gl_anytreehash_list1.h: Likewise.
41425         * lib/gl_anytreehash_list2.h: Likewise.
41426         * lib/gl_array_list.c: Likewise.
41427         * lib/gl_array_list.h: Likewise.
41428         * lib/gl_array_oset.c: Likewise.
41429         * lib/gl_array_oset.h: Likewise.
41430         * lib/gl_avltree_list.c: Likewise.
41431         * lib/gl_avltree_list.h: Likewise.
41432         * lib/gl_avltree_oset.c: Likewise.
41433         * lib/gl_avltree_oset.h: Likewise.
41434         * lib/gl_avltreehash_list.c: Likewise.
41435         * lib/gl_avltreehash_list.h: Likewise.
41436         * lib/gl_carray_list.c: Likewise.
41437         * lib/gl_carray_list.h: Likewise.
41438         * lib/gl_linked_list.c: Likewise.
41439         * lib/gl_linked_list.h: Likewise.
41440         * lib/gl_linkedhash_list.c: Likewise.
41441         * lib/gl_linkedhash_list.h: Likewise.
41442         * lib/gl_list.c: Likewise.
41443         * lib/gl_list.h: Likewise.
41444         * lib/gl_oset.c: Likewise.
41445         * lib/gl_oset.h: Likewise.
41446         * lib/gl_rbtree_list.c: Likewise.
41447         * lib/gl_rbtree_list.h: Likewise.
41448         * lib/gl_rbtree_oset.c: Likewise.
41449         * lib/gl_rbtree_oset.h: Likewise.
41450         * lib/gl_rbtreehash_list.c: Likewise.
41451         * lib/gl_rbtreehash_list.h: Likewise.
41452         * lib/gl_sublist.c: Likewise.
41453         * lib/gl_sublist.h: Likewise.
41454         * lib/group-member.c: Likewise.
41455         * lib/group-member.h: Likewise.
41456         * lib/hard-locale.c: Likewise.
41457         * lib/hard-locale.h: Likewise.
41458         * lib/hash-pjw.c: Likewise.
41459         * lib/hash-pjw.h: Likewise.
41460         * lib/hash-triple.c: Likewise.
41461         * lib/hash.c: Likewise.
41462         * lib/hash.h: Likewise.
41463         * lib/human.c: Likewise.
41464         * lib/human.h: Likewise.
41465         * lib/i-ring.c: Likewise.
41466         * lib/i-ring.h: Likewise.
41467         * lib/idcache.c: Likewise.
41468         * lib/imaxabs.c: Likewise.
41469         * lib/imaxdiv.c: Likewise.
41470         * lib/inet_pton.c: Likewise.
41471         * lib/inet_pton.h: Likewise.
41472         * lib/intprops.h: Likewise.
41473         * lib/inttostr.c: Likewise.
41474         * lib/inttostr.h: Likewise.
41475         * lib/inttypes.in.h: Likewise.
41476         * lib/isapipe.c: Likewise.
41477         * lib/isdir.c: Likewise.
41478         * lib/isnan.c: Likewise.
41479         * lib/isnan.h: Likewise.
41480         * lib/isnanf.c: Likewise.
41481         * lib/isnanf.h: Likewise.
41482         * lib/isnanl-nolibm.h: Likewise.
41483         * lib/isnanl.c: Likewise.
41484         * lib/isnanl.h: Likewise.
41485         * lib/javacomp.c: Likewise.
41486         * lib/javacomp.h: Likewise.
41487         * lib/javaexec.c: Likewise.
41488         * lib/javaexec.h: Likewise.
41489         * lib/javaversion.c: Likewise.
41490         * lib/javaversion.h: Likewise.
41491         * lib/javaversion.java: Likewise.
41492         * lib/lbrkprop.h: Likewise.
41493         * lib/lchmod.h: Likewise.
41494         * lib/lchown.c: Likewise.
41495         * lib/ldexpl.c: Likewise.
41496         * lib/linebreak.c: Likewise.
41497         * lib/linebreak.h: Likewise.
41498         * lib/linebuffer.c: Likewise.
41499         * lib/linebuffer.h: Likewise.
41500         * lib/locale.in.h: Likewise.
41501         * lib/logl.c: Likewise.
41502         * lib/long-options.c: Likewise.
41503         * lib/long-options.h: Likewise.
41504         * lib/lstat.c: Likewise.
41505         * lib/lstat.h: Likewise.
41506         * lib/math.in.h: Likewise.
41507         * lib/mbchar.c: Likewise.
41508         * lib/mbchar.h: Likewise.
41509         * lib/mbfile.h: Likewise.
41510         * lib/mbiter.h: Likewise.
41511         * lib/mbscasecmp.c: Likewise.
41512         * lib/mbscasestr.c: Likewise.
41513         * lib/mbschr.c: Likewise.
41514         * lib/mbscspn.c: Likewise.
41515         * lib/mbslen.c: Likewise.
41516         * lib/mbsncasecmp.c: Likewise.
41517         * lib/mbsnlen.c: Likewise.
41518         * lib/mbspbrk.c: Likewise.
41519         * lib/mbspcasecmp.c: Likewise.
41520         * lib/mbsrchr.c: Likewise.
41521         * lib/mbssep.c: Likewise.
41522         * lib/mbsspn.c: Likewise.
41523         * lib/mbsstr.c: Likewise.
41524         * lib/mbstok_r.c: Likewise.
41525         * lib/mbswidth.c: Likewise.
41526         * lib/mbswidth.h: Likewise.
41527         * lib/mbuiter.h: Likewise.
41528         * lib/memcasecmp.c: Likewise.
41529         * lib/memcasecmp.h: Likewise.
41530         * lib/memchr.c: Likewise.
41531         * lib/memcmp.c: Likewise.
41532         * lib/memcoll.c: Likewise.
41533         * lib/memcoll.h: Likewise.
41534         * lib/memcpy.c: Likewise.
41535         * lib/memrchr.c: Likewise.
41536         * lib/mkancesdirs.c: Likewise.
41537         * lib/mkdir-p.c: Likewise.
41538         * lib/mkdir-p.h: Likewise.
41539         * lib/mkdir.c: Likewise.
41540         * lib/mkdirat.c: Likewise.
41541         * lib/mkdtemp.c: Likewise.
41542         * lib/mkstemp-safer.c: Likewise.
41543         * lib/mkstemp.c: Likewise.
41544         * lib/modechange.c: Likewise.
41545         * lib/modechange.h: Likewise.
41546         * lib/mountlist.c: Likewise.
41547         * lib/mountlist.h: Likewise.
41548         * lib/mpsort.c: Likewise.
41549         * lib/nanosleep.c: Likewise.
41550         * lib/obstack.c: Likewise.
41551         * lib/obstack.h: Likewise.
41552         * lib/open-safer.c: Likewise.
41553         * lib/open.c: Likewise.
41554         * lib/openat-die.c: Likewise.
41555         * lib/openat-priv.h: Likewise.
41556         * lib/openat-proc.c: Likewise.
41557         * lib/openat.c: Likewise.
41558         * lib/openat.h: Likewise.
41559         * lib/pagealign_alloc.c: Likewise.
41560         * lib/pagealign_alloc.h: Likewise.
41561         * lib/physmem.c: Likewise.
41562         * lib/physmem.h: Likewise.
41563         * lib/pipe-safer.c: Likewise.
41564         * lib/pipe.c: Likewise.
41565         * lib/pipe.h: Likewise.
41566         * lib/posixtm.c: Likewise.
41567         * lib/posixtm.h: Likewise.
41568         * lib/posixver.c: Likewise.
41569         * lib/printf-frexp.c: Likewise.
41570         * lib/printf-frexp.h: Likewise.
41571         * lib/printf-frexpl.c: Likewise.
41572         * lib/printf-frexpl.h: Likewise.
41573         * lib/printf.c: Likewise.
41574         * lib/progname.c: Likewise.
41575         * lib/progname.h: Likewise.
41576         * lib/progreloc.c: Likewise.
41577         * lib/putenv.c: Likewise.
41578         * lib/quote.c: Likewise.
41579         * lib/quote.h: Likewise.
41580         * lib/quotearg.c: Likewise.
41581         * lib/quotearg.h: Likewise.
41582         * lib/raise.c: Likewise.
41583         * lib/readline.c: Likewise.
41584         * lib/readline.h: Likewise.
41585         * lib/readlink.c: Likewise.
41586         * lib/readtokens.c: Likewise.
41587         * lib/readtokens.h: Likewise.
41588         * lib/readtokens0.c: Likewise.
41589         * lib/readtokens0.h: Likewise.
41590         * lib/readutmp.c: Likewise.
41591         * lib/readutmp.h: Likewise.
41592         * lib/realloc.c: Likewise.
41593         * lib/relocwrapper.c: Likewise.
41594         * lib/rename-dest-slash.c: Likewise.
41595         * lib/rename.c: Likewise.
41596         * lib/rmdir.c: Likewise.
41597         * lib/rpmatch.c: Likewise.
41598         * lib/safe-read.c: Likewise.
41599         * lib/safe-read.h: Likewise.
41600         * lib/safe-write.c: Likewise.
41601         * lib/safe-write.h: Likewise.
41602         * lib/same-inode.h: Likewise.
41603         * lib/same.c: Likewise.
41604         * lib/same.h: Likewise.
41605         * lib/save-cwd.c: Likewise.
41606         * lib/save-cwd.h: Likewise.
41607         * lib/savedir.c: Likewise.
41608         * lib/savedir.h: Likewise.
41609         * lib/savewd.c: Likewise.
41610         * lib/savewd.h: Likewise.
41611         * lib/search.in.h: Likewise.
41612         * lib/setenv.c: Likewise.
41613         * lib/setenv.h: Likewise.
41614         * lib/settime.c: Likewise.
41615         * lib/sh-quote.c: Likewise.
41616         * lib/sh-quote.h: Likewise.
41617         * lib/sig2str.c: Likewise.
41618         * lib/sig2str.h: Likewise.
41619         * lib/signal.in.h: Likewise.
41620         * lib/signbitd.c: Likewise.
41621         * lib/signbitf.c: Likewise.
41622         * lib/signbitl.c: Likewise.
41623         * lib/sigprocmask.c: Likewise.
41624         * lib/sincosl.c: Likewise.
41625         * lib/sleep.c: Likewise.
41626         * lib/sprintf.c: Likewise.
41627         * lib/sqrtl.c: Likewise.
41628         * lib/stat-time.h: Likewise.
41629         * lib/stdio--.h: Likewise.
41630         * lib/stdio-safer.h: Likewise.
41631         * lib/stdlib--.h: Likewise.
41632         * lib/stdlib-safer.h: Likewise.
41633         * lib/stdlib.in.h: Likewise.
41634         * lib/stpcpy.c: Likewise.
41635         * lib/stpncpy.c: Likewise.
41636         * lib/strchrnul.c: Likewise.
41637         * lib/strcspn.c: Likewise.
41638         * lib/strerror.c: Likewise.
41639         * lib/strftime.c: Likewise.
41640         * lib/strftime.h: Likewise.
41641         * lib/striconveh.c: Likewise.
41642         * lib/striconveh.h: Likewise.
41643         * lib/striconveha.c: Likewise.
41644         * lib/striconveha.h: Likewise.
41645         * lib/stripslash.c: Likewise.
41646         * lib/strnlen1.c: Likewise.
41647         * lib/strnlen1.h: Likewise.
41648         * lib/strtod.c: Likewise.
41649         * lib/strtoimax.c: Likewise.
41650         * lib/strtok_r.c: Likewise.
41651         * lib/strtol.c: Likewise.
41652         * lib/strtoll.c: Likewise.
41653         * lib/strtoul.c: Likewise.
41654         * lib/strtoull.c: Likewise.
41655         * lib/sysexits.in.h: Likewise.
41656         * lib/tempname.c: Likewise.
41657         * lib/tempname.h: Likewise.
41658         * lib/timespec.h: Likewise.
41659         * lib/tls.c: Likewise.
41660         * lib/tls.h: Likewise.
41661         * lib/tmpdir.c: Likewise.
41662         * lib/tmpdir.h: Likewise.
41663         * lib/tmpfile-safer.c: Likewise.
41664         * lib/tmpfile.c: Likewise.
41665         * lib/trigl.c: Likewise.
41666         * lib/trigl.h: Likewise.
41667         * lib/trim.c: Likewise.
41668         * lib/trim.h: Likewise.
41669         * lib/trunc.c: Likewise.
41670         * lib/truncf.c: Likewise.
41671         * lib/truncl.c: Likewise.
41672         * lib/tsearch.c: Likewise.
41673         * lib/unicodeio.c: Likewise.
41674         * lib/unicodeio.h: Likewise.
41675         * lib/unistd--.h: Likewise.
41676         * lib/unistd-safer.h: Likewise.
41677         * lib/unistdio/ulc-fprintf.c: Likewise.
41678         * lib/unistdio/ulc-vfprintf.c: Likewise.
41679         * lib/unlinkdir.c: Likewise.
41680         * lib/unlinkdir.h: Likewise.
41681         * lib/unlocked-io.h: Likewise.
41682         * lib/unsetenv.c: Likewise.
41683         * lib/userspec.c: Likewise.
41684         * lib/utime.c: Likewise.
41685         * lib/utimecmp.c: Likewise.
41686         * lib/utimecmp.h: Likewise.
41687         * lib/utimens.c: Likewise.
41688         * lib/verify.h: Likewise.
41689         * lib/verror.c: Likewise.
41690         * lib/verror.h: Likewise.
41691         * lib/version-etc-fsf.c: Likewise.
41692         * lib/version-etc.c: Likewise.
41693         * lib/version-etc.h: Likewise.
41694         * lib/vfprintf.c: Likewise.
41695         * lib/vprintf.c: Likewise.
41696         * lib/vsprintf.c: Likewise.
41697         * lib/w32spawn.h: Likewise.
41698         * lib/wait-process.c: Likewise.
41699         * lib/wait-process.h: Likewise.
41700         * lib/wcwidth.c: Likewise.
41701         * lib/write-any-file.c: Likewise.
41702         * lib/xalloc-die.c: Likewise.
41703         * lib/xalloc.h: Likewise.
41704         * lib/xasprintf.c: Likewise.
41705         * lib/xgetcwd.c: Likewise.
41706         * lib/xgetcwd.h: Likewise.
41707         * lib/xgetdomainname.c: Likewise.
41708         * lib/xgetdomainname.h: Likewise.
41709         * lib/xgethostname.c: Likewise.
41710         * lib/xmalloc.c: Likewise.
41711         * lib/xmalloca.c: Likewise.
41712         * lib/xmalloca.h: Likewise.
41713         * lib/xmemcoll.c: Likewise.
41714         * lib/xnanosleep.c: Likewise.
41715         * lib/xreadlink.c: Likewise.
41716         * lib/xreadlink.h: Likewise.
41717         * lib/xsetenv.c: Likewise.
41718         * lib/xsetenv.h: Likewise.
41719         * lib/xstriconv.c: Likewise.
41720         * lib/xstriconv.h: Likewise.
41721         * lib/xstrndup.c: Likewise.
41722         * lib/xstrndup.h: Likewise.
41723         * lib/xstrtod.c: Likewise.
41724         * lib/xstrtod.h: Likewise.
41725         * lib/xstrtol-error.c: Likewise.
41726         * lib/xstrtol.c: Likewise.
41727         * lib/xstrtol.h: Likewise.
41728         * lib/xtime.h: Likewise.
41729         * lib/xvasprintf.c: Likewise.
41730         * lib/xvasprintf.h: Likewise.
41731         * lib/yesno.c: Likewise.
41732         * lib/yesno.h: Likewise.
41733         * posix-modules: Likewise.
41734         * tests/test-alloca-opt.c: Likewise.
41735         * tests/test-arcfour.c: Likewise.
41736         * tests/test-arctwo.c: Likewise.
41737         * tests/test-argmatch.c: Likewise.
41738         * tests/test-argp-2.sh: Likewise.
41739         * tests/test-argp.c: Likewise.
41740         * tests/test-arpa_inet.c: Likewise.
41741         * tests/test-array_list.c: Likewise.
41742         * tests/test-array_oset.c: Likewise.
41743         * tests/test-atexit.c: Likewise.
41744         * tests/test-avltree_list.c: Likewise.
41745         * tests/test-avltree_oset.c: Likewise.
41746         * tests/test-avltreehash_list.c: Likewise.
41747         * tests/test-base64.c: Likewise.
41748         * tests/test-binary-io.c: Likewise.
41749         * tests/test-byteswap.c: Likewise.
41750         * tests/test-c-ctype.c: Likewise.
41751         * tests/test-c-strcasecmp.c: Likewise.
41752         * tests/test-c-strcasestr.c: Likewise.
41753         * tests/test-c-strncasecmp.c: Likewise.
41754         * tests/test-c-strstr.c: Likewise.
41755         * tests/test-canonicalize-lgpl.c: Likewise.
41756         * tests/test-canonicalize.c: Likewise.
41757         * tests/test-carray_list.c: Likewise.
41758         * tests/test-ceilf.c: Likewise.
41759         * tests/test-ceill.c: Likewise.
41760         * tests/test-count-one-bits.c: Likewise.
41761         * tests/test-crc.c: Likewise.
41762         * tests/test-dirname.c: Likewise.
41763         * tests/test-fbufmode.c: Likewise.
41764         * tests/test-fcntl.c: Likewise.
41765         * tests/test-fflush.c: Likewise.
41766         * tests/test-floorf.c: Likewise.
41767         * tests/test-floorl.c: Likewise.
41768         * tests/test-fopen.c: Likewise.
41769         * tests/test-fprintf-posix.c: Likewise.
41770         * tests/test-fprintf-posix.h: Likewise.
41771         * tests/test-fpurge.c: Likewise.
41772         * tests/test-freadable.c: Likewise.
41773         * tests/test-freadahead.c: Likewise.
41774         * tests/test-freading.c: Likewise.
41775         * tests/test-freopen.c: Likewise.
41776         * tests/test-frexp.c: Likewise.
41777         * tests/test-frexpl.c: Likewise.
41778         * tests/test-fseek.c: Likewise.
41779         * tests/test-fseeko.c: Likewise.
41780         * tests/test-fseterr.c: Likewise.
41781         * tests/test-fstrcmp.c: Likewise.
41782         * tests/test-ftell.c: Likewise.
41783         * tests/test-ftello.c: Likewise.
41784         * tests/test-fwritable.c: Likewise.
41785         * tests/test-fwriting.c: Likewise.
41786         * tests/test-getaddrinfo.c: Likewise.
41787         * tests/test-getpass.c: Likewise.
41788         * tests/test-gettimeofday.c: Likewise.
41789         * tests/test-hmac-md5.c: Likewise.
41790         * tests/test-hmac-sha1.c: Likewise.
41791         * tests/test-iconv.c: Likewise.
41792         * tests/test-iconvme.c: Likewise.
41793         * tests/test-inttypes.c: Likewise.
41794         * tests/test-isnan.c: Likewise.
41795         * tests/test-isnanf.c: Likewise.
41796         * tests/test-isnanl-nolibm.c: Likewise.
41797         * tests/test-isnanl.c: Likewise.
41798         * tests/test-isnanl.h: Likewise.
41799         * tests/test-ldexpl.c: Likewise.
41800         * tests/test-linked_list.c: Likewise.
41801         * tests/test-linkedhash_list.c: Likewise.
41802         * tests/test-locale.c: Likewise.
41803         * tests/test-localename.c: Likewise.
41804         * tests/test-lock.c: Likewise.
41805         * tests/test-lseek.c: Likewise.
41806         * tests/test-malloca.c: Likewise.
41807         * tests/test-math.c: Likewise.
41808         * tests/test-mbscasecmp.c: Likewise.
41809         * tests/test-mbscasestr1.c: Likewise.
41810         * tests/test-mbscasestr2.c: Likewise.
41811         * tests/test-mbscasestr3.c: Likewise.
41812         * tests/test-mbscasestr4.c: Likewise.
41813         * tests/test-mbschr.c: Likewise.
41814         * tests/test-mbscspn.c: Likewise.
41815         * tests/test-mbsncasecmp.c: Likewise.
41816         * tests/test-mbspbrk.c: Likewise.
41817         * tests/test-mbspcasecmp.c: Likewise.
41818         * tests/test-mbsrchr.c: Likewise.
41819         * tests/test-mbsspn.c: Likewise.
41820         * tests/test-mbsstr1.c: Likewise.
41821         * tests/test-mbsstr2.c: Likewise.
41822         * tests/test-mbsstr3.c: Likewise.
41823         * tests/test-md5.c: Likewise.
41824         * tests/test-memmem.c: Likewise.
41825         * tests/test-netinet_in.c: Likewise.
41826         * tests/test-open.c: Likewise.
41827         * tests/test-printf-frexp.c: Likewise.
41828         * tests/test-printf-frexpl.c: Likewise.
41829         * tests/test-printf-posix.c: Likewise.
41830         * tests/test-printf-posix.h: Likewise.
41831         * tests/test-rbtree_list.c: Likewise.
41832         * tests/test-rbtree_oset.c: Likewise.
41833         * tests/test-rbtreehash_list.c: Likewise.
41834         * tests/test-read-file.c: Likewise.
41835         * tests/test-rijndael.c: Likewise.
41836         * tests/test-search.c: Likewise.
41837         * tests/test-signbit.c: Likewise.
41838         * tests/test-sleep.c: Likewise.
41839         * tests/test-snprintf-posix.c: Likewise.
41840         * tests/test-snprintf-posix.h: Likewise.
41841         * tests/test-snprintf.c: Likewise.
41842         * tests/test-sprintf-posix.c: Likewise.
41843         * tests/test-sprintf-posix.h: Likewise.
41844         * tests/test-stat-time.c: Likewise.
41845         * tests/test-stdbool.c: Likewise.
41846         * tests/test-stdint.c: Likewise.
41847         * tests/test-stdio.c: Likewise.
41848         * tests/test-stdlib.c: Likewise.
41849         * tests/test-stpncpy.c: Likewise.
41850         * tests/test-strcasestr.c: Likewise.
41851         * tests/test-striconv.c: Likewise.
41852         * tests/test-striconveh.c: Likewise.
41853         * tests/test-striconveha.c: Likewise.
41854         * tests/test-string.c: Likewise.
41855         * tests/test-sys_select.c: Likewise.
41856         * tests/test-sys_socket.c: Likewise.
41857         * tests/test-sys_stat.c: Likewise.
41858         * tests/test-sys_time.c: Likewise.
41859         * tests/test-sysexits.c: Likewise.
41860         * tests/test-time.c: Likewise.
41861         * tests/test-tls.c: Likewise.
41862         * tests/test-trunc.c: Likewise.
41863         * tests/test-truncf.c: Likewise.
41864         * tests/test-truncl.c: Likewise.
41865         * tests/test-unistd.c: Likewise.
41866         * tests/test-vasnprintf-posix.c: Likewise.
41867         * tests/test-vasnprintf-posix2.c: Likewise.
41868         * tests/test-vasnprintf.c: Likewise.
41869         * tests/test-vasprintf-posix.c: Likewise.
41870         * tests/test-vasprintf.c: Likewise.
41871         * tests/test-verify.c: Likewise.
41872         * tests/test-vfprintf-posix.c: Likewise.
41873         * tests/test-vprintf-posix.c: Likewise.
41874         * tests/test-vsnprintf-posix.c: Likewise.
41875         * tests/test-vsnprintf.c: Likewise.
41876         * tests/test-vsprintf-posix.c: Likewise.
41877         * tests/test-wchar.c: Likewise.
41878         * tests/test-wctype.c: Likewise.
41879         * tests/test-wcwidth.c: Likewise.
41880         * tests/test-xstrtol.c: Likewise.
41881         * tests/test-xvasprintf.c: Likewise.
41882         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
41883         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
41884         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
41885         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
41886         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
41887         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
41888         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
41889         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
41890         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
41891         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
41892         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
41893         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
41894         * tests/uniname/test-uninames.c: Likewise.
41895         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
41896         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
41897         * tests/unistdio/test-u16-printf1.h: Likewise.
41898         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
41899         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
41900         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
41901         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
41902         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
41903         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
41904         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
41905         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
41906         * tests/unistdio/test-u32-printf1.h: Likewise.
41907         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
41908         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
41909         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
41910         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
41911         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
41912         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
41913         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
41914         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
41915         * tests/unistdio/test-u8-printf1.h: Likewise.
41916         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
41917         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
41918         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
41919         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
41920         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
41921         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
41922         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
41923         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
41924         * tests/unistdio/test-ulc-printf1.h: Likewise.
41925         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
41926         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
41927         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
41928         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
41929         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
41930         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
41931         * tests/uniwidth/test-u16-strwidth.c: Likewise.
41932         * tests/uniwidth/test-u16-width.c: Likewise.
41933         * tests/uniwidth/test-u32-strwidth.c: Likewise.
41934         * tests/uniwidth/test-u32-width.c: Likewise.
41935         * tests/uniwidth/test-u8-strwidth.c: Likewise.
41936         * tests/uniwidth/test-u8-width.c: Likewise.
41937         * tests/uniwidth/test-uc_width.c: Likewise.
41938         * config/srclist-update: Likewise.
41939         (fixlicense): Update to GPLv3+.
41940
41941         Change copyright notice from LGPLv2.1+ to LGPLv3+.
41942         * tests/test-tsearch.c: Change copyright notice.
41943
41944         Change copyright notice from LGPLv2.0+ to LGPLv3+.
41945         * lib/c-strcaseeq.h: Change copyright notice.
41946         * lib/streq.h: Likewise.
41947         * lib/uniconv.h: Likewise.
41948         * lib/uniconv/u-conv-from-enc.h: Likewise.
41949         * lib/uniconv/u-conv-to-enc.h: Likewise.
41950         * lib/uniconv/u-strconv-from-enc.h: Likewise.
41951         * lib/uniconv/u-strconv-to-enc.h: Likewise.
41952         * lib/uniconv/u16-conv-from-enc.c: Likewise.
41953         * lib/uniconv/u16-conv-to-enc.c: Likewise.
41954         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
41955         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
41956         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
41957         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
41958         * lib/uniconv/u32-conv-from-enc.c: Likewise.
41959         * lib/uniconv/u32-conv-to-enc.c: Likewise.
41960         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
41961         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
41962         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
41963         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
41964         * lib/uniconv/u8-conv-from-enc.c: Likewise.
41965         * lib/uniconv/u8-conv-to-enc.c: Likewise.
41966         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
41967         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
41968         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
41969         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
41970         * lib/uniname.h: Likewise.
41971         * lib/uniname/uniname.c: Likewise.
41972         * lib/unistdio.h: Likewise.
41973         * lib/unistdio/u-asnprintf.h: Likewise.
41974         * lib/unistdio/u-asprintf.h: Likewise.
41975         * lib/unistdio/u-printf-args.c: Likewise.
41976         * lib/unistdio/u-printf-args.h: Likewise.
41977         * lib/unistdio/u-printf-parse.h: Likewise.
41978         * lib/unistdio/u-snprintf.h: Likewise.
41979         * lib/unistdio/u-sprintf.h: Likewise.
41980         * lib/unistdio/u-vasprintf.h: Likewise.
41981         * lib/unistdio/u-vsnprintf.h: Likewise.
41982         * lib/unistdio/u-vsprintf.h: Likewise.
41983         * lib/unistdio/u16-asnprintf.c: Likewise.
41984         * lib/unistdio/u16-asprintf.c: Likewise.
41985         * lib/unistdio/u16-printf-parse.c: Likewise.
41986         * lib/unistdio/u16-snprintf.c: Likewise.
41987         * lib/unistdio/u16-sprintf.c: Likewise.
41988         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
41989         * lib/unistdio/u16-u16-asprintf.c: Likewise.
41990         * lib/unistdio/u16-u16-snprintf.c: Likewise.
41991         * lib/unistdio/u16-u16-sprintf.c: Likewise.
41992         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
41993         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
41994         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
41995         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
41996         * lib/unistdio/u16-vasnprintf.c: Likewise.
41997         * lib/unistdio/u16-vasprintf.c: Likewise.
41998         * lib/unistdio/u16-vsnprintf.c: Likewise.
41999         * lib/unistdio/u16-vsprintf.c: Likewise.
42000         * lib/unistdio/u32-asnprintf.c: Likewise.
42001         * lib/unistdio/u32-asprintf.c: Likewise.
42002         * lib/unistdio/u32-printf-parse.c: Likewise.
42003         * lib/unistdio/u32-snprintf.c: Likewise.
42004         * lib/unistdio/u32-sprintf.c: Likewise.
42005         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
42006         * lib/unistdio/u32-u32-asprintf.c: Likewise.
42007         * lib/unistdio/u32-u32-snprintf.c: Likewise.
42008         * lib/unistdio/u32-u32-sprintf.c: Likewise.
42009         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
42010         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
42011         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
42012         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
42013         * lib/unistdio/u32-vasnprintf.c: Likewise.
42014         * lib/unistdio/u32-vasprintf.c: Likewise.
42015         * lib/unistdio/u32-vsnprintf.c: Likewise.
42016         * lib/unistdio/u32-vsprintf.c: Likewise.
42017         * lib/unistdio/u8-asnprintf.c: Likewise.
42018         * lib/unistdio/u8-asprintf.c: Likewise.
42019         * lib/unistdio/u8-printf-parse.c: Likewise.
42020         * lib/unistdio/u8-snprintf.c: Likewise.
42021         * lib/unistdio/u8-sprintf.c: Likewise.
42022         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
42023         * lib/unistdio/u8-u8-asprintf.c: Likewise.
42024         * lib/unistdio/u8-u8-snprintf.c: Likewise.
42025         * lib/unistdio/u8-u8-sprintf.c: Likewise.
42026         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
42027         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
42028         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
42029         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
42030         * lib/unistdio/u8-vasnprintf.c: Likewise.
42031         * lib/unistdio/u8-vasprintf.c: Likewise.
42032         * lib/unistdio/u8-vsnprintf.c: Likewise.
42033         * lib/unistdio/u8-vsprintf.c: Likewise.
42034         * lib/unistdio/ulc-asnprintf.c: Likewise.
42035         * lib/unistdio/ulc-asprintf.c: Likewise.
42036         * lib/unistdio/ulc-printf-parse.c: Likewise.
42037         * lib/unistdio/ulc-snprintf.c: Likewise.
42038         * lib/unistdio/ulc-sprintf.c: Likewise.
42039         * lib/unistdio/ulc-vasnprintf.c: Likewise.
42040         * lib/unistdio/ulc-vasprintf.c: Likewise.
42041         * lib/unistdio/ulc-vsnprintf.c: Likewise.
42042         * lib/unistdio/ulc-vsprintf.c: Likewise.
42043         * lib/unistr.h: Likewise.
42044         * lib/unistr/u-cpy-alloc.h: Likewise.
42045         * lib/unistr/u-cpy.h: Likewise.
42046         * lib/unistr/u-endswith.h: Likewise.
42047         * lib/unistr/u-move.h: Likewise.
42048         * lib/unistr/u-set.h: Likewise.
42049         * lib/unistr/u-startswith.h: Likewise.
42050         * lib/unistr/u-stpcpy.h: Likewise.
42051         * lib/unistr/u-stpncpy.h: Likewise.
42052         * lib/unistr/u-strcat.h: Likewise.
42053         * lib/unistr/u-strcpy.h: Likewise.
42054         * lib/unistr/u-strcspn.h: Likewise.
42055         * lib/unistr/u-strdup.h: Likewise.
42056         * lib/unistr/u-strlen.h: Likewise.
42057         * lib/unistr/u-strncat.h: Likewise.
42058         * lib/unistr/u-strncpy.h: Likewise.
42059         * lib/unistr/u-strnlen.h: Likewise.
42060         * lib/unistr/u-strpbrk.h: Likewise.
42061         * lib/unistr/u-strspn.h: Likewise.
42062         * lib/unistr/u-strstr.h: Likewise.
42063         * lib/unistr/u-strtok.h: Likewise.
42064         * lib/unistr/u16-check.c: Likewise.
42065         * lib/unistr/u16-chr.c: Likewise.
42066         * lib/unistr/u16-cmp.c: Likewise.
42067         * lib/unistr/u16-cpy-alloc.c: Likewise.
42068         * lib/unistr/u16-cpy.c: Likewise.
42069         * lib/unistr/u16-endswith.c: Likewise.
42070         * lib/unistr/u16-mblen.c: Likewise.
42071         * lib/unistr/u16-mbsnlen.c: Likewise.
42072         * lib/unistr/u16-mbtouc-aux.c: Likewise.
42073         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
42074         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
42075         * lib/unistr/u16-mbtouc.c: Likewise.
42076         * lib/unistr/u16-mbtoucr.c: Likewise.
42077         * lib/unistr/u16-move.c: Likewise.
42078         * lib/unistr/u16-next.c: Likewise.
42079         * lib/unistr/u16-prev.c: Likewise.
42080         * lib/unistr/u16-set.c: Likewise.
42081         * lib/unistr/u16-startswith.c: Likewise.
42082         * lib/unistr/u16-stpcpy.c: Likewise.
42083         * lib/unistr/u16-stpncpy.c: Likewise.
42084         * lib/unistr/u16-strcat.c: Likewise.
42085         * lib/unistr/u16-strchr.c: Likewise.
42086         * lib/unistr/u16-strcmp.c: Likewise.
42087         * lib/unistr/u16-strcpy.c: Likewise.
42088         * lib/unistr/u16-strcspn.c: Likewise.
42089         * lib/unistr/u16-strdup.c: Likewise.
42090         * lib/unistr/u16-strlen.c: Likewise.
42091         * lib/unistr/u16-strmblen.c: Likewise.
42092         * lib/unistr/u16-strmbtouc.c: Likewise.
42093         * lib/unistr/u16-strncat.c: Likewise.
42094         * lib/unistr/u16-strncmp.c: Likewise.
42095         * lib/unistr/u16-strncpy.c: Likewise.
42096         * lib/unistr/u16-strnlen.c: Likewise.
42097         * lib/unistr/u16-strpbrk.c: Likewise.
42098         * lib/unistr/u16-strrchr.c: Likewise.
42099         * lib/unistr/u16-strspn.c: Likewise.
42100         * lib/unistr/u16-strstr.c: Likewise.
42101         * lib/unistr/u16-strtok.c: Likewise.
42102         * lib/unistr/u16-to-u32.c: Likewise.
42103         * lib/unistr/u16-to-u8.c: Likewise.
42104         * lib/unistr/u16-uctomb-aux.c: Likewise.
42105         * lib/unistr/u16-uctomb.c: Likewise.
42106         * lib/unistr/u32-check.c: Likewise.
42107         * lib/unistr/u32-chr.c: Likewise.
42108         * lib/unistr/u32-cmp.c: Likewise.
42109         * lib/unistr/u32-cpy-alloc.c: Likewise.
42110         * lib/unistr/u32-cpy.c: Likewise.
42111         * lib/unistr/u32-endswith.c: Likewise.
42112         * lib/unistr/u32-mblen.c: Likewise.
42113         * lib/unistr/u32-mbsnlen.c: Likewise.
42114         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
42115         * lib/unistr/u32-mbtouc.c: Likewise.
42116         * lib/unistr/u32-mbtoucr.c: Likewise.
42117         * lib/unistr/u32-move.c: Likewise.
42118         * lib/unistr/u32-next.c: Likewise.
42119         * lib/unistr/u32-prev.c: Likewise.
42120         * lib/unistr/u32-set.c: Likewise.
42121         * lib/unistr/u32-startswith.c: Likewise.
42122         * lib/unistr/u32-stpcpy.c: Likewise.
42123         * lib/unistr/u32-stpncpy.c: Likewise.
42124         * lib/unistr/u32-strcat.c: Likewise.
42125         * lib/unistr/u32-strchr.c: Likewise.
42126         * lib/unistr/u32-strcmp.c: Likewise.
42127         * lib/unistr/u32-strcpy.c: Likewise.
42128         * lib/unistr/u32-strcspn.c: Likewise.
42129         * lib/unistr/u32-strdup.c: Likewise.
42130         * lib/unistr/u32-strlen.c: Likewise.
42131         * lib/unistr/u32-strmblen.c: Likewise.
42132         * lib/unistr/u32-strmbtouc.c: Likewise.
42133         * lib/unistr/u32-strncat.c: Likewise.
42134         * lib/unistr/u32-strncmp.c: Likewise.
42135         * lib/unistr/u32-strncpy.c: Likewise.
42136         * lib/unistr/u32-strnlen.c: Likewise.
42137         * lib/unistr/u32-strpbrk.c: Likewise.
42138         * lib/unistr/u32-strrchr.c: Likewise.
42139         * lib/unistr/u32-strspn.c: Likewise.
42140         * lib/unistr/u32-strstr.c: Likewise.
42141         * lib/unistr/u32-strtok.c: Likewise.
42142         * lib/unistr/u32-to-u16.c: Likewise.
42143         * lib/unistr/u32-to-u8.c: Likewise.
42144         * lib/unistr/u32-uctomb.c: Likewise.
42145         * lib/unistr/u8-check.c: Likewise.
42146         * lib/unistr/u8-chr.c: Likewise.
42147         * lib/unistr/u8-cmp.c: Likewise.
42148         * lib/unistr/u8-cpy-alloc.c: Likewise.
42149         * lib/unistr/u8-cpy.c: Likewise.
42150         * lib/unistr/u8-endswith.c: Likewise.
42151         * lib/unistr/u8-mblen.c: Likewise.
42152         * lib/unistr/u8-mbsnlen.c: Likewise.
42153         * lib/unistr/u8-mbtouc-aux.c: Likewise.
42154         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
42155         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
42156         * lib/unistr/u8-mbtouc.c: Likewise.
42157         * lib/unistr/u8-mbtoucr.c: Likewise.
42158         * lib/unistr/u8-move.c: Likewise.
42159         * lib/unistr/u8-next.c: Likewise.
42160         * lib/unistr/u8-prev.c: Likewise.
42161         * lib/unistr/u8-set.c: Likewise.
42162         * lib/unistr/u8-startswith.c: Likewise.
42163         * lib/unistr/u8-stpcpy.c: Likewise.
42164         * lib/unistr/u8-stpncpy.c: Likewise.
42165         * lib/unistr/u8-strcat.c: Likewise.
42166         * lib/unistr/u8-strchr.c: Likewise.
42167         * lib/unistr/u8-strcmp.c: Likewise.
42168         * lib/unistr/u8-strcpy.c: Likewise.
42169         * lib/unistr/u8-strcspn.c: Likewise.
42170         * lib/unistr/u8-strdup.c: Likewise.
42171         * lib/unistr/u8-strlen.c: Likewise.
42172         * lib/unistr/u8-strmblen.c: Likewise.
42173         * lib/unistr/u8-strmbtouc.c: Likewise.
42174         * lib/unistr/u8-strncat.c: Likewise.
42175         * lib/unistr/u8-strncmp.c: Likewise.
42176         * lib/unistr/u8-strncpy.c: Likewise.
42177         * lib/unistr/u8-strnlen.c: Likewise.
42178         * lib/unistr/u8-strpbrk.c: Likewise.
42179         * lib/unistr/u8-strrchr.c: Likewise.
42180         * lib/unistr/u8-strspn.c: Likewise.
42181         * lib/unistr/u8-strstr.c: Likewise.
42182         * lib/unistr/u8-strtok.c: Likewise.
42183         * lib/unistr/u8-to-u16.c: Likewise.
42184         * lib/unistr/u8-to-u32.c: Likewise.
42185         * lib/unistr/u8-uctomb-aux.c: Likewise.
42186         * lib/unistr/u8-uctomb.c: Likewise.
42187         * lib/unitypes.h: Likewise.
42188         * lib/uniwidth.h: Likewise.
42189         * lib/uniwidth/cjk.h: Likewise.
42190         * lib/uniwidth/u16-strwidth.c: Likewise.
42191         * lib/uniwidth/u16-width.c: Likewise.
42192         * lib/uniwidth/u32-strwidth.c: Likewise.
42193         * lib/uniwidth/u32-width.c: Likewise.
42194         * lib/uniwidth/u8-strwidth.c: Likewise.
42195         * lib/uniwidth/u8-width.c: Likewise.
42196         * lib/uniwidth/width.c: Likewise.
42197
42198 2007-10-07  Bruno Haible  <bruno@clisp.org>
42199
42200         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
42201         The file is still under LGPL (see modules/inttypes).
42202
42203 2007-10-06  Bruno Haible  <bruno@clisp.org>
42204
42205         * modules/trunc (Dependencies): Add 'extensions'.
42206         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
42207         Reported by Ben Pfaff <blp@gnu.org>.
42208
42209 2007-10-06  Bruno Haible  <bruno@clisp.org>
42210
42211         * modules/freopen-tests: New file.
42212         * tests/test-freopen.c: New file.
42213
42214         * modules/fopen-tests: New file.
42215         * tests/test-fopen.c: New file.
42216
42217         * modules/fopen: New file.
42218         * lib/fopen.c: New file.
42219         * m4/fopen.m4: New file.
42220         * modules/freopen: New file.
42221         * lib/freopen.c: New file.
42222         * m4/freopen.m4: New file.
42223         * lib/stdio.in.h (fopen, freopen): New declarations.
42224         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
42225         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
42226         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
42227         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
42228         * doc/functions/fopen.texi: Mention the 'fopen' module.
42229         * doc/functions/freopen.texi: Mention the 'freopen' module.
42230
42231 2007-10-06  Bruno Haible  <bruno@clisp.org>
42232
42233         * modules/open-tests: New file.
42234         * tests/test-open.c: New file.
42235
42236         * modules/open: New file.
42237         * lib/open.c: New file.
42238         * m4/open.m4: New file.
42239         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
42240         lib/open.c does.
42241         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
42242         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
42243         macros.
42244         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
42245         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
42246         REPLACE_OPEN.
42247         * doc/functions/open.texi: Mention the 'open' module.
42248
42249 2007-10-04  Bruno Haible  <bruno@clisp.org>
42250
42251         * modules/ceill-tests: New file.
42252         * tests/test-ceill.c: New file.
42253
42254         * modules/ceill: New file.
42255         * lib/ceill.c: Replace entire file.
42256         * m4/ceill.m4: New file.
42257         * lib/math.in.h (ceill): Replace declaration.
42258         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
42259         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
42260         * doc/functions/ceill.texi: Mention the 'ceill' module.
42261         * modules/mathl (Files): Remove lib/ceill.c.
42262         (Depends-on): Add ceill.
42263
42264 2007-10-04  Bruno Haible  <bruno@clisp.org>
42265
42266         * modules/ceilf-tests: New file.
42267         * tests/test-ceilf.c: New file.
42268
42269         * modules/ceilf: New file.
42270         * lib/ceil.c: New file.
42271         * lib/ceilf.c: New file.
42272         * m4/ceilf.m4: New file.
42273         * lib/math.in.h (ceilf): New declaration.
42274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
42275         HAVE_DECL_CEILF.
42276         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
42277         HAVE_DECL_CEILF.
42278         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
42279
42280 2007-10-04  Bruno Haible  <bruno@clisp.org>
42281
42282         * modules/floorl-tests: New file.
42283         * tests/test-floorl.c: New file.
42284
42285         * modules/floorl: New file.
42286         * lib/floorl.c: Replace entire file.
42287         * m4/floorl.m4: New file.
42288         * lib/math.in.h (floorl): Replace declaration.
42289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
42290         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
42291         * doc/functions/floorl.texi: Mention the 'floorl' module.
42292         * modules/mathl (Files): Remove lib/floorl.c.
42293         (Depends-on): Add floorl.
42294
42295 2007-10-04  Bruno Haible  <bruno@clisp.org>
42296
42297         * modules/floorf-tests: New file.
42298         * tests/test-floorf.c: New file.
42299
42300         * modules/floorf: New file.
42301         * lib/floor.c: New file.
42302         * lib/floorf.c: New file.
42303         * m4/floorf.m4: New file.
42304         * lib/math.in.h (floorf): New declaration.
42305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
42306         HAVE_DECL_FLOORF.
42307         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
42308         HAVE_DECL_FLOORF.
42309         * doc/functions/floorf.texi: Mention the 'floorf' module.
42310
42311 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
42312             Bruno Haible  <bruno@clisp.org>
42313
42314         Advertise for the Git server instead of the CVS server.
42315         * doc/gnulib-intro.texi (Steady Development): Mention the Git
42316         repository instead of the CVS one.
42317         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
42318         about all VCS systems generically.
42319         * doc/gnulib.texi (Introduction): Capitalize `Git'.
42320
42321 2007-10-04  Bruno Haible  <bruno@clisp.org>
42322
42323         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
42324         means.
42325         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
42326
42327 2007-10-04  Bruno Haible  <bruno@clisp.org>
42328
42329         * modules/truncl-tests: New file.
42330         * tests/test-truncl.c: New file.
42331
42332         * modules/truncl: New file.
42333         * lib/truncl.c: New file.
42334         * m4/truncl.m4: New file.
42335         * lib/math.in.h (truncl): New declaration.
42336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
42337         HAVE_DECL_TRUNCL.
42338         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
42339         HAVE_DECL_TRUNCL.
42340         * doc/functions/truncl.texi: Mention the 'truncl' module.
42341
42342 2007-10-04  Bruno Haible  <bruno@clisp.org>
42343
42344         * modules/truncf-tests: New file.
42345         * tests/test-truncf.c: New file.
42346
42347         * modules/truncf: New file.
42348         * lib/trunc.c: Make paramerizable through USE_* macros.
42349         * lib/truncf.c: New file.
42350         * m4/truncf.m4: New file.
42351         * lib/math.in.h (truncf): New declaration.
42352         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
42353         HAVE_DECL_TRUNCF.
42354         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
42355         HAVE_DECL_TRUNCF.
42356         * doc/functions/truncf.texi: Mention the 'truncf' module.
42357
42358 2007-10-03  Bruno Haible  <bruno@clisp.org>
42359
42360         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
42361         augmentation also for tests modules.
42362         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
42363         * modules/atexit-tests (Makefile.am): Likewise.
42364         * modules/binary-io-tests (Makefile.am): Likewise.
42365         * modules/c-strcase-tests (Makefile.am): Likewise.
42366         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
42367         * modules/canonicalize-tests (Makefile.am): Likewise.
42368         * modules/closein-tests (Makefile.am): Likewise.
42369         * modules/fprintf-posix-tests (Makefile.am): Likewise.
42370         * modules/freadahead-tests (Makefile.am): Likewise.
42371         * modules/fseek-tests (Makefile.am): Likewise.
42372         * modules/fseeko-tests (Makefile.am): Likewise.
42373         * modules/ftell-tests (Makefile.am): Likewise.
42374         * modules/ftello-tests (Makefile.am): Likewise.
42375         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
42376         * modules/isnanl-tests (Makefile.am): Likewise.
42377         * modules/lseek-tests (Makefile.am): Likewise.
42378         * modules/mbscasecmp-tests (Makefile.am): Likewise.
42379         * modules/mbscasestr-tests (Makefile.am): Likewise.
42380         * modules/mbschr-tests (Makefile.am): Likewise.
42381         * modules/mbscspn-tests (Makefile.am): Likewise.
42382         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
42383         * modules/mbspbrk-tests (Makefile.am): Likewise.
42384         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
42385         * modules/mbsrchr-tests (Makefile.am): Likewise.
42386         * modules/mbsspn-tests (Makefile.am): Likewise.
42387         * modules/mbsstr-tests (Makefile.am): Likewise.
42388         * modules/printf-posix-tests (Makefile.am): Likewise.
42389         * modules/snprintf-posix-tests (Makefile.am): Likewise.
42390         * modules/sprintf-posix-tests (Makefile.am): Likewise.
42391         * modules/tsearch-tests (Makefile.am): Likewise.
42392         * modules/uniname/uniname-tests (Makefile.am): Likewise.
42393         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
42394         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
42395         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
42396         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
42397         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
42398         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
42399         * modules/vprintf-posix-tests (Makefile.am): Likewise.
42400         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
42401         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
42402         * modules/xstrtoimax-tests (Makefile.am): Likewise.
42403         * modules/xstrtol-tests (Makefile.am): Likewise.
42404         * modules/xstrtoumax-tests (Makefile.am): Likewise.
42405         * modules/yesno-tests (Makefile.am): Likewise.
42406
42407 2007-10-03  Bruno Haible  <bruno@clisp.org>
42408
42409         * modules/trunc-tests: New file.
42410         * tests/test-trunc.c: New file.
42411
42412         * modules/trunc: New file.
42413         * lib/trunc.c: New file.
42414         * m4/trunc.m4: New file.
42415         * lib/math.in.h (trunc): New declaration.
42416         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
42417         HAVE_DECL_TRUNC.
42418         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
42419         HAVE_DECL_TRUNC.
42420         * doc/functions/trunc.texi: Mention the 'trunc' module.
42421
42422 2007-10-03  Bruno Haible  <bruno@clisp.org>
42423
42424         * tests/test-fpending.c: New file, mostly copied
42425         from coreutils/lib/t-fpending.c.
42426         * modules/fpending-tests: New file.
42427
42428 2007-10-03  Bruno Haible  <bruno@clisp.org>
42429
42430         Port the stdio extensions to QNX (untested).
42431         * lib/fseterr.c (fseterr): Add support for QNX.
42432         * lib/fbufmode.c (fbufmode): Likewise.
42433         * lib/freadable.c (freadable): Likewise.
42434         * lib/fwritable.c (fwritable): Likewise.
42435         * lib/freading.c (freading): Likewise.
42436         * lib/fwriting.c (fwriting): Likewise.
42437         * lib/freadahead.c (freadahed): Likewise.
42438         * lib/fpurge.c (fpurge): Likewise.
42439         * lib/fseeko.c (rpl_fseeko): Likewise.
42440
42441 2007-10-03  Bruno Haible  <bruno@clisp.org>
42442             Jim Meyering  <jim@meyering.net>
42443             Eric Blake  <ebb9@byu.net>
42444
42445         * doc/relocatable.texi: Use @command instead of @program.
42446
42447 2007-10-02  Jim Meyering  <jim@meyering.net>
42448
42449         Perform one more "_.h" -> ".in.h" substitution.
42450         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
42451         instead of unistd_.h here, too.
42452
42453 2007-10-01  Bruno Haible  <bruno@clisp.org>
42454
42455         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
42456         Needed for the alloca-opt module.
42457
42458 2007-09-30  Bruno Haible  <bruno@clisp.org>
42459
42460         * lib/alloca.in.h: Renamed from lib/alloca_.h.
42461         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
42462         alloca_.h.
42463         * lib/argz.in.h: Renamed from lib/argz_.h.
42464         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
42465         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
42466         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
42467         byteswap_.h.
42468         * lib/dirent.in.h: Renamed from lib/dirent_.h.
42469         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
42470         dirent_.h.
42471         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
42472         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
42473         fcntl_.h.
42474         * lib/float.in.h: Renamed from lib/float_.h.
42475         * modules/float (Files, Makefile.am): Use float.in.h instead of
42476         float_.h.
42477         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
42478         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
42479         fnmatch_.h.
42480         * lib/getopt.in.h: Renamed from lib/getopt_.h.
42481         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
42482         getopt_.h.
42483         * lib/glob.in.h: Renamed from lib/glob_.h.
42484         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
42485         * lib/iconv.in.h: Renamed from lib/iconv_.h.
42486         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
42487         iconv_.h.
42488         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
42489         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
42490         inttypes_.h.
42491         * lib/locale.in.h: Renamed from lib/locale_.h.
42492         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
42493         locale_.h.
42494         * lib/math.in.h: Renamed from lib/math_.h.
42495         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
42496         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
42497         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
42498         of netinet_in_.h. Add dependency.
42499         * lib/poll.in.h: Renamed from lib/poll_.h.
42500         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
42501         * lib/search.in.h: Renamed from lib/search_.h.
42502         * modules/search (Files, Makefile.am): Use search.in.h instead of
42503         search_.h.
42504         * lib/signal.in.h: Renamed from lib/signal_.h.
42505         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
42506         _signal.h.
42507         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
42508         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
42509         stdbool_.h.
42510         * lib/stdint.in.h: Renamed from lib/stdint_.h.
42511         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
42512         stdint_.h.
42513         * lib/stdio.in.h: Renamed from lib/stdio_.h.
42514         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
42515         stdio_.h.
42516         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
42517         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
42518         stdlib_.h.
42519         * lib/string.in.h: Renamed from lib/string_.h.
42520         * modules/string (Files, Makefile.am): Use string.in.h instead of
42521         string_.h.
42522         * doc/gnulib-tool.texi (Initial import): Update.
42523         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
42524         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
42525         of sys_select_.h. Add dependency.
42526         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
42527         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
42528         of sys_socket_.h.
42529         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
42530         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
42531         sys_stat_.h.
42532         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
42533         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
42534         sys_time_.h.
42535         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
42536         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
42537         sysexits_.h.
42538         * lib/time.in.h: Renamed from lib/time_.h.
42539         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
42540         * lib/unistd.in.h: Renamed from lib/unistd_.h.
42541         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
42542         unistd_.h.
42543         * lib/wchar.in.h: Renamed from lib/wchar_.h.
42544         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
42545         wchar_.h.
42546         * lib/wctype.in.h: Renamed from lib/wctype_.h.
42547         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
42548         wctype_.h.
42549         * build-aux/bootstrap (slurp): Update.
42550         * lib/.cppi-disable: Update.
42551
42552 2007-09-30  Bruno Haible  <bruno@clisp.org>
42553
42554         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
42555         Needed on BeOS.
42556
42557 2007-09-30  Bruno Haible  <bruno@clisp.org>
42558
42559         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
42560
42561 2007-09-29  Bruno Haible  <bruno@clisp.org>
42562
42563         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
42564
42565 2007-09-29  Bruno Haible  <bruno@clisp.org>
42566
42567         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
42568         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
42569         * build-aux/install-reloc: Compile also areadlink.c.
42570         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
42571
42572 2007-09-29  Bruno Haible  <bruno@clisp.org>
42573
42574         * gnulib-tool (func_emit_initmacro_done): Indentation.
42575
42576 2007-09-29  Bruno Haible  <bruno@clisp.org>
42577
42578         * README: Add CVS checkout update instructions.
42579         Info from Bob Proulx <bob@proulx.com>.
42580
42581 2007-09-28  Eric Blake  <ebb9@byu.net>
42582
42583         Provide move-if-change.
42584         * build-aux/move-if-change: New file, based on best practice
42585         rather than any canonical upstream location.
42586
42587 2007-09-28  Jim Meyering  <jim@meyering.net>
42588
42589         Fix canonicalize loop-detection corner case.
42590         Do not attempt to stat the symlink values stored via seen_triple.
42591         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
42592         on linux-2.6.18, (but not 2.6.22).
42593         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
42594         triple_compare.  The former compares dev,ino,filename, while the latter
42595         would actually stat dirname(filename) when dev and ino were equal.
42596         * lib/hash-triple.c: Install <string.h>.
42597         (STREQ): Define.
42598         (triple_compare_ino_str): New function.
42599         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
42600
42601 2007-09-28  Eric Blake  <ebb9@byu.net>
42602
42603         Enforce that AC_REPLACE_FUNCS files exist.
42604         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
42605         override check for typos.
42606
42607         Fix test-closein on Solaris 10.
42608         * tests/test-closein.c (main): Don't assume stdin can be inherited
42609         closed on all systems.
42610         * tests/test-closein.sh: Likewise.
42611         Reported by Piotr Tarnowski.
42612
42613 2007-09-28  Jim Meyering  <jim@meyering.net>
42614
42615         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
42616
42617 2007-09-27  Jim Meyering  <jim@meyering.net>
42618
42619         canonicalize: Avoid a false-positive cycle failure.
42620         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
42621         Sort.  Remove cycle-check.
42622         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
42623         not cycle-check.h.
42624         (seen_triple): New function.
42625         (canonicalize_filename_mode): Use it instead of cycle-check.
42626         * tests/test-canonicalize.c: Add a test for this bug.
42627         * tests/test-canonicalize.sh: Set up and run the test.
42628
42629         New module, file-set, from coreutils.
42630         * modules/file-set: Define it.
42631         * lib/file-set.c, lib/file-set.h: Implement.
42632
42633         New module, hash-triple, from coreutils.
42634         * modules/hash-triple: Define it.
42635         * lib/hash-triple.c, lib/hash-triple.h: Implement.
42636
42637 2007-09-25  Eric Blake  <ebb9@byu.net>
42638
42639         Fix strerror on Interix.
42640         * lib/string_.h (strerror): Declare replacement.
42641         * doc/functions/strerror.texi (strerror): Document the Interix
42642         shortcoming.
42643         * modules/string (Makefile.am): Support new hooks.
42644         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
42645         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
42646         gl_FUNC_STRERROR_SEPARATE.
42647         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
42648         * lib/strerror.c (rpl_strerror): Provide replacement.
42649         * modules/strerror (Depends-on): Add string.
42650         (configure.ac): Detect use of module.
42651         * tests/test-strerror.c: New file.
42652         * modules/strerror-tests: New test module.
42653         * modules/argp (Depends-on): Add strerror.
42654         * modules/error (Depends-on): Likewise.
42655         Reported by Martin Koeppe.
42656
42657 2007-09-24  Bruno Haible  <bruno@clisp.org>
42658
42659         * README: Update git instructions.
42660
42661 2007-09-24  Eric Blake  <ebb9@byu.net>
42662
42663         Revert fpending breakage from 2007-09-08.
42664         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
42665         __fpending.c.
42666
42667 2007-09-24  Jim Meyering  <jim@meyering.net>
42668
42669         filenamecat.c: Add a test.
42670         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
42671         showing how the function works when DIR is the empty string.
42672
42673 2007-09-21  Simon Josefsson  <simon@josefsson.org>
42674
42675         * tests/test-canonicalize.sh: Turn on executable bit.
42676
42677 2007-09-19  Eric Blake  <ebb9@byu.net>
42678
42679         * README: Update CVS instructions.
42680
42681 2007-09-18  Bruno Haible  <bruno@clisp.org>
42682
42683         * modules/areadlink: New file.
42684         * lib/areadlink.h (areadlink): New declaration.
42685         * lib/areadlink.c: New file, based on lib/xreadlink.c.
42686
42687 2007-09-17  Jim Meyering  <jim@meyering.net>
42688
42689         * lib/savewd.c (ESTALE) [!defined]: Define.
42690         Reported to be required on Interix by Martin Koeppe.
42691
42692 2007-09-17  Bruno Haible  <bruno@clisp.org>
42693
42694         * gnulib-tool (func_version): Use $version.
42695
42696 2007-09-16  Bruno Haible  <bruno@clisp.org>
42697
42698         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
42699         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
42700         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
42701         Reported by Greg Schafer <gschafer@zip.com.au>.
42702
42703 2007-09-15  Bruno Haible  <bruno@clisp.org>
42704
42705         * gnulib-tool (sed): Try a little harder to make bash understand the
42706         alias.
42707         Reported by Bruce Korb <bruce.korb@gmail.com>.
42708
42709 2007-09-13  Eric Blake  <ebb9@byu.net>
42710
42711         * ChangeLog: Remove conflict markers.
42712
42713 2007-09-13  Simon Josefsson  <simon@josefsson.org>
42714
42715         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
42716         Reported by Bruno Haible <bruno@clisp.org>.
42717
42718 2007-09-12  Bruno Haible  <bruno@clisp.org>
42719
42720         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
42721         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
42722         is not defined.
42723
42724 2007-09-12  Eric Blake  <ebb9@byu.net>
42725
42726         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
42727         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
42728         Autoconf definition.
42729         * modules/euidaccess (Depends-on): Add extensions, for
42730         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
42731         * modules/fnmatch (Depends-on): Likewise.
42732         * modules/getaddrinfo (Depends-on): Likewise.
42733         * modules/getdelim (Depends-on): Likewise.
42734         * modules/getline (Depends-on): Likewise.
42735         * modules/getsubopt (Depends-on): Likewise.
42736         * modules/gettext (Depends-on): Likewise.
42737         * modules/group-member (Depends-on): Likewise.
42738         * modules/mbchar (Depends-on): Likewise.
42739         * modules/memmem (Depends-on): Likewise.
42740         * modules/mempcpy (Depends-on): Likewise.
42741         * modules/memrchr (Depends-on): Likewise.
42742         * modules/pagealign_alloc (Depends-on): Likewise.
42743         * modules/readutmp (Depends-on): Likewise.
42744         * modules/stpcpy (Depends-on): Likewise.
42745         * modules/stpncpy (Depends-on): Likewise.
42746         * modules/strchrnul (Depends-on): Likewise.
42747         * modules/strndup (Depends-on): Likewise.
42748         * modules/strsep (Depends-on): Likewise.
42749         * modules/strverscmp (Depends-on): Likewise.
42750         * modules/vasprintf (Depends-on): Likewise.
42751         * modules/wcwidth (Depends-on): Likewise.
42752         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
42753         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
42754         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
42755         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
42756         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
42757         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42758         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
42759         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
42760         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
42761         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
42762         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
42763         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
42764         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
42765         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
42766         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
42767         * m4/readutmp.m4 (gl_READUTMP): Likewise.
42768         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
42769         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
42770         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
42771         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
42772         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
42773         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
42774         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
42775         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
42776         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
42777         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
42778         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
42779         so that lock.m4 can be used in gettext without extensions module.
42780
42781 2007-09-11  Bruno Haible  <bruno@clisp.org>
42782
42783         * m4/isc-posix.m4: Remove file.
42784         Suggested by Eric Blake.
42785
42786 2007-09-11  Eric Blake  <ebb9@byu.net>
42787
42788         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
42789
42790 2007-09-10  Bruno Haible  <bruno@clisp.org>
42791
42792         * posix-modules: Fix typo in error message.
42793         Reported by Matt <mkraai@beckman.com>.
42794
42795 2007-09-09  Bruno Haible  <bruno@clisp.org>
42796
42797         * doc/functions/getdelim.texi: Update list of platforms lacking the
42798         function.
42799         * doc/functions/getline.texi: Likewise.
42800
42801 2007-09-09  Jim Meyering  <jim@meyering.net>
42802
42803         * lib/hash.c (hash_initialize): Detect calloc failure.
42804         Reported by Bruno Haible.
42805
42806 2007-09-09  Bruno Haible  <bruno@clisp.org>
42807
42808         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
42809         malloc or realloc fails.
42810
42811 2007-09-09  Bruno Haible  <bruno@clisp.org>
42812
42813         * modules/getcwd (Depends-on): Add malloc-posix.
42814         * modules/glob (Depends-on): Likewise.
42815         * modules/putenv (Depends-on): Likewise.
42816         * modules/strdup (Depends-on): Likewise.
42817         * modules/getdelim (Depends-on): Add realloc-posix.
42818         * modules/read-file (Depends-on): Likewise.
42819
42820 2007-09-09  Bruno Haible  <bruno@clisp.org>
42821
42822         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
42823         (gl_FUNC_MALLOC_POSIX): Require it.
42824         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
42825         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
42826         * modules/realloc (Files): Add m4/malloc.m4.
42827         * modules/calloc (Files): Likewise.
42828
42829 2007-09-09  Bruno Haible  <bruno@clisp.org>
42830
42831         * modules/malloc-posix: New file.
42832         * modules/malloc (Depends-on): Add malloc-posix.
42833         * lib/malloc.c: Include errno.h.
42834         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
42835         and a POSIX-compatible malloc into a single function. Set ENOMEM
42836         when returning NULL.
42837         * m4/malloc.m4: New file.
42838         * doc/functions/malloc.texi: Mention the malloc-posix module.
42839         * lib/stdlib_.h (malloc): New declaration.
42840         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
42841         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
42842         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
42843         and HAVE_MALLOC_POSIX.
42844
42845 2007-09-09  Bruno Haible  <bruno@clisp.org>
42846
42847         * modules/realloc-posix: New file.
42848         * modules/realloc (Depends-on): Add realloc-posix.
42849         * lib/realloc.c: Include errno.h.
42850         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
42851         and a POSIX-compatible realloc into a single function. Set ENOMEM
42852         when returning NULL.
42853         * m4/realloc.m4: New file.
42854         * doc/functions/realloc.texi: Mention the realloc-posix module.
42855         * lib/stdlib_.h (realloc): New declaration.
42856         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
42857         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
42858         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
42859         and HAVE_REALLOC_POSIX.
42860
42861 2007-09-09  Bruno Haible  <bruno@clisp.org>
42862
42863         * modules/calloc-posix: New file.
42864         * modules/calloc (Depends-on): Add calloc-posix.
42865         * lib/calloc.c: Include errno.h.
42866         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
42867         and a POSIX-compatible calloc into a single function. Set ENOMEM
42868         when returning NULL.
42869         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
42870         * doc/functions/calloc.texi: Mention the calloc-posix module.
42871         * lib/stdlib_.h (calloc): New declaration.
42872         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
42873         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
42874         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
42875         and HAVE_CALLOC_POSIX.
42876
42877 2007-09-09  Bruno Haible  <bruno@clisp.org>
42878
42879         Allow for modules to show an arbitrary notice.
42880         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
42881         * gnulib-tool: New option --extract-notice.
42882         (func_usage): Document it.
42883         (sed_extract_prog): Update.
42884         (func_get_notice): New function.
42885         (func_modules_notice): New function.
42886         (func_import, func_create_testdir): Invoke it.
42887         Suggested by Jim Meyering.
42888
42889 2007-09-09  Bruno Haible  <bruno@clisp.org>
42890
42891         * gnulib-tool: New options --verbose, --quiet.
42892         (func_usage): Document them.
42893         (verbose): New variable.
42894         (func_execute_command): New function.
42895         (func_import): Don't show the module list and the file list if
42896         $verbose < 0.
42897         (func_create_testdir): Likewise. Use func_execute_command.
42898         (func_create_megatestdir): Use func_execute_command.
42899
42900 2007-09-08  Bruno Haible  <bruno@clisp.org>
42901
42902         * gnulib-tool (func_import): Prefer rsync over wget when available,
42903         for fetching the PO files.
42904
42905 2007-09-08  Bruno Haible  <bruno@clisp.org>
42906
42907         * posix-modules: New file. Portions copied from gnulib-tool.
42908         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
42909
42910 2007-09-08  Jim Meyering  <jim@meyering.net>
42911
42912         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
42913         * lib/fpending.h: Rename from __fpending.h.
42914         * lib/fpending.c: Rename from __fpending.c.
42915         Include "fpending.h", not "__fpending.h".
42916         * lib/__fpending.h, lib/__fpending.c: Remove files.
42917         * modules/fpending (Files): Reflect new file names.
42918         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
42919
42920 2007-09-08  Bruno Haible  <bruno@clisp.org>
42921
42922         * m4/inttypes-h.m4: Remove stub file.
42923
42924 2007-09-07  Simon Josefsson  <simon@josefsson.org>
42925
42926         * doc/headers/stdint.texi: Discuss #include_next issue.
42927
42928 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42929
42930         * build-aux/bootstrap: Remove obsolete comment about wget --help.
42931
42932 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42933
42934         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
42935         in variable name.
42936
42937 2007-09-03  Jim Meyering  <jim@meyering.net>
42938
42939         New module: git-version-gen.
42940         * modules/git-version-gen: New file.
42941
42942         Import changes from coreutils for bootstrap script.
42943
42944         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
42945
42946         bootstrap: uses rsync to download the .po files
42947         * build-aux/bootstrap (po_download_command_format): New global.
42948         (download_po_files): Use rsync.
42949         (update_po_files): Don't remove .po files after download,
42950         so future rsync runs can take advantage of the copies.
42951
42952         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
42953
42954         Solve the unnecessary-.po-file-regeneration problem once and for all.
42955         * build-aux/bootstrap (download_po_files): New function, renamed from
42956         get_translations.  Now, downloads, but doesn't update LINGUAS.
42957         (update_po_files): New function.
42958
42959         bootstrap: Ignore more.
42960         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
42961         uniwidth to e.g., lib/.gitignore.
42962         (slurp): Handle the sys_stat_.h -> sys mapping, too.
42963
42964         * build-aux/bootstrap: New setting: vc_ignore.
42965         (insert_sorted_if_absent): Create $file if absent.
42966         Adapt to new, possibly empty, list: $vc_ignore.
42967
42968         bootstrap: generate more ignorable names
42969         * build-aux/bootstrap (slurp): When generating ignorable names,
42970         also map .sin to .sed, .gperf to .c, and .y to .c.
42971
42972 2007-09-03  Jim Meyering  <jim@meyering.net>
42973
42974         * build-aux/git-version-gen: New file, from coreutils.  For details, see
42975         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
42976
42977 2007-09-02  Bruno Haible  <bruno@clisp.org>
42978
42979         Fix mis-recognition of 'mcs' on QNX 6.
42980         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
42981         output contains the string "Mono".
42982         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
42983         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
42984
42985 2007-09-01  Bruno Haible  <bruno@clisp.org>
42986
42987         Fix collision between uniwidth/* and linebreak modules.
42988         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
42989         u32_width): Remove declarations.
42990         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
42991         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
42992         streq3, streq2, streq1, streq0): Remove functions.
42993         (STREQ): Remove macro.
42994         (is_cjk_encoding): Remove function.
42995         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
42996         (uc_width, u8_width, u16_width, u32_width): Remove functions.
42997         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
42998         * NEWS: Document the change.
42999
43000 2007-09-01  Bruno Haible  <bruno@clisp.org>
43001
43002         * lib/streq.h: Add double-inclusion guard.
43003
43004 2007-09-01  Karl Berry  <karl@gnu.org>
43005
43006         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
43007
43008 2007-08-28  Jim Meyering  <jim@meyering.net>
43009
43010         Rename mreadlink_with_size to areadlink_with_size.
43011         * NEWS: Document the change.
43012         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
43013         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
43014         * lib/mreadlink.h: Rename this to...
43015         * lib/areadlink.h: ...this.
43016         * modules/mreadlink-with-size: Rename this to...
43017         * modules/areadlink-with-size: ...this.
43018         * lib/canonicalize.c: Reflect the renaming.
43019         * modules/canonicalize: Likewise.
43020
43021 2007-08-26  Bruno Haible  <bruno@clisp.org>
43022
43023         * gnulib-tool (func_import): When deciding which files to remove,
43024         consider also dangling symbolic links.
43025         Reported by Eric Blake.
43026
43027 2007-08-26  Bruno Haible  <bruno@clisp.org>
43028
43029         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
43030
43031 2007-08-23  Simon Josefsson  <simon@josefsson.org>
43032
43033         * lib/readline.c: Don't include getline.h, the prototype is now
43034         found in stdio.h.
43035
43036 2007-08-23  Jim Meyering  <jim@meyering.net>
43037
43038         Getdelim touchup.
43039         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
43040         around the funlockfile call, since funlockfile never sets errno.
43041         Don't set errno upon failed realloc.
43042
43043 2007-08-22  Eric Blake  <ebb9@byu.net>
43044
43045         Getline touchups.
43046         * lib/getdelim.c (getdelim): Revert regression that required *n to
43047         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
43048         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
43049         getdelim, rather than whether implementation is missing.
43050         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
43051         * lib/stdio_.h (getline): Also declare if replacement is
43052         required.
43053         * doc/functions/getdelim.texi: New file.
43054         * doc/functions/getline.texi: Likewise.
43055         * doc/gnulib.texi (Function Substitutes): Add new files.
43056         Reported by Bruno Haible.
43057
43058 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
43059
43060         * users.txt: Add Guile.
43061
43062 2007-08-22  Eric Blake  <ebb9@byu.net>
43063
43064         * tests/test-getdelim.c (main): Use remove, not unlink.
43065         * tests/test-getline.c (main): Likewise.
43066
43067         Move getline and getdelim into stdio.h, per POSIX 200x.
43068         * modules/getline (Files): Remove getline.h.
43069         (Depends-on): Add stdio.
43070         (configure.ac): Add module indicator.
43071         * modules/getdelim (Files): Remove getdelim.h.
43072         (Depends-on): Add stdio.
43073         (configure.ac): Add module indicator.
43074         * modules/stdio (Makefile.am): Work with new indicators.
43075         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43076         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
43077         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
43078         * lib/getdelim.h: Delete.
43079         * lib/getline.h: Delete.
43080         * lib/stdio_.h (getdelim, getline): Declare.
43081         * modules/getdelim-tests: New module.
43082         * modules/getline-tests: Likewise.
43083         * tests/test-getdelim.c: New file.
43084         * tests/test-getline.c: Likewise.
43085         * NEWS: Document the change.
43086         * lib/getline.c: Update choice of header.
43087         * lib/csharpcomp.c: Likewise.
43088         * lib/getpass.c: Likewise.
43089         * lib/javacomp.c: Likewise.
43090         * lib/javaversion.c: Likewise.
43091         * lib/yesno.c: Likewise.
43092         * lib/getdelim.c: Likewise.
43093         (getdelim): Set errno on failure, and avoid memory leak.
43094
43095 2007-08-19  Bruno Haible  <bruno@clisp.org>
43096
43097         * modules/closein (Depends-on): Add freadahead.
43098         * lib/closein.c: Include freadahead.h.
43099         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
43100         is zero.
43101
43102 2007-08-19  Bruno Haible  <bruno@clisp.org>
43103
43104         * modules/freadahead-tests: New file.
43105         * tests/test-freadahead.sh: New file.
43106         * tests/test-freadahead.c: New file.
43107
43108         * modules/freadahead: New file.
43109         * lib/freadahead.h: New file.
43110         * lib/freadahead.c: New file.
43111         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
43112         fbufmode, fpurge, freadable, fwritable.
43113
43114 2007-08-19  Eric Blake  <ebb9@byu.net>
43115
43116         Test yesno in combination with closein.
43117         * lib/yesno.c (yesno): Document use of stdin.
43118         * modules/yesno-tests (Files): New module.
43119         * tests/test-yesno.c (main): New file.
43120         * tests/test-yesno.sh: Likewise.
43121
43122 2007-08-19  Bruno Haible  <bruno@clisp.org>
43123
43124         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
43125         * lib/fseeko.c (rpl_fseeko): Likewise.
43126         * lib/fseterr.c (fseterr): Likewise.
43127
43128 2007-08-19  Bruno Haible  <bruno@clisp.org>
43129
43130         * tests/test-lseek.c (main): Disable a test for BeOS.
43131         * doc/functions/lseek.texi: Document the BeOS bug.
43132
43133 2007-08-19  Bruno Haible  <bruno@clisp.org>
43134             Eric Blake  <ebb9@byu.net>
43135
43136         * lib/lseek.c: Include <sys/stat.h>.
43137         (rpl_lseek): Add workaround code also for Unix platforms.
43138         Needed for BeOS.
43139         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
43140         * doc/functions/lseek.texi: Document BeOS definiency.
43141
43142 2007-08-18  Bruno Haible  <bruno@clisp.org>
43143
43144         * modules/fstrcmp-tests: New file.
43145         * tests/test-fstrcmp.c: New file.
43146
43147 2007-08-18  Bruno Haible  <bruno@clisp.org>
43148
43149         * modules/fstrcmp: New file, from GNU gettext with modifications.
43150         * lib/fstrcmp.h: New file, from GNU gettext.
43151         * lib/fstrcmp.c: New file, from GNU gettext.
43152         * MODULES.html.sh (String handling): Add fstrcmp.
43153
43154 2007-08-18  Bruno Haible  <bruno@clisp.org>
43155
43156         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
43157         'bool'.
43158         (diag, compareseq): Remove const from the ctxt argument.
43159         (USE_HEURISTIC): Undefine at the end.
43160
43161 2007-08-18  Jim Meyering  <jim@meyering.net>
43162
43163         New file: lib/idcache.h
43164         * NEWS: Mention the addition.
43165         * modules/idcache (Files): Add lib/idcache.h
43166         * lib/idcache.c: Include "idcache.h".
43167         Don't include <sys/types.h>.
43168         Add a FIXME comment.
43169         Move file-scoped "static" declarations to the top.
43170         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
43171
43172 2007-08-17  Bruno Haible  <bruno@clisp.org>
43173         and Paul Eggert  <eggert@cs.ucla.edu>
43174
43175         * MODULES.html.sh: Add diffseq.
43176         * modules/diffseq: New file.
43177         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
43178         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
43179
43180 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43181
43182         Import changes from coreutils for bootstrap script.
43183
43184         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
43185
43186         * build-aux/bootstrap (slurp): Work even in environments where
43187         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
43188         current code does not slurp files whose names start with ".", and
43189         this looks like it might be a troublesome area.
43190
43191         2007-07-11  Jim Meyering  <jim@meyering.net>
43192
43193         If there's a GPL vN copyright comment, require that N == 3.
43194
43195         2007-07-08  Jim Meyering  <jim@meyering.net>
43196
43197         Run the coreutils-specific code only if tests/Makefile.am.in exists.
43198         * build-aux/bootstrap (mam_template): Move definition out of loop.
43199
43200         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
43201
43202         * build-aux/bootstrap (symlink_to_dir): Rename function from
43203         symlink_to_gnulib.  Add a directory parameter.  Update all
43204         callers.
43205         (cp_mark_as_generated): Also check for -- and link to -- files in
43206         gl/.
43207
43208         2007-07-08  Jim Meyering  <jim@meyering.net>
43209
43210         Adapt to deeper hierarchy in gnulib.
43211         * build-aux/bootstrap (symlink_to_dir): If the destination
43212         directory doesn't exist, create it. This is required at least for
43213         "lib/uniwidth/cjk.h".
43214
43215         2007-05-15  Jim Meyering  <jim@meyering.net>
43216
43217         * build-aux/bootstrap: Now that generated Makefile.am files
43218         are no longer under version control, they must be created at
43219         bootstrap time.
43220
43221 2007-08-14  Ben Pfaff  <blp@gnu.org>
43222
43223         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
43224
43225 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
43226
43227         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
43228         given the changes below.
43229         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
43230         even on hosts that have padding bits beyond the supported 64.
43231
43232 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
43233
43234         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
43235         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
43236         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
43237         depends on it.
43238         (xstrtol_error): Remove.
43239         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
43240         but with a different signature.
43241         (ATTRIBUTE_NORETURN, __attribute__): New macros.
43242         * lib/xstrtol-error.c: Include exitfail.h.
43243         (xstrtol_fatal): New function, with a different signature from the
43244         old xstrtol_error, so that the caller need not worry about passing
43245         in an exit status, or about storage management of the option argument.
43246         (xstrtol_error): Now a static function.  Redo signature to
43247         implement xstrtol_fatal.  Output the correct number of hyphens in
43248         front of the option so that the caller need not worry about
43249         storage management.
43250         (N_): New macro.
43251         (_): Remove; not used now.
43252         * modules/xstrtol: Depend on getopt.
43253         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
43254         of old STRTOL_FATAL_ERROR macro.
43255         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
43256         of test program.
43257         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
43258         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
43259
43260 2007-08-08  Eric Blake  <ebb9@byu.net>
43261
43262         * lib/xstrtol-error.c: Add missing include.
43263
43264         Move xstrtol messages into gnulib domain, when --pobase is used.
43265         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
43266         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
43267         * modules/xstrtol (Files): Distribute new file.
43268         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
43269         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
43270         * tests/test-xstrtol.c: ...into new file.
43271         * tests/test-xstrtoul.c: Also test xstrtoul.
43272         * tests/test-xstrtoimax.c: Also test xstrtoimax.
43273         * tests/test-xstrtoumax.c: Also test xstrtoumax.
43274         * tests/test-xstrtol.sh: Drive the tests.
43275         * tests/test-xstrtoimax.sh: Likewise.
43276         * tests/test-xstrtoumax.sh: Likewise.
43277         * modules/xstrtol-tests: New module.
43278         * modules/xstrtoimax-tests: Likewise.
43279         * modules/xstrtoumax-tests: Likewise.
43280
43281 2007-08-08  Jim Meyering  <jim@meyering.net>
43282
43283         New function: mfile_name_concat.
43284         * lib/filenamecat.c (mfile_name_concat): New function, just like
43285         file_name_concat, but return NULL upon failure rather than exiting
43286         with a diagnostic.
43287         * lib/filenamecat.h: Declare it.
43288
43289 2007-08-07  Bruno Haible  <bruno@clisp.org>
43290
43291         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
43292         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
43293         warning from gcc.
43294         Reported by Eric Blake.
43295
43296 2007-08-07  Simon Josefsson  <simon@josefsson.org>
43297
43298         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
43299         * modules/crypto/arcfour (License): Likewise.
43300         * modules/crypto/des-tests (License): Likewise.
43301         * modules/crypto/gc-arctwo-tests (License): Likewise.
43302         * modules/crypto/gc-des-tests (License): Likewise.
43303         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
43304         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
43305         * modules/crypto/gc-md2-tests (License): Likewise.
43306         * modules/crypto/gc-md4-tests (License): Likewise.
43307         * modules/crypto/gc-md5-tests (License): Likewise.
43308         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
43309         * modules/crypto/gc-rijndael-tests (License): Likewise.
43310         * modules/crypto/gc-sha1-tests (License): Likewise.
43311         * modules/crypto/gc-tests (License): Likewise.
43312         * modules/crypto/hmac-md5 (License): Likewise.
43313         * modules/crypto/hmac-sha1 (License): Likewise.
43314         * modules/crypto/md2-tests (License): Likewise.
43315         * modules/crypto/md4-tests (License): Likewise.
43316         * modules/crypto/md5 (License): Likewise.
43317         * modules/crypto/rijndael (License): Likewise.
43318         * modules/crypto/sha1 (License): Likewise.
43319         * modules/memxor (License): Likewise.
43320
43321 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
43322         and Bruno Haible  <bruno@clisp.org>
43323
43324         * NEWS: Describe interface changes to human, xstrtol.
43325         * lib/human.h: Include <xstrtol.h>.
43326         (human_options): Return enum strtol_error, not int.  Remove
43327         bool arg; take int * instead.
43328         * lib/human.c: Don't include "gettext.h".
43329         (_): Remove; no longer used.
43330         Don't include <xstrtol.h>, since human.h does it.
43331         (human_options): Adjust to abovementioned interface changes.
43332         Do not report error to stderr; that's now the caller's
43333         responsibility.
43334         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
43335         interface change.
43336         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
43337         Str, Argument_type_string.  All uses changed.  Put " argument"
43338         in diagnostics to make them clearer.  Change wording of suffix
43339         message for clarity.
43340         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
43341         Argument_type_string.
43342         (STRTOL_FATAL_WARN): Remove; no longer used.
43343         * modules/human (Depends-on): Remove gettext-h.
43344
43345 2007-08-06  Simon Josefsson  <simon@josefsson.org>
43346
43347         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
43348
43349 2007-07-31  Bruno Haible  <bruno@clisp.org>
43350
43351         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
43352         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
43353         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
43354
43355 2007-07-31  Bruno Haible  <bruno@clisp.org>
43356
43357         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
43358         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
43359
43360 2007-07-30  Bruno Haible  <bruno@clisp.org>
43361
43362         * modules/base64 (License): Use the synonymous term "LGPLv2+".
43363         * modules/c-ctype (License): Likewise.
43364         * modules/c-strcase (License): Likewise.
43365         * modules/check-version (License): Likewise.
43366         * modules/iconv (License): Likewise.
43367         * modules/iconv_open (License): Likewise.
43368         * modules/read-file (License): Likewise.
43369         * modules/striconv (License): Likewise.
43370         * modules/strverscmp (License): Likewise.
43371         * modules/vasprintf (License): Likewise.
43372         * modules/crypto/des (License): Likewise.
43373         * modules/crypto/gc (License): Likewise.
43374         * modules/crypto/gc-arcfour (License): Likewise.
43375         * modules/crypto/gc-arctwo (License): Likewise.
43376         * modules/crypto/gc-des (License): Likewise.
43377         * modules/crypto/gc-hmac-md5 (License): Likewise.
43378         * modules/crypto/gc-hmac-sha1 (License): Likewise.
43379         * modules/crypto/gc-md2 (License): Likewise.
43380         * modules/crypto/gc-md4 (License): Likewise.
43381         * modules/crypto/gc-md5 (License): Likewise.
43382         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
43383         * modules/crypto/gc-random (License): Likewise.
43384         * modules/crypto/gc-rijndael (License): Likewise.
43385         * modules/crypto/gc-sha1 (License): Likewise.
43386         * modules/crypto/md2 (License): Likewise.
43387         * modules/crypto/md4 (License): Likewise.
43388
43389 2007-07-30  Jim Meyering  <jim@meyering.net>
43390
43391         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
43392         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
43393         it has valid stat data.  This bug would cause du not to count the
43394         sizes of inaccessible directories.
43395         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
43396         in <http://bugzilla.redhat.com/250077>.
43397
43398 2007-07-25  Peter O'Gorman  <peter@pogma.com>
43399             Bruno Haible  <bruno@clisp.org>
43400
43401         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
43402         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
43403         #include_next, gives a diagnostic about it, but reports no error in
43404         the exit code.
43405         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
43406
43407 2007-07-24  Ben Pfaff  <blp@gnu.org>
43408
43409         Improve name: "count-one-bits" is better than "popcount".
43410         * MODULES.html.sh: Update name.
43411         * lib/popcount.h: Renamed lib/count-one-bits.h.
43412         (popcount): Renamed count_one_bits.
43413         (popcountl): Renamed count_one_bits_l.
43414         (popcountll): Renamed count_one_bits_ll.
43415         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
43416         * modules/popcount: Renamed module/count-one-bits.
43417         * modules/popcount-tests: Renamed module/count-one-bits-tests.
43418         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
43419
43420 2007-07-23  Ben Pfaff  <blp@gnu.org>
43421
43422         * lib/popcount.h (popcount32): Reduce size of constants, to allow
43423         better code generation, and add U to large constants to avoid
43424         warnings, in non-GCC case.
43425         Suggested by Bruno Haible.
43426
43427 2007-07-23  Ben Pfaff  <blp@gnu.org>
43428
43429         * lib/popcount.h: Use verify_true instead of if...abort.
43430         * modules/popcount: Depend on verify module.
43431         Suggested by Jim Meyering.
43432
43433 2007-07-23  Bruno Haible  <bruno@clisp.org>
43434
43435         * gnulib-tool (func_import): Create a .cvsignore file also when the
43436         directory is not yet in CVS but the toplevel directory is. When
43437         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
43438         Reported by Karl Berry.
43439
43440 2007-07-22  Ben Pfaff  <blp@gnu.org>
43441
43442         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
43443         case.
43444         Suggested by Eric Blake.
43445
43446 2007-07-22  Ben Pfaff  <blp@gnu.org>
43447
43448         New module: popcount.
43449         * MODULES.html.sh: Add popcount.
43450         * modules/popcount: New file.
43451         * modules/popcount-tests: New file.
43452         * tests/test-popcount.c: New file.
43453         * lib/popcount.h: New file.
43454         * m4/popcount.m4: New file.
43455
43456 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
43457
43458         * build-aux/announce-gen: Update to GPLv3.
43459
43460         * build-aux/config.guess: Update from config.
43461
43462 2007-07-21  Bruno Haible  <bruno@clisp.org>
43463
43464         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
43465         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
43466
43467 2007-07-20  Jim Meyering  <jim@meyering.net>
43468
43469         * check-module: Diagnose a self-dependency.
43470
43471 2007-07-19  Bruno Haible  <bruno@clisp.org>
43472
43473         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
43474         empty.
43475         Reported by Eric Blake.
43476
43477 2007-07-18  Bruno Haible  <bruno@clisp.org>
43478
43479         * gnulib-tool: New options --po-base, --po-domain.
43480         (func_usage): Document them.
43481         (pobase, po_domain): New variables.
43482         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
43483         DEFAULT_TEXT_DOMAIN.
43484         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
43485         (func_import): Consider pobase and po_domain. Create a po/ directory.
43486         (func_create_testdir): Set pobase and po_domain to empty.
43487         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
43488         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
43489
43490 2007-07-18  Bruno Haible  <bruno@clisp.org>
43491
43492         * gnulib-tool (func_get_automake_snippet): Synthesize also an
43493         EXTRA_DIST augmentation for files in build-aux/.
43494
43495 2007-07-16  Bruno Haible  <bruno@clisp.org>
43496
43497         * modules/lseek (License): Use the synonymous term "LGPLv2+".
43498         * modules/getdelim (License): Likewise.
43499
43500 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43501
43502         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
43503         * modules/d-type (License): Likewise.
43504         * modules/extensions (License): Likewise.
43505         * modules/fnmatch (License): Likewise.
43506         * modules/fseeko (License): Likewise.
43507         * modules/getaddrinfo (License): Likewise.
43508         * modules/getline (License): Likewise.
43509         * modules/getlogin_r (License): Likewise.
43510         * modules/getpass (License): Likewise.
43511         * modules/gettimeofday (License): Likewise.
43512         * modules/glob (License): Likewise.
43513         * modules/inet_ntop (License): Likewise.
43514         * modules/malloc (License): Likewise.
43515         * modules/malloca (License): Likewise.
43516         * modules/memmem (License): Likewise.
43517         * modules/mempcpy (License): Likewise.
43518         * modules/memset (License): Likewise.
43519         * modules/minmax (License): Likewise.
43520         * modules/mktime (License): Likewise.
43521         * modules/netinet_in (License): Likewise.
43522         * modules/pathmax (License): Likewise.
43523         * modules/poll (License): Likewise.
43524         * modules/regex (License): Likewise.
43525         * modules/snprintf (License): Likewise.
43526         * modules/stdbool (License): Likewise.
43527         * modules/stdint (License): Likewise.
43528         * modules/stdio (License): Likewise.
43529         * modules/strcase (License): Likewise.
43530         * modules/strcasestr (License): Likewise.
43531         * modules/strdup (License): Likewise.
43532         * modules/string (License): Likewise.
43533         * modules/strndup (License): Likewise.
43534         * modules/strnlen (License): Likewise.
43535         * modules/strpbrk (License): Likewise.
43536         * modules/strptime (License): Likewise.
43537         * modules/strsep (License): Likewise.
43538         * modules/sys_select (License): Likewise.
43539         * modules/sys_socket (License): Likewise.
43540         * modules/sys_stat (License): Likewise.
43541         * modules/sys_time (License): Likewise.
43542         * modules/time (License): Likewise.
43543         * modules/time_r (License): Likewise.
43544         * modules/timegm (License): Likewise.
43545         * modules/unistd (License): Likewise.
43546         * modules/vsnprintf (License): Likewise.
43547         * modules/wctype (License): Likewise.
43548
43549 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43550
43551         * modules/argz (License): LGPLv2+.
43552
43553 2007-07-15  Karl Berry  <karl@gnu.org>
43554
43555         * doc/gnulib.texi: revise node structure per new fdl.texi.
43556
43557 2007-07-14  Bruno Haible  <bruno@clisp.org>
43558
43559         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
43560         the output file.
43561         * lib/uniname/uninames.h: Regenerated.
43562
43563 2007-07-14  Karl Berry  <karl@gnu.org>
43564
43565         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
43566         omitting sectioning and index commands.
43567
43568 2007-07-13  Bruno Haible  <bruno@clisp.org>
43569
43570         New gnulib-tool option --more-symlinks.
43571         * gnulib-tool (func_usage): Document --more-symlinks.
43572         (do_copyrights): New variable.
43573         Recognize option --more-symlinks.
43574         (func_import): Don't add a copyright notice transform to
43575         sed_transform_lib_file if do_copyrights is empty.
43576
43577 2007-07-13  Bruno Haible  <bruno@clisp.org>
43578
43579         * lib/vasnprintf.c (decimal_point_char): Define also if
43580         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
43581         && !NEED_PRINTF_DIRECTIVE_A.
43582         Reported by Clemens Koller <clemens.koller@anagramm.de> via
43583         Gary V. Vaughan <gary@gnu.org>.
43584
43585 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
43586
43587         * lib/inttypes_.h: Undo previous change, since it was fixed
43588         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
43589
43590 2007-07-13  Bruno Haible  <bruno@clisp.org>
43591
43592         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
43593         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
43594
43595 2007-07-13  Jim Meyering  <jim@meyering.net>
43596
43597         df: Don't fail for Tru64's "file-on-file mount".
43598         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
43599         so we fall through and use statfs instead.  Details here:
43600         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
43601         Reported by Albert Chin.
43602
43603 2007-07-13  Bruno Haible  <bruno@clisp.org>
43604
43605         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
43606         * modules/configmake (License): Likewise.
43607         * modules/gettext (License): Likewise.
43608         * modules/gettext-h (License): Likewise.
43609         * modules/include_next (License): Likewise.
43610         * modules/link-warning (License): Likewise.
43611         * modules/localcharset (License): Likewise.
43612         * modules/localename (License): Likewise.
43613         * modules/lock (License): Likewise.
43614         * modules/relocatable-lib-lgpl (License): Likewise.
43615         * modules/size_max (License): Likewise.
43616         * modules/vasnprintf (License): Likewise.
43617         * modules/wchar (License): Likewise.
43618         * modules/xsize (License): Likewise.
43619
43620 2007-07-13  Bruno Haible  <bruno@clisp.org>
43621
43622         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
43623         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
43624
43625 2007-07-12  Bruno Haible  <bruno@clisp.org>
43626
43627         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
43628         in the modules files.
43629
43630 2007-07-11  Karl Berry  <karl@gnu.org>
43631
43632         * MODULES.html.sh (func_module): use
43633          sed -e '\|^'"${includefile}"'$|d'
43634          instead of /.../d, to avoid errors on $includefile's containing /.
43635
43636 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
43637
43638         * gnulib-tool (func_import): Avoid duplication of --avoid
43639         statements
43640         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
43641         names to `_' in variable names.
43642
43643 2007-07-10  Eric Blake  <ebb9@byu.net>
43644
43645         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
43646         * NEWS: Document this change.
43647
43648 2007-07-08  Bruno Haible  <bruno@clisp.org>
43649
43650         Update to Unicode 5.0.
43651         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
43652         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
43653         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
43654         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
43655         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
43656         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
43657         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
43658         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
43659         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
43660         U+10A3F, U+1D242..U+1D244.
43661         (nonspacing_table_ind): Update.
43662         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
43663         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
43664
43665 2007-07-08  Bruno Haible  <bruno@clisp.org>
43666
43667         Update to Unicode 5.0.
43668         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
43669         code transform. Extend the name index field of unicode_name_to_code and
43670         unicode_code_to_name from 16 to 24 bits.
43671         * lib/uniname/uniname.c (unicode_character_name,
43672         unicode_name_character): Add the range 0x12xxx to the code transform.
43673         * lib/uniname/uninames.h: Regenerated.
43674         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
43675
43676 2007-07-07  Bruno Haible  <bruno@clisp.org>
43677
43678         * modules/wcwidth-tests: New file.
43679         * tests/test-wcwidth.c: New file.
43680
43681         Work around MacOS X wcwidth() bug.
43682         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
43683         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
43684         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
43685         original wcwidth in non-UTF-8 locales.
43686         * modules/wcwidth (Depends-on): Add localcharset, streq,
43687         uniwidth/width.
43688         * doc/functions/wcwidth.texi: Update.
43689
43690 2007-07-07  Bruno Haible  <bruno@clisp.org>
43691
43692         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
43693         (wcwidth): New declaration.
43694         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
43695         macros.
43696         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
43697         here. Prepare for creating <wchar.h> unconditionally.
43698         * modules/wchar (Depends-on): Add link-warning.
43699         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
43700         REPLACE_WCWIDTH, and GL_LINK_WARNING.
43701         * lib/wcwidth.h: Remove file.
43702         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
43703         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
43704         * modules/wcwidth (Files): Remove lib/wcwidth.h.
43705         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
43706         (Include): Replace wcwidth.h with <wchar.h>.
43707         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
43708         * lib/mbchar.h: Don't include wcwidth.h.
43709         * lib/mbswidth.c: Likewise.
43710         * NEWS: Mention the change.
43711
43712 2007-07-07  Bruno Haible  <bruno@clisp.org>
43713
43714         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
43715         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
43716         definition with an external declaration.
43717         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
43718         defined as a function. Remove AC_C_INLINE requirement.
43719         * modules/wcwidth (Files): Add lib/wcwidth.c.
43720         (Makefile.am): Remove redundant statement.
43721
43722 2007-07-07  Bruno Haible  <bruno@clisp.org>
43723
43724         * MODULES.html.sh (Unicode string functions): Add the new modules.
43725
43726         * tests/uniwidth/test-u32-strwidth.c: New file.
43727         * modules/uniwidth/u32-strwidth-tests: New file.
43728
43729         * lib/uniwidth/u32-strwidth.c: New file.
43730         * modules/uniwidth/u32-strwidth: New file.
43731
43732         * tests/uniwidth/test-u16-strwidth.c: New file.
43733         * modules/uniwidth/u16-strwidth-tests: New file.
43734
43735         * lib/uniwidth/u16-strwidth.c: New file.
43736         * modules/uniwidth/u16-strwidth: New file.
43737
43738         * tests/uniwidth/test-u8-strwidth.c: New file.
43739         * modules/uniwidth/u8-strwidth-tests: New file.
43740
43741         * lib/uniwidth/u8-strwidth.c: New file.
43742         * modules/uniwidth/u8-strwidth: New file.
43743
43744         * tests/uniwidth/test-u32-width.c: New file.
43745         * modules/uniwidth/u32-width-tests: New file.
43746
43747         * lib/uniwidth/u32-width.c: New file.
43748         * modules/uniwidth/u32-width: New file.
43749
43750         * tests/uniwidth/test-u16-width.c: New file.
43751         * modules/uniwidth/u16-width-tests: New file.
43752
43753         * lib/uniwidth/u16-width.c: New file.
43754         * modules/uniwidth/u16-width: New file.
43755
43756         * tests/uniwidth/test-u8-width.c: New file.
43757         * modules/uniwidth/u8-width-tests: New file.
43758
43759         * lib/uniwidth/u8-width.c: New file.
43760         * modules/uniwidth/u8-width: New file.
43761
43762         * tests/uniwidth/test-uc_width.c: New file.
43763         * modules/uniwidth/width-tests: New file.
43764
43765         * lib/uniwidth/width.c: New file, from GNU libiconv.
43766         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
43767         * modules/uniwidth/width: New file.
43768
43769         * lib/uniwidth.h: New file, from GNU libiconv.
43770         * modules/uniwidth/base: New file.
43771
43772 2007-07-07  Bruno Haible  <bruno@clisp.org>
43773
43774         * lib/uniname.h: New file, from GNU gettext.
43775         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
43776         * lib/uniname/uninames.h: New file, from GNU gettext.
43777         * lib/uniname/uniname.c: New file, from GNU gettext.
43778         * tests/uniname/test-uninames.sh: New file.
43779         * tests/uniname/test-uninames.c: New file, from GNU gettext.
43780         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
43781         * modules/uniname/base: New file.
43782         * modules/uniname/uniname: New file.
43783         * modules/uniname/uniname-tests: New file.
43784         * MODULES.html.sh (Unicode string functions): Add the new modules.
43785
43786 2007-07-06  Bruno Haible  <bruno@clisp.org>
43787
43788         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
43789
43790 2007-07-06  Bruno Haible  <bruno@clisp.org>
43791
43792         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
43793         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
43794         includes <cygwin/sys_time.h> which includes <sys/select.h> which
43795         include <sys/time.h>.
43796         Reported by Eric Blake.
43797
43798 2007-07-06  Eric Blake  <ebb9@byu.net>
43799
43800         Fix testing canonicalize on cygwin.
43801         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
43802         Revert patch from 2007-06-19.
43803         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
43804         canonicalize module is also in use.
43805         * tests/test-canonicalize.c: New file.
43806         * tests/test-canonicalize.sh: Likewise.
43807         * modules/canonicalize-tests: Likewise.
43808
43809 2007-07-06  Jim Meyering  <jim@meyering.net>
43810
43811         * lib/getugroups.c (getugroups): Detect getgrent failure.
43812         Adjust comment to reflect reality: this function may return -1.
43813
43814 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
43815
43816         * build-aux/bootstrap (TP_URL,get_translations): Update to use
43817         the new TP address.
43818         (usage): Fix typo
43819         (gnulib_mk): New variable.
43820
43821 2007-07-05  Jim Meyering  <jim@meyering.net>
43822
43823         Don't let endgrent clobber errno, no matter how improbable.
43824         * lib/getugroups.c (getugroups): Save and restore errno around
43825         endgrent call.
43826
43827         Close the group DB even when failing with 2^31 or more members.
43828         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
43829
43830 2007-07-04  Jim Meyering  <jim@meyering.net>
43831
43832         * lib/getugroups.h: New file.
43833         * lib/getugroups.c: Include "getugroups.h".
43834         Remove uses of "register" keyword.
43835         Move local variable, "cp", down into scope where used.
43836         Give "username" parameter the "const" attribute.
43837         * modules/getugroups (Files): Add lib/getugroups.h
43838
43839 2007-07-04  Karl Berry  <karl@gnu.org>
43840
43841         * MODULES.html.sh (func_all_modules): Complete rename of
43842         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
43843
43844 2007-07-02  Bruno Haible  <bruno@clisp.org>
43845
43846         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
43847         mode, when inttypes.h comes from gnulib.
43848         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
43849
43850 2007-07-02  Simon Josefsson  <simon@josefsson.org>
43851
43852         * NEWS: Mention lgpl module name change.
43853
43854         * modules/lgpl-2.1: Renamed from lgpl.
43855
43856         * NEWS: Mention gpl module name change.
43857
43858         * modules/gpl-3.0: New file, based on gpl-2.0.
43859
43860         * modules/gpl-2.0: Renamed from gpl.
43861
43862         * modules/gpl: Fix filename, doc/gpl.texi is now found at
43863         doc/gpl-2.0.texi.
43864
43865 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
43866
43867         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
43868         #define __STDC_LIMIT_MACROS temporarily while including
43869         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
43870         Problem reported by Joel E. Denny in
43871         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
43872
43873 2007-07-01  Bruno Haible  <bruno@clisp.org>
43874
43875         * lib/unistdio.h: New file.
43876         * lib/unistdio/u-asnprintf.h: New file.
43877         * lib/unistdio/u-asprintf.h: New file.
43878         * lib/unistdio/u-printf-args.c: New file.
43879         * lib/unistdio/u-printf-args.h: New file.
43880         * lib/unistdio/u-printf-parse.h: New file.
43881         * lib/unistdio/u-snprintf.h: New file.
43882         * lib/unistdio/u-sprintf.h: New file.
43883         * lib/unistdio/u-vasprintf.h: New file.
43884         * lib/unistdio/u-vsnprintf.h: New file.
43885         * lib/unistdio/u-vsprintf.h: New file.
43886         * lib/unistdio/ulc-asnprintf.c: New file.
43887         * lib/unistdio/ulc-asprintf.c: New file.
43888         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
43889         * lib/unistdio/ulc-printf-parse.c: New file.
43890         * lib/unistdio/ulc-snprintf.c: New file.
43891         * lib/unistdio/ulc-sprintf.c: New file.
43892         * lib/unistdio/ulc-vasnprintf.c: New file.
43893         * lib/unistdio/ulc-vasprintf.c: New file.
43894         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
43895         * lib/unistdio/ulc-vsnprintf.c: New file.
43896         * lib/unistdio/ulc-vsprintf.c: New file.
43897         * lib/unistdio/u8-asnprintf.c: New file.
43898         * lib/unistdio/u8-asprintf.c: New file.
43899         * lib/unistdio/u8-printf-parse.c: New file.
43900         * lib/unistdio/u8-snprintf.c: New file.
43901         * lib/unistdio/u8-sprintf.c: New file.
43902         * lib/unistdio/u8-vasnprintf.c: New file.
43903         * lib/unistdio/u8-vasprintf.c: New file.
43904         * lib/unistdio/u8-vsnprintf.c: New file.
43905         * lib/unistdio/u8-vsprintf.c: New file.
43906         * lib/unistdio/u8-u8-asnprintf.c: New file.
43907         * lib/unistdio/u8-u8-asprintf.c: New file.
43908         * lib/unistdio/u8-u8-snprintf.c: New file.
43909         * lib/unistdio/u8-u8-sprintf.c: New file.
43910         * lib/unistdio/u8-u8-vasnprintf.c: New file.
43911         * lib/unistdio/u8-u8-vasprintf.c: New file.
43912         * lib/unistdio/u8-u8-vsnprintf.c: New file.
43913         * lib/unistdio/u8-u8-vsprintf.c: New file.
43914         * lib/unistdio/u16-asnprintf.c: New file.
43915         * lib/unistdio/u16-asprintf.c: New file.
43916         * lib/unistdio/u16-printf-parse.c: New file.
43917         * lib/unistdio/u16-snprintf.c: New file.
43918         * lib/unistdio/u16-sprintf.c: New file.
43919         * lib/unistdio/u16-vasnprintf.c: New file.
43920         * lib/unistdio/u16-vasprintf.c: New file.
43921         * lib/unistdio/u16-vsnprintf.c: New file.
43922         * lib/unistdio/u16-vsprintf.c: New file.
43923         * lib/unistdio/u16-u16-asnprintf.c: New file.
43924         * lib/unistdio/u16-u16-asprintf.c: New file.
43925         * lib/unistdio/u16-u16-snprintf.c: New file.
43926         * lib/unistdio/u16-u16-sprintf.c: New file.
43927         * lib/unistdio/u16-u16-vasnprintf.c: New file.
43928         * lib/unistdio/u16-u16-vasprintf.c: New file.
43929         * lib/unistdio/u16-u16-vsnprintf.c: New file.
43930         * lib/unistdio/u16-u16-vsprintf.c: New file.
43931         * lib/unistdio/u32-asnprintf.c: New file.
43932         * lib/unistdio/u32-asprintf.c: New file.
43933         * lib/unistdio/u32-printf-parse.c: New file.
43934         * lib/unistdio/u32-snprintf.c: New file.
43935         * lib/unistdio/u32-sprintf.c: New file.
43936         * lib/unistdio/u32-vasnprintf.c: New file.
43937         * lib/unistdio/u32-vasprintf.c: New file.
43938         * lib/unistdio/u32-vsnprintf.c: New file.
43939         * lib/unistdio/u32-vsprintf.c: New file.
43940         * lib/unistdio/u32-u32-asnprintf.c: New file.
43941         * lib/unistdio/u32-u32-asprintf.c: New file.
43942         * lib/unistdio/u32-u32-snprintf.c: New file.
43943         * lib/unistdio/u32-u32-sprintf.c: New file.
43944         * lib/unistdio/u32-u32-vasnprintf.c: New file.
43945         * lib/unistdio/u32-u32-vasprintf.c: New file.
43946         * lib/unistdio/u32-u32-vsnprintf.c: New file.
43947         * lib/unistdio/u32-u32-vsprintf.c: New file.
43948         * tests/unistdio/test-ulc-asnprintf1.c: New file.
43949         * tests/unistdio/test-ulc-asnprintf1.h: New file.
43950         * tests/unistdio/test-ulc-printf1.h: New file.
43951         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
43952         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
43953         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
43954         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
43955         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
43956         * tests/unistdio/test-ulc-vasprintf1.c: New file.
43957         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
43958         * tests/unistdio/test-ulc-vsprintf1.c: New file.
43959         * tests/unistdio/test-u8-asnprintf1.c: New file.
43960         * tests/unistdio/test-u8-asnprintf1.h: New file.
43961         * tests/unistdio/test-u8-printf1.h: New file.
43962         * tests/unistdio/test-u8-vasnprintf1.c: New file.
43963         * tests/unistdio/test-u8-vasnprintf2.c: New file.
43964         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
43965         * tests/unistdio/test-u8-vasnprintf3.c: New file.
43966         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
43967         * tests/unistdio/test-u8-vasprintf1.c: New file.
43968         * tests/unistdio/test-u8-vsnprintf1.c: New file.
43969         * tests/unistdio/test-u8-vsprintf1.c: New file.
43970         * tests/unistdio/test-u16-asnprintf1.c: New file.
43971         * tests/unistdio/test-u16-asnprintf1.h: New file.
43972         * tests/unistdio/test-u16-printf1.h: New file.
43973         * tests/unistdio/test-u16-vasnprintf1.c: New file.
43974         * tests/unistdio/test-u16-vasnprintf2.c: New file.
43975         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
43976         * tests/unistdio/test-u16-vasnprintf3.c: New file.
43977         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
43978         * tests/unistdio/test-u16-vasprintf1.c: New file.
43979         * tests/unistdio/test-u16-vsnprintf1.c: New file.
43980         * tests/unistdio/test-u16-vsprintf1.c: New file.
43981         * tests/unistdio/test-u32-asnprintf1.c: New file.
43982         * tests/unistdio/test-u32-asnprintf1.h: New file.
43983         * tests/unistdio/test-u32-printf1.h: New file.
43984         * tests/unistdio/test-u32-vasnprintf1.c: New file.
43985         * tests/unistdio/test-u32-vasnprintf2.c: New file.
43986         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
43987         * tests/unistdio/test-u32-vasnprintf3.c: New file.
43988         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
43989         * tests/unistdio/test-u32-vasprintf1.c: New file.
43990         * tests/unistdio/test-u32-vsnprintf1.c: New file.
43991         * tests/unistdio/test-u32-vsprintf1.c: New file.
43992         * modules/unistdio/base: New file.
43993         * modules/unistdio/u-printf-args: New file.
43994         * modules/unistdio/ulc-asnprintf: New file.
43995         * modules/unistdio/ulc-asprintf: New file.
43996         * modules/unistdio/ulc-fprintf: New file.
43997         * modules/unistdio/ulc-printf-parse: New file.
43998         * modules/unistdio/ulc-snprintf: New file.
43999         * modules/unistdio/ulc-sprintf: New file.
44000         * modules/unistdio/ulc-vasnprintf: New file.
44001         * modules/unistdio/ulc-vasprintf: New file.
44002         * modules/unistdio/ulc-vfprintf: New file.
44003         * modules/unistdio/ulc-vsnprintf: New file.
44004         * modules/unistdio/ulc-vsprintf: New file.
44005         * modules/unistdio/u8-asnprintf: New file.
44006         * modules/unistdio/u8-asprintf: New file.
44007         * modules/unistdio/u8-printf-parse: New file.
44008         * modules/unistdio/u8-snprintf: New file.
44009         * modules/unistdio/u8-sprintf: New file.
44010         * modules/unistdio/u8-vasnprintf: New file.
44011         * modules/unistdio/u8-vasprintf: New file.
44012         * modules/unistdio/u8-vsnprintf: New file.
44013         * modules/unistdio/u8-vsprintf: New file.
44014         * modules/unistdio/u8-u8-asnprintf: New file.
44015         * modules/unistdio/u8-u8-asprintf: New file.
44016         * modules/unistdio/u8-u8-snprintf: New file.
44017         * modules/unistdio/u8-u8-sprintf: New file.
44018         * modules/unistdio/u8-u8-vasnprintf: New file.
44019         * modules/unistdio/u8-u8-vasprintf: New file.
44020         * modules/unistdio/u8-u8-vsnprintf: New file.
44021         * modules/unistdio/u8-u8-vsprintf: New file.
44022         * modules/unistdio/u16-asnprintf: New file.
44023         * modules/unistdio/u16-asprintf: New file.
44024         * modules/unistdio/u16-printf-parse: New file.
44025         * modules/unistdio/u16-snprintf: New file.
44026         * modules/unistdio/u16-sprintf: New file.
44027         * modules/unistdio/u16-vasnprintf: New file.
44028         * modules/unistdio/u16-vasprintf: New file.
44029         * modules/unistdio/u16-vsnprintf: New file.
44030         * modules/unistdio/u16-vsprintf: New file.
44031         * modules/unistdio/u16-u16-asnprintf: New file.
44032         * modules/unistdio/u16-u16-asprintf: New file.
44033         * modules/unistdio/u16-u16-snprintf: New file.
44034         * modules/unistdio/u16-u16-sprintf: New file.
44035         * modules/unistdio/u16-u16-vasnprintf: New file.
44036         * modules/unistdio/u16-u16-vasprintf: New file.
44037         * modules/unistdio/u16-u16-vsnprintf: New file.
44038         * modules/unistdio/u16-u16-vsprintf: New file.
44039         * modules/unistdio/u32-asnprintf: New file.
44040         * modules/unistdio/u32-asprintf: New file.
44041         * modules/unistdio/u32-printf-parse: New file.
44042         * modules/unistdio/u32-snprintf: New file.
44043         * modules/unistdio/u32-sprintf: New file.
44044         * modules/unistdio/u32-vasnprintf: New file.
44045         * modules/unistdio/u32-vasprintf: New file.
44046         * modules/unistdio/u32-vsnprintf: New file.
44047         * modules/unistdio/u32-vsprintf: New file.
44048         * modules/unistdio/u32-u32-asnprintf: New file.
44049         * modules/unistdio/u32-u32-asprintf: New file.
44050         * modules/unistdio/u32-u32-snprintf: New file.
44051         * modules/unistdio/u32-u32-sprintf: New file.
44052         * modules/unistdio/u32-u32-vasnprintf: New file.
44053         * modules/unistdio/u32-u32-vasprintf: New file.
44054         * modules/unistdio/u32-u32-vsnprintf: New file.
44055         * modules/unistdio/u32-u32-vsprintf: New file.
44056         * modules/unistdio/ulc-asnprintf-tests: New file.
44057         * modules/unistdio/ulc-vasnprintf-tests: New file.
44058         * modules/unistdio/ulc-vasprintf-tests: New file.
44059         * modules/unistdio/ulc-vsnprintf-tests: New file.
44060         * modules/unistdio/ulc-vsprintf-tests: New file.
44061         * modules/unistdio/u8-asnprintf-tests: New file.
44062         * modules/unistdio/u8-vasnprintf-tests: New file.
44063         * modules/unistdio/u8-vasprintf-tests: New file.
44064         * modules/unistdio/u8-vsnprintf-tests: New file.
44065         * modules/unistdio/u8-vsprintf-tests: New file.
44066         * modules/unistdio/u16-asnprintf-tests: New file.
44067         * modules/unistdio/u16-vasnprintf-tests: New file.
44068         * modules/unistdio/u16-vasprintf-tests: New file.
44069         * modules/unistdio/u16-vsnprintf-tests: New file.
44070         * modules/unistdio/u16-vsprintf-tests: New file.
44071         * modules/unistdio/u32-asnprintf-tests: New file.
44072         * modules/unistdio/u32-vasnprintf-tests: New file.
44073         * modules/unistdio/u32-vasprintf-tests: New file.
44074         * modules/unistdio/u32-vsnprintf-tests: New file.
44075         * modules/unistdio/u32-vsprintf-tests: New file.
44076         * MODULES.html.sh (Unicode string functions): Add the new modules.
44077
44078 2007-07-01  Bruno Haible  <bruno@clisp.org>
44079
44080         * lib/sprintf.c (sprintf): Limit the available length estimation,
44081         to avoid address wraparound.
44082         * lib/vsprintf.c (vsprintf): Likewise.
44083         * modules/sprintf-posix (Dependencies): Add stdint.
44084         * modules/vsprintf-posix (Dependencies): Likewise.
44085
44086 2007-07-01  Bruno Haible  <bruno@clisp.org>
44087
44088         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
44089         Windows PATH as well. Conservative double-quoting. Comments.
44090
44091 2007-07-01  Bruno Haible  <bruno@clisp.org>
44092             Eric Blake  <ebb9@byu.net>
44093             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44094
44095         * gnulib-tool (self_abspathname): Fix algorithm to cope with
44096         empty components in $PATH, denoting '.'.
44097
44098 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44099
44100         * gnulib-tool: Fix indentation.
44101         (func_create_megatestdir): Likewise.
44102         Report by Bruno Haible.
44103
44104 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44105
44106         Sync from Automake.
44107         * build-aux/gnupload: Fix shell portability issues with for loops.
44108         Report by Karl Berry.
44109
44110 2007-06-29  Simon Josefsson  <simon@josefsson.org>
44111
44112         * build-aux/maint.mk (POURL): Use translationproject.org.
44113
44114 2007-06-27  Simon Josefsson  <simon@josefsson.org>
44115             Bruno Haible  <bruno@clisp.org>
44116
44117         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
44118         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
44119         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
44120         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
44121         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
44122
44123 2007-06-27  Bruno Haible  <bruno@clisp.org>
44124
44125         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
44126         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
44127
44128 2007-06-26  Karl Berry  <karl@gnu.org>
44129
44130         * MODULES.html.sh: remove xreadlink-with-size.
44131
44132 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
44133
44134         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
44135         method that I hope also handles the double-include problem noted
44136         by Bruno Haible in
44137         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
44138
44139 2007-06-23  Bruno Haible  <bruno@clisp.org>
44140
44141         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
44142         Don't let the 'mostlyclean' target fail if the last subdirectory could
44143         not be removed.
44144         Reported by Karl Berry.
44145
44146 2007-06-23  Bruno Haible  <bruno@clisp.org>
44147
44148         * gnulib-tool (echo): Add a speedier workaround for ksh.
44149         * tests/test-echo.sh: Likewise.
44150
44151 2007-06-23  Bruno Haible  <bruno@clisp.org>
44152
44153         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
44154         * tests/test-echo.sh: Likewise.
44155
44156 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44157
44158         * gnulib-tool (IFS): Initialize early, so we don't set it to
44159         empty later.
44160         (self_abspathname): Rewrite algorithm to set it, reindent.
44161         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
44162         (func_create_megatestdir): Merge some sed scripts.
44163
44164 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
44165
44166         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
44167         exposed by Sun Studio 11 cc on Solaris 8.
44168
44169 2007-06-22  Bruno Haible  <bruno@clisp.org>
44170
44171         * gnulib-tool (echo): Ensure the echo primitive does not interpret
44172         backslashes.
44173         * tests/test-echo.sh: New file.
44174
44175 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44176
44177         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
44178         simplify `sed_replace_build_aux' scripts, they are portable but
44179         echoing them with `echo' is not.
44180         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
44181
44182 2007-06-21  Karl Berry  <karl@gnu.org>
44183
44184         * config/srclist.txt: guess we can't handle the licenses via
44185         srclist at the moment.
44186
44187 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
44188
44189         * MODULES.html.sh: Add include_next.
44190         * modules/include_next: New file.
44191
44192 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
44193
44194         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
44195         INCLUDE_NEXT.
44196         (gl_CHECK_NEXT_HEADERS): New macro.
44197         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
44198         the obsolescent gl_ABSOLUTE_HEADER.
44199         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
44200         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
44201         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
44202         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
44203         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
44204         * m4/math_h.m4 (gl_MATH_H): Likewise.
44205         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
44206         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
44207         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
44208         * m4/stdint.m4 (gl_STDINT_H): Likewise.
44209         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
44210         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
44211         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
44212         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
44213         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
44214         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
44215         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
44216         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
44217         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
44218         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
44219         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44220         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44221         * m4/inttypes.m4 (gl_INTTYPES_H): Define
44222         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
44223         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
44224         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
44225         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
44226         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
44227         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
44228         * lib/float_.h: Likewise.
44229         * lib/inttypes_.h: Likewise.
44230         * lib/math_.h: Likewise.
44231         * lib/search_.h: Likewise.
44232         * lib/signal_.h: Likewise.
44233         * lib/stdint_.h: Likewise.
44234         * lib/stdio_.h: Likewise.
44235         * lib/stdlib_.h: Likewise.
44236         * lib/string_.h: Likewise.
44237         * lib/sys_stat_.h: Likewise.
44238         * lib/sys_time_.h: Likewise.
44239         * lib/time_.h: Likewise.
44240         * lib/unistd_.h: Likewise.
44241         * lib/wchar_.h: Likewise.
44242         * lib/wctype_.h: Likewise.
44243         * lib/dirent_.h: Likewise.
44244         * lib/iconv_.h: Likewise.
44245         * lib/locale_.h: Likewise.
44246         * lib/netinet_in_.h: Likewise.
44247         * lib/sys_select_.h: Likewise.
44248         * lib/sys_socket_.h: Likewise.
44249         * lib/sysexits_.h: Likewise.
44250         * modules/fcntl (Depends-on): Depend on include_next, not
44251         absolute_header.
44252         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
44253         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
44254         * modules/fchdir: Likewise.
44255         * modules/float: Likewise.
44256         * modules/iconv_open: Likewise.
44257         * modules/inttypes: Likewise.
44258         * modules/locale: Likewise.
44259         * modules/math: Likewise.
44260         * modules/netinet_in: Likewise.
44261         * modules/search: Likewise.
44262         * modules/signal: Likewise.
44263         * modules/stdint: Likewise.
44264         * modules/stdio: Likewise.
44265         * modules/stdlib: Likewise.
44266         * modules/string: Likewise.
44267         * modules/sys_select: Likewise.
44268         * modules/sys_socket: Likewise.
44269         * modules/sys_stat: Likewise.
44270         * modules/sys_time: Likewise.
44271         * modules/sysexits: Likewise.
44272         * modules/time: Likewise.
44273         * modules/unistd: Likewise.
44274         * modules/wchar: Likewise.
44275         * modules/wctype: Likewise.
44276         * modules/sys_stat: Change maintainer to "all".
44277         * modules/unistd: Likewise.
44278
44279 2007-06-20  Karl Berry  <karl@gnu.org>
44280
44281         * config/srclist.txt: track www changes in license files.
44282
44283 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
44284
44285         * build-aux/bootstrap: Remove stray dot.
44286         Make sure build_aux settings are honored when linking
44287         gnulib_extra_files.
44288
44289 2007-06-19  Eric Blake  <ebb9@byu.net>
44290
44291         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
44292         Allow compilation on cygwin.
44293
44294 2007-06-19  Jim Meyering  <jim@meyering.net>
44295
44296         xreadlink-with-size: Remove module.  No longer used.
44297         Ex-callers now use xreadlink or mreadlink-with-size.
44298         * modules/xreadlink-with-size: Remove module.
44299         * lib/xreadlink-with-size.c: Remove file.
44300         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
44301         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
44302         just before the function definition *is* accurate.
44303
44304         Eliminate one way canonicalize_filename_mode could exit.
44305         * lib/canonicalize.c (canonicalize_filename_mode):
44306         Use mreadlink_with_size, not xreadlink_with_size.
44307
44308 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
44309
44310         Detect porting problems to FreeBSD/arm, which has time_t wider than
44311         long int.  Original problem reported for GNU diff by Xin Li in
44312         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
44313         * modules/getdate (Depends-on): Add intprops, verify.
44314         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
44315         is an integer type no wider than long int.
44316
44317 2007-06-18  Jim Meyering  <jim@meyering.net>
44318
44319         New module: mreadlink-with-size.
44320         * MODULES.html.sh: Add mreadlink-with-size.
44321         * modules/mreadlink-with-size: New module
44322         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
44323         not xreadlink-with-size.
44324         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
44325
44326 2007-06-16  Bruno Haible  <bruno@clisp.org>
44327
44328         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
44329         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
44330         Reported by Gary V. Vaughan <gary@gnu.org>.
44331
44332 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
44333
44334         Revamp lchown so that it lives in unistd.h where it belongs.
44335         * lib/lchown.h: Remove.
44336         * lib/dirchownmod.c: Don't include lib/lchown.h.
44337         * lib/fchownat.c: Likewise.
44338         * lib/openat.c: Likewise.
44339         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
44340         does not follow symlinks.
44341         (EOPNOTSUPP): Define if not defined.
44342         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
44343         is defined to 0.
44344         (lchown): New decl.
44345         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
44346         Do not check for lchown decl.
44347         Set REPLACE_LCHOWN.
44348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
44349         REPLACE_LCHOWN.
44350         * modules/chown: Make it clear it follows symlinks.
44351         * modules/lchown: Make it clear it doesn't follow symlinks.
44352         (Files): Remove lib/lchown.h
44353         (Depends-on): Add unistd.
44354         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
44355         (Include): Include <unistd.h>, not "lchown.h".
44356         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
44357         REPLACE_LCHOWN.
44358
44359 2007-06-15  Jim Meyering  <jim@meyering.net>
44360
44361         Change license (GPL to LGPL) of fsusage and dependents.
44362         * modules/fsusage (License): Change to LGPL.
44363         * modules/full-read (License): Likewise.
44364         * modules/full-write (License): Likewise.
44365         * modules/safe-read (License): Likewise.
44366         * modules/safe-write (License): Likewise.
44367
44368 2007-06-14  Ben Pfaff  <blp@gnu.org>
44369
44370         Missing part of allocsa -> malloca transition.
44371         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
44372         gl_MALLOCA.
44373
44374 2007-06-12  Bruno Haible  <bruno@clisp.org>
44375
44376         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
44377         to ia64, x86_64, i386.
44378         Reported by Eric Blake.
44379
44380 2007-06-12  Bruno Haible  <bruno@clisp.org>
44381
44382         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
44383         cross-compiling to x86_64.
44384
44385 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
44386
44387         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
44388         glitch reported by Ralf Wildenhues in
44389         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
44390
44391         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
44392         Vin Shelton.
44393
44394 2007-06-11  Bruno Haible  <bruno@clisp.org>
44395
44396         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
44397         replacement string.
44398         Reported by Eric Blake.
44399
44400 2007-06-10  Bruno Haible  <bruno@clisp.org>
44401
44402         Prepare vasnprintf code for use with Unicode strings.
44403         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
44404         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
44405         TYPE_U32_STRING.
44406         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
44407         a_u32_string variants.
44408         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
44409         * lib/printf-args.c: Don't include config.h and the specification
44410         header if PRINTF_FETCHARGS is already defined.
44411         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
44412         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
44413         TYPE_U16_STRING, TYPE_U32_STRING.
44414         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
44415         u16_directive, u16_directives, u32_directive, u32_directives): New
44416         types.
44417         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
44418         New declarations.
44419         * lib/printf-parse.c: Don't include config.h and the specification
44420         header if PRINTF_PARSE is already defined. Eliminate the set of
44421         parameters for WIDE_CHAR_VERSION; the user of this file must provide
44422         them now. Include c-ctype.h.
44423         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
44424         directive and CHAR_T_ONLY_ASCII.
44425         * lib/vasnprintf.c: Don't include config.h and the specification header
44426         if VASNPRINTF is already defined.
44427         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
44428         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
44429         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
44430         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
44431         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
44432         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
44433         code accordingly.
44434         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
44435         pad_ourselves also in this case, with the 'c' and 's' directives, and
44436         with a different notion of "width".
44437         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
44438
44439 2007-06-10  Bruno Haible  <bruno@clisp.org>
44440
44441         * modules/unistr/u32-mbsnlen: New file.
44442         * lib/unistr/u32-mbsnlen.c: New file.
44443
44444         * modules/unistr/u16-mbsnlen: New file.
44445         * lib/unistr/u16-mbsnlen.c: New file.
44446
44447         * modules/unistr/u8-mbsnlen: New file.
44448         * lib/unistr/u8-mbsnlen.c: New file.
44449
44450         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
44451         declarations.
44452
44453 2007-06-10  Bruno Haible  <bruno@clisp.org>
44454
44455         * lib/string_.h (mbsnlen): New declaration.
44456         * lib/mbsnlen.c: New file.
44457         * m4/mbsnlen.m4: New file.
44458         * modules/mbsnlen: New file.
44459         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
44460         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
44461         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
44462
44463 2007-06-10  Bruno Haible  <bruno@clisp.org>
44464
44465         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
44466
44467 2007-06-10  Bruno Haible  <bruno@clisp.org>
44468
44469         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
44470         * lib/mbuiter.h: Likewise.
44471
44472 2007-06-10  Bruno Haible  <bruno@clisp.org>
44473
44474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
44475         declaration.
44476
44477 2007-06-10  Karl Berry  <karl@gnu.org>
44478
44479         * config/srclist.txt: remove gettext entries, Bruno prefers
44480         to update individually.
44481
44482 2007-06-10  Bruno Haible  <bruno@clisp.org>
44483
44484         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
44485         'maxlen'. Ensure only length + width bytes are allocated, not
44486         length + 1 + width.
44487
44488 2007-06-09  Bruno Haible  <bruno@clisp.org>
44489
44490         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
44491         (CHAR_T): Remove macro.
44492         (VASNPRINTF): Update.
44493
44494 2007-06-09  Bruno Haible  <bruno@clisp.org>
44495
44496         * MODULES.html.sh (Unicode string functions): Add the new modules.
44497
44498         * modules/uniconv/u32-conv-to-enc: New file.
44499         * lib/uniconv/u32-conv-to-enc.c: New file.
44500         * modules/uniconv/u32-conv-to-enc-tests: New file.
44501         * tests/uniconv/test-u32-conv-to-enc.c: New file.
44502
44503         * modules/uniconv/u16-conv-to-enc: New file.
44504         * lib/uniconv/u16-conv-to-enc.c: New file.
44505         * lib/uniconv/u-conv-to-enc.h: New file.
44506         * modules/uniconv/u16-conv-to-enc-tests: New file.
44507         * tests/uniconv/test-u16-conv-to-enc.c: New file.
44508
44509         * modules/uniconv/u8-conv-to-enc: New file.
44510         * lib/uniconv/u8-conv-to-enc.c: New file.
44511         * modules/uniconv/u8-conv-to-enc-tests: New file.
44512         * tests/uniconv/test-u8-conv-to-enc.c: New file.
44513
44514         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
44515         u32_conv_to_encoding): New declarations.
44516
44517 2007-06-09  Bruno Haible  <bruno@clisp.org>
44518
44519         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
44520
44521 2007-06-09  Bruno Haible  <bruno@clisp.org>
44522
44523         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
44524         * modules/malloca: Renamed from modules/allocsa, updated.
44525         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
44526         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
44527         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
44528         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
44529         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
44530         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
44531         * modules/xmalloca: Renamed from modules/xallocsa, updated.
44532         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
44533         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
44534         * modules/c-strcasestr (Depends-on): Update.
44535         * lib/c-strcasestr.c: Update.
44536         * modules/c-strstr (Depends-on): Update.
44537         * lib/c-strstr.c: Update.
44538         * modules/canonicalize-lgpl (Depends-on): Update.
44539         * lib/canonicalize-lgpl.c: Update.
44540         * modules/clean-temp (Depends-on): Update.
44541         * lib/clean-temp.c: Update.
44542         * modules/csharpcomp (Depends-on): Update.
44543         * lib/csharpcomp.c: Update.
44544         * modules/csharpexec (Depends-on): Update.
44545         * lib/csharpexec.c: Update.
44546         * modules/javacomp (Depends-on): Update.
44547         * lib/javacomp.c: Update.
44548         * modules/javaexec (Depends-on): Update.
44549         * lib/javaexec.c: Update.
44550         * modules/mbscasestr (Depends-on): Update.
44551         * lib/mbscasestr.c: Update.
44552         * modules/mbsstr (Depends-on): Update.
44553         * lib/mbsstr.c: Update.
44554         * modules/setenv (Depends-on): Update.
44555         * lib/setenv.c: Update.
44556         * modules/strcasestr (Depends-on): Update.
44557         * lib/strcasestr.c: Update.
44558         * modules/striconveha (Depends-on): Update.
44559         * lib/striconveha.c: Update.
44560         * modules/relocatable-prog-wrapper (Files): Update.
44561         * lib/relocwrapper.c: Update.
44562         * build-aux/install-reloc: Update.
44563         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
44564
44565 2007-06-08  Bruno Haible  <bruno@clisp.org>
44566
44567         Port to uClibc.
44568         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
44569         * lib/fpurge.c (fpurge): Likewise.
44570         * lib/freading.c (freading): Likewise.
44571         * lib/fseeko.c (rpl_fseeko): Likewise.
44572         * lib/fseterr.c (fseterr): Likewise.
44573         * lib/fwriting.c (fwriting): Likewise.
44574         * tests/test-fflush.c (main): Avoid a failure on uClibc.
44575
44576 2007-06-08  Bruno Haible  <bruno@clisp.org>
44577
44578         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
44579         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
44580         * modules/gettext (Files): Add m4/intlmacosx.m4.
44581
44582 2007-06-07  Bruno Haible  <bruno@clisp.org>
44583
44584         * modules/localename-tests: New file.
44585         * tests/test-localename.c: New file.
44586
44587         New module 'localename'.
44588         * lib/localename.h: New file.
44589         * lib/localename.c: New file, from GNU gettext.
44590         * m4/localename.m4: New file.
44591         * modules/localename: New file.
44592
44593 2007-06-07  Bruno Haible  <bruno@clisp.org>
44594
44595         Work around the lack of <wchar.h> on some builds of uClibc.
44596         * doc/headers/wchar.texi: Update.
44597         * lib/wchar_.h: Include <wchar.h> only if it exists.
44598         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
44599         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
44600         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
44601         doesn't exist.
44602         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
44603         * modules/mbfile (Depends-on): Add wchar.
44604         * modules/mbiter (Depends-on): Likewise.
44605         * modules/mbuiter (Depends-on): Likewise.
44606         Reported by Simon Josefsson.
44607
44608 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
44609
44610         Work around problem reported by Steven M. Schweda in
44611         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
44612         Tru64 5.1B with the Compaq compiler environment installed declares
44613         an 'isblank' function but does not define it in the C library.
44614         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
44615         * lib/regex_internal.h (isblank): Likewise.
44616         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
44617         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
44618
44619 2007-06-05  Bruno Haible  <bruno@clisp.org>
44620
44621         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
44622         ia64.
44623         * modules/printf-safe: New file.
44624         * modules/fprintf-posix (Depends-on): Add printf-safe.
44625         * modules/printf-posix (Depends-on): Likewise.
44626         * modules/snprintf-posix (Depends-on): Likewise.
44627         * modules/sprintf-posix (Depends-on): Likewise.
44628         * modules/vasnprintf-posix (Depends-on): Likewise.
44629         * modules/vasprintf-posix (Depends-on): Likewise.
44630         * modules/vfprintf-posix (Depends-on): Likewise.
44631         * modules/vprintf-posix (Depends-on): Likewise.
44632         * modules/vsnprintf-posix (Depends-on): Likewise.
44633         * modules/vsprintf-posix (Depends-on): Likewise.
44634         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
44635         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
44636         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
44637         "no" on i386, x86_64, ia64.
44638         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
44639         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44640         on i386, x86_64, ia64.
44641         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
44642         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44643         on i386, x86_64, ia64.
44644         * tests/test-vasnprintf-posix.c: Include float.h.
44645         (LDBL80_WORDS): New macro.
44646         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44647         on i386, x86_64, ia64.
44648         * tests/test-vasprintf-posix.c: Include float.h.
44649         (LDBL80_WORDS): New macro.
44650         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
44651         on i386, x86_64, ia64.
44652         * tests/test-snprintf-posix.c: Include float.h.
44653         * tests/test-sprintf-posix.c: Likewise.
44654         * tests/test-vsnprintf-posix.c: Likewise.
44655         * tests/test-vsprintf-posix.c: Likewise.
44656
44657 2007-06-05  Bruno Haible  <bruno@clisp.org>
44658
44659         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
44660         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
44661         non-IEEE numbers on i386, x86_64, ia64.
44662         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
44663         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
44664         * tests/test-isnanl.h: Include float.h.
44665         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
44666
44667 2007-06-05  Bruno Haible  <bruno@clisp.org>
44668
44669         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
44670         also the %a / %A. Handle the %a / %A code before this extra handling.
44671
44672 2007-06-05  Bruno Haible  <bruno@clisp.org>
44673
44674         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
44675         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
44676
44677 2007-06-05  Bruno Haible  <bruno@clisp.org>
44678
44679         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
44680         typo in variable name.
44681
44682 2007-06-05  Eric Blake  <ebb9@byu.net>
44683
44684         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
44685         Reported by Simon Josefsson.
44686
44687 2007-06-04  Bruno Haible  <bruno@clisp.org>
44688
44689         Avoid test failures on some PowerPC platforms.
44690         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
44691         Define differently for PowerPC.
44692         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
44693         Reported by Gary V. Vaughan <gary@gnu.org>.
44694
44695 2007-06-02  Bruno Haible  <bruno@clisp.org>
44696
44697         Fix test-stdint failure on FreeBSD/ia64.
44698         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
44699         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
44700         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
44701         * doc/headers/stdint.texi: Update.
44702
44703 2007-06-01  Bruno Haible  <bruno@clisp.org>
44704
44705         * tests/test-binary-io.c (main): Pass a third argument to open().
44706         Reported by Gary V. Vaughan <gary@gnu.org>.
44707
44708 2007-06-01  Bruno Haible  <bruno@clisp.org>
44709
44710         * doc/functions/frexpl.texi: Update for mingw.
44711
44712 2007-06-01  Bruno Haible  <bruno@clisp.org>
44713
44714         * tests/test-lseek.c (main): Disable test of errno for invalid third
44715         argument.
44716         * doc/functions/lseek.texi: Update.
44717         Reported by Gary V. Vaughan <gary@gnu.org>.
44718
44719 2007-05-28  Bruno Haible  <bruno@clisp.org>
44720
44721         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
44722
44723 2007-05-31  Eric Blake  <ebb9@byu.net>
44724
44725         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
44726         cross compiling.
44727
44728 2007-05-30  Eric Blake  <ebb9@byu.net>
44729         and Bruno Haible  <bruno@clisp.org>
44730
44731         Work around mingw test failures exposed by m4-1.4.9b.
44732         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
44733         * tests/test-unistd.c: Disable uid_t and git_t tests for the
44734         moment.
44735
44736 2007-05-30  Bruno Haible  <bruno@clisp.org>
44737
44738         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
44739         assuming that they are closed. Needed on HP-UX 11.
44740
44741 2007-05-29  Bruno Haible  <bruno@clisp.org>
44742
44743         Fix a problem with #include_next.
44744         * lib/dirent_.h: Split the double-inclusion guard.
44745         * lib/fcntl_.h: Likewise.
44746         * lib/float_.h: Likewise.
44747         * lib/iconv_.h: Likewise.
44748         * lib/inttypes_.h: Likewise.
44749         * lib/locale_.h: Likewise.
44750         * lib/math_.h: Likewise.
44751         * lib/netinet_in_.h: Likewise.
44752         * lib/search_.h: Likewise.
44753         * lib/signal_.h: Likewise.
44754         * lib/stdint_.h: Likewise.
44755         * lib/stdio_.h: Likewise.
44756         * lib/stdlib_.h: Likewise.
44757         * lib/string_.h: Likewise.
44758         * lib/sys_select_.h: Likewise.
44759         * lib/sys_socket_.h: Likewise.
44760         * lib/sys_stat_.h: Likewise.
44761         * lib/sys_time_.h: Likewise.
44762         * lib/sysexits_.h: Likewise.
44763         * lib/time_.h: Likewise.
44764         * lib/unistd_.h: Likewise.
44765         * lib/wchar_.h: Likewise.
44766         * lib/wctype_.h: Likewise.
44767
44768 2007-05-29  Bruno Haible  <bruno@clisp.org>
44769
44770         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
44771         for the moment.
44772
44773 2007-05-29  Bruno Haible  <bruno@clisp.org>
44774
44775         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
44776         invocation.
44777         Reported by Eric Blake.
44778
44779 2007-05-29  Bruno Haible  <bruno@clisp.org>
44780
44781         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
44782         compiling case.
44783
44784 2007-05-29  Eric Blake  <ebb9@byu.net>
44785             Bruno Haible  <bruno@clisp.org>
44786
44787         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
44788         cross compiles.
44789
44790 2007-05-28  Eric Blake  <ebb9@byu.net>
44791
44792         * modules/closein-tests (test_closein_LDADD): Support test on
44793         cygwin with libtool.
44794
44795 2007-05-28  Bruno Haible  <bruno@clisp.org>
44796
44797         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
44798         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
44799         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
44800         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
44801         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
44802         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
44803         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
44804         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
44805         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
44806
44807 2007-05-28  Eric Blake  <ebb9@byu.net>
44808
44809         Unconditionally include <config.h> in unit tests.
44810         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
44811         * tests/test-allocsa.c, tests/test-arcfour.c,
44812         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
44813         tests/test-array_list.c, tests/test-array_oset.c,
44814         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
44815         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
44816         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
44817         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
44818         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
44819         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
44820         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
44821         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
44822         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
44823         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
44824         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
44825         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
44826         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
44827         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
44828         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
44829         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
44830         test-md5.c, test-memmem.c, test-printf-posix.c,
44831         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
44832         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
44833         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
44834         test-strcasestr.c, test-striconv.c, test-striconveh.c,
44835         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
44836         test-vasnprintf-posix2.c, test-vasnprintf.c,
44837         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
44838         test-vfprintf-posix.c, test-vprintf-posix.c,
44839         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
44840         test-xvasprintf.c: Likewise.
44841
44842 2007-05-28  Bruno Haible  <bruno@clisp.org>
44843
44844         * gnulib-tool (func_import): Remember the --with-tests command-line
44845         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
44846         Reported by Eric Blake.
44847
44848 2007-05-28  Bruno Haible  <bruno@clisp.org>
44849
44850         * modules/ftell-tests: New file.
44851         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
44852         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
44853
44854         * lib/ftell.c: New file.
44855         * modules/ftell: New file.
44856         * m4/ftell.m4: New file.
44857         * doc/functions/ftell.texi: Update.
44858         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
44859         REPLACE_FTELL.
44860         * lib/stdio_.h (rpl_ftell): New declaration.
44861         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
44862         REPLACE_FTELL.
44863
44864 2007-05-28  Eric Blake  <ebb9@byu.net>
44865
44866         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
44867
44868 2007-05-28  Bruno Haible  <bruno@clisp.org>
44869
44870         * modules/fseek-tests: New file.
44871         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
44872         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
44873
44874         * lib/fseek.c: New file.
44875         * modules/fseek: New file.
44876         * m4/fseek.m4: New file.
44877         * doc/functions/fseek.texi: Update.
44878         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
44879         REPLACE_FSEEK.
44880         * lib/stdio_.h (rpl_fseek): New declaration.
44881         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
44882         REPLACE_FSEEK.
44883
44884 2007-05-28  Bruno Haible  <bruno@clisp.org>
44885
44886         * lib/stdio_.h (fflush): More comments.
44887
44888 2007-05-28  Bruno Haible  <bruno@clisp.org>
44889
44890         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
44891         runtime test.
44892
44893 2007-05-28  Eric Blake  <ebb9@byu.net>
44894
44895         Improve lseek module.
44896         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
44897         * lib/unistd_.h (lseek): Scale back link warning message.
44898         * tests/test-lseek.c: Beef up test.
44899         * tests/test-lseek.sh: Exercise more facets of lseek.
44900         Reported by Bruno Haible.
44901
44902 2007-05-28  Bruno Haible  <bruno@clisp.org>
44903
44904         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
44905         to define.
44906
44907 2007-05-27  Bruno Haible  <bruno@clisp.org>
44908
44909         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
44910
44911 2007-05-27  Bruno Haible  <bruno@clisp.org>
44912
44913         * modules/openmp: New file.
44914         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
44915         Noah Misch.
44916
44917 2007-05-26  Bruno Haible  <bruno@clisp.org>
44918
44919         * modules/chdir-long (Depends-on): Add fchdir.
44920         * modules/chdir-safer (Depends-on): Likewise.
44921         * modules/fts (Depends-on): Likewise.
44922         * modules/fts-lgpl (Depends-on): Likewise.
44923         * modules/openat (Depends-on): Likewise.
44924         * modules/savewd (Depends-on): Likewise.
44925
44926 2007-05-24  Eric Blake  <ebb9@byu.net>
44927
44928         Fix lseek on mingw.
44929         * modules/lseek: New module.
44930         * m4/lseek.m4: New file.
44931         * lib/lseek.c: New file.
44932         * modules/lseek-tests: New file.
44933         * tests/test-lseek.c: New file.
44934         * tests/test-lseek.sh: New file.
44935         * MODULES.html.sh: Document lseek module.
44936         * modules/fflush (Depends-on): Add lseek, fseeko.
44937         * modules/fseeko (Depends-on): Likewise.
44938         * modules/ftello (Depends-on): Likewise.
44939         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
44940         broken.
44941         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
44942         broken.
44943         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
44944         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
44945         * lib/ftello.c (rpl_ftello): Likewise.
44946         * tests/test-fseeko.c (main): Test this.
44947         * tests/test-fseeko.sh: Likewise.
44948         * tests/test-ftello.c (main): Likewise.
44949         * tests/test-ftello.sh: Likewise.
44950         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
44951         implies replacing fseek.
44952         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
44953         HAVE_FTELLO.
44954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
44955         * modules/unistd (Makefile.am): Likewise.
44956         * lib/unistd_.h (lseek): Declare a replacement.
44957         * doc/functions/lseek.texi (lseek): Document this fix.
44958         * doc/functions/fseek.texi (fseek): Likewise.
44959         * doc/functions/ftell.texi (ftell): Likewise.
44960
44961 2007-05-24  Bruno Haible  <bruno@clisp.org>
44962
44963         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
44964         in the printed representation of a NaN.
44965         * tests/test-vasprintf-posix.c (test_function): Likewise.
44966         * tests/test-snprintf-posix.h (test_function): Likewise.
44967         * tests/test-sprintf-posix.h (test_function): Likewise.
44968         Reported by Eric Blake.
44969
44970 2007-05-23  Eric Blake  <ebb9@byu.net>
44971
44972         Fix fseeko/ftello on cygwin 1.5.24.
44973         * doc/functions/fseeko.texi (fseeko): Document the fix.
44974         * doc/functions/ftello.texi (ftello): Document the fix.
44975         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
44976         * doc/functions/stdout.text (stdout): New file.
44977         * doc/functions/stderr.text (stderr): New file.
44978         * doc/gnulib.texi (Function Substitutes): Use new files.
44979         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
44980         prior to 1.7.0.
44981         * tests/test-ftello.c (main): Likewise for ftello.
44982         * tests/test-fseeko.sh: New file.
44983         * tests/test-ftello.sh: New file.
44984         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
44985         with seekable stdin.
44986         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
44987         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
44988         (gl_REPLACE_FSEEKO): New macro.
44989         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
44990         * modules/fseeko (Files): Distribute fseeko.c.
44991         * modules/ftello (Files): Distribute ftello.c.
44992         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
44993         mode.
44994         * lib/ftello.c (rpl_ftello): New file.
44995         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
44996         fseeko, ftello.
44997         (gl_STDIN_LARGE_OFFSET): New macro.
44998         * modules/stdio (Makefile.am): Perform the replacement.
44999         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
45000
45001 2007-05-23  Bruno Haible  <bruno@clisp.org>
45002
45003         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
45004         GNULIB_POSIXCHECK is defined.
45005
45006 2007-05-21  Bruno Haible  <bruno@clisp.org>
45007
45008         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
45009         Check also the output for NaN arguments. When cross-compiling, guess
45010         no on IRIX.
45011         * lib/vasnprintf.c: Update comments.
45012         * tests/test-vasnprintf-posix.c (strisnan): New function.
45013         (test_function): Use it.
45014         * tests/test-vasprintf-posix.c (strisnan): New function.
45015         (test_function): Use it.
45016         * tests/test-snprintf-posix.h (strisnan): New function.
45017         (test_function): Use it.
45018         * tests/test-sprintf-posix.h (strisnan): New function.
45019         (test_function): Use it.
45020         Reported by Eric Blake.
45021
45022 2007-05-20  Bruno Haible  <bruno@clisp.org>
45023
45024         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
45025         numbers that fails on BeOS.
45026         * doc/functions/frexpl.texi: Update.
45027
45028 2007-05-20  Jim Meyering  <jim@meyering.net>
45029
45030         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
45031         forced upon us by glibc-2.6.
45032
45033 2007-05-20  Bruno Haible  <bruno@clisp.org>
45034
45035         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
45036         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
45037         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
45038         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
45039         NEED_PRINTF_INFINITE.
45040         (is_infinitel): New function.
45041         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
45042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
45043         gl_PREREQ_VASNPRINTF_INFINITE.
45044         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
45045         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45046         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
45047         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
45048         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
45049         gl_PREREQ_VASNPRINTF_INFINITE.
45050         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45051         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45052         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45053         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45054         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45055         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45056         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45057         * doc/functions/fprintf.texi: Update.
45058         * doc/functions/printf.texi: Update.
45059         * doc/functions/snprintf.texi: Update.
45060         * doc/functions/sprintf.texi: Update.
45061         * doc/functions/vfprintf.texi: Update.
45062         * doc/functions/vprintf.texi: Update.
45063         * doc/functions/vsnprintf.texi: Update.
45064         * doc/functions/vsprintf.texi: Update.
45065
45066 2007-05-20  Bruno Haible  <bruno@clisp.org>
45067
45068         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
45069         was not found in libc.
45070         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
45071
45072 2007-05-20  Bruno Haible  <bruno@clisp.org>
45073
45074         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
45075         printed as "-nan" instead of "nan".
45076         * tests/test-vasprintf-posix.c (test_function): Likewise.
45077         * tests/test-snprintf-posix.h (test_function): Likewise.
45078         * tests/test-sprintf-posix.h (test_function): Likewise.
45079         Needed for HP-UX 11.
45080
45081 2007-05-20  Jim Meyering  <jim@meyering.net>
45082
45083         Fix buggy test for the fchownat-deref bug.
45084         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
45085         symlink required for the run-test.  Without it, this test would
45086         always declare that fchownat doesn't work, and client code would
45087         unnecessarily use the replacement function with fixed libc.
45088         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
45089         Reported by Greg Schafer.
45090
45091 2007-05-19  Bruno Haible  <bruno@clisp.org>
45092
45093         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
45094         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
45095         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
45096         Needed for IRIX 6.5 and Solaris 2.5.1.
45097
45098 2007-05-19  Bruno Haible  <bruno@clisp.org>
45099
45100         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
45101         (test_function): Skip tests involving -0.0 on platforms where
45102         -0.0 = 0.0.
45103         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
45104         (test_function): Skip tests involving -0.0 on platforms where
45105         -0.0 = 0.0.
45106         * tests/test-snprintf-posix.h (have_minus_zero): New function.
45107         (test_function): Skip tests involving -0.0 on platforms where
45108         -0.0 = 0.0.
45109         * tests/test-sprintf-posix.h (have_minus_zero): New function.
45110         (test_function): Skip tests involving -0.0 on platforms where
45111         -0.0 = 0.0.
45112         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
45113         tests.
45114         * tests/test-printf-posix.h (test_function): Likewise.
45115         * tests/test-printf-posix.output: Remove all -0.0 related results.
45116         Needed for IRIX 6.5.
45117
45118 2007-05-19  Bruno Haible  <bruno@clisp.org>
45119
45120         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
45121         printed as "nan0x7fffffff" instead of "nan".
45122         * tests/test-vasprintf-posix.c (test_function): Likewise.
45123         * tests/test-snprintf-posix.h (test_function): Likewise.
45124         * tests/test-sprintf-posix.h (test_function): Likewise.
45125         * tests/test-fprintf-posix.h (NaN): Remove macro.
45126         (test_function): Remove all NaN related tests.
45127         * tests/test-printf-posix.h (NaN): Remove macro.
45128         (test_function): Remove all NaN related tests.
45129         * tests/test-printf-posix.output: Remove all NaN related results.
45130         Needed for IRIX 6.5.
45131
45132 2007-05-19  Bruno Haible  <bruno@clisp.org>
45133
45134         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
45135         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
45136
45137 2007-05-19  Bruno Haible  <bruno@clisp.org>
45138
45139         * lib/float_.h: New file.
45140         * m4/float_h.m4: New file.
45141         * modules/float: New file.
45142         * modules/isnanl (Dependencies): Add float.
45143         * modules/isnanl-nolibm (Dependencies): Likewise.
45144         * modules/mathl (Dependencies): Likewise.
45145         * modules/printf-frexpl (Dependencies): Likewise.
45146         * modules/signbit (Dependencies): Likewise.
45147         * modules/vasnprintf (Dependencies): Likewise.
45148         * doc/headers/float.texi: Update.
45149
45150 2007-05-19  Jim Meyering  <jim@meyering.net>
45151
45152         * lib/utimens.c (gl_futimens): Rename from futimens,
45153         now that glibc-2.6 declares futimens.
45154         * lib/utimens.h: Likewise.
45155
45156 2007-05-19  Bruno Haible  <bruno@clisp.org>
45157
45158         Avoid test failures on mingw.
45159         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
45160         * tests/test-printf-posix.sh: Likewise.
45161         * tests/test-vfprintf-posix.sh: Likewise.
45162         * tests/test-vprintf-posix.sh: Likewise.
45163
45164 2007-05-19  Bruno Haible  <bruno@clisp.org>
45165
45166         Fix *printf result for NaN, Inf, -0.0 on mingw.
45167         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
45168         * lib/vasnprintf.c: Include math.h and isnan.h.
45169         (is_infinite_or_zero): New function.
45170         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
45171         values in the %f, %F, %e, %E, %g, %G directives.
45172         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
45173         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45174         gl_PRINTF_INFINITE and test its result. Invoke
45175         gl_PREREQ_VASNPRINTF_INFINITE.
45176         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45177         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45178         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45179         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45180         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45181         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45182         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45183         * doc/functions/fprintf.texi: Update.
45184         * doc/functions/printf.texi: Update.
45185         * doc/functions/snprintf.texi: Update.
45186         * doc/functions/sprintf.texi: Update.
45187         * doc/functions/vfprintf.texi: Update.
45188         * doc/functions/vprintf.texi: Update.
45189         * doc/functions/vsnprintf.texi: Update.
45190         * doc/functions/vsprintf.texi: Update.
45191
45192 2007-05-19  Bruno Haible  <bruno@clisp.org>
45193
45194         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
45195         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
45196         Instead of multiplying with 10^k, set extra_zeroes to k.
45197         (scale10_round_long_double): Remove function.
45198
45199 2007-05-18  Bruno Haible  <bruno@clisp.org>
45200
45201         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
45202         introduced on 2007-05-06.
45203
45204 2007-05-18  Bruno Haible  <bruno@clisp.org>
45205
45206         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
45207         %g directives.
45208         * tests/test-vasprintf-posix.c (test_function): Likewise.
45209         * tests/test-snprintf-posix.h (test_function): Likewise.
45210         * tests/test-sprintf-posix.h (test_function): Likewise.
45211
45212 2007-05-18  Bruno Haible  <bruno@clisp.org>
45213
45214         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
45215         (strmatch): New function.
45216         (test_function): Test the %f directive on numbers of various exponents.
45217         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
45218         (strmatch): New function.
45219         (test_function): Test the %f directive on numbers of various exponents.
45220         * tests/test-snprintf-posix.h (strmatch): New function.
45221         (test_function): Test the %f directive on numbers of various exponents.
45222         * tests/test-sprintf-posix.h (strmatch): New function.
45223         (test_function): Test the %f directive on numbers of various exponents.
45224         * tests/test-snprintf-posix.c (SIZEOF): New macro.
45225         * tests/test-sprintf-posix.c (SIZEOF): New macro.
45226         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
45227         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
45228
45229 2007-05-18  Bruno Haible  <bruno@clisp.org>
45230
45231         Add support for 'long double' number output.
45232         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
45233         * lib/vasnprintf.c: Include math.h and float+.h.
45234         (mp_limb_t): New type.
45235         (GMP_LIMB_BITS): New macro.
45236         (mp_twolimb_t): New type.
45237         (GMP_TWOLIMB_BITS): New macro.
45238         (mpn_t): New type.
45239         (multiply, divide, convert_to_decimal, decode_long_double,
45240         scale10_round_long_double, scale10_round_decimal_long_double,
45241         floorlog10l): New functions.
45242         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
45243         for the %f, %F, %e, %E, %g, %G directives.
45244         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
45245         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45246         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
45247         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
45248         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45249         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45250         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45251         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45252         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45253         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45254         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45255         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
45256         * modules/snprintf-posix (Depends-on): Likewise.
45257         * modules/sprintf-posix (Depends-on): Likewise.
45258         * modules/vasnprintf-posix (Depends-on): Likewise.
45259         * modules/vasprintf-posix (Depends-on): Likewise.
45260         * modules/vfprintf-posix (Depends-on): Likewise.
45261         * modules/vsnprintf-posix (Depends-on): Likewise.
45262         * modules/vsprintf-posix (Depends-on): Likewise.
45263         * modules/vasnprintf (Files): Add lib/float+.h.
45264         * doc/functions/fprintf.texi: Update.
45265         * doc/functions/printf.texi: Update.
45266         * doc/functions/snprintf.texi: Update.
45267         * doc/functions/sprintf.texi: Update.
45268         * doc/functions/vfprintf.texi: Update.
45269         * doc/functions/vprintf.texi: Update.
45270         * doc/functions/vsnprintf.texi: Update.
45271         * doc/functions/vsprintf.texi: Update.
45272
45273 2007-05-18  Bruno Haible  <bruno@clisp.org>
45274
45275         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
45276
45277 2007-05-18  Bruno Haible  <bruno@clisp.org>
45278
45279         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
45280         for printing 64-bit integers. Needed for mingw.
45281
45282 2007-05-18  Bruno Haible  <bruno@clisp.org>
45283
45284         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
45285         gl_FUNC_FREXPL_WORKS.
45286         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
45287
45288 2007-05-18  Bruno Haible  <bruno@clisp.org>
45289
45290         * modules/frexpl-nolibm-tests: New file.
45291
45292         * modules/frexpl-nolibm: New file.
45293         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
45294
45295 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
45296
45297         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
45298         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
45299         GCC 4.2, which otherwise issues a lot of warnings.
45300         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
45301         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
45302         Likewise.
45303         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
45304         * modules/iconv_open (iconv.h): Likewise.
45305         * modules/locale (locale.h): Likewise.
45306         * modules/netinet_in (netinet/in.h): Likewise.
45307         * modules/sys_select (sys_select.h): Likewise.
45308         * modules/sys_socket (sys/socket.h): Likewise.
45309         * modules/sys_stat (sys/stat.h): Likewise.
45310         * modules/sysexits (sysexits.h): Likewise.
45311         * modules/unistd (unistd.h): Likewise.
45312
45313 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45314
45315         * modules/closein-tests (Makefile.am): Distribute
45316         `test-closein.sh'.
45317
45318 2007-05-17  Bruno Haible  <bruno@clisp.org>
45319
45320         * tests/test-printf-posix.output: Renamed from
45321         tests/test-fprintf-posix.out.
45322         * modules/fprintf-posix-tests: Update.
45323         * modules/printf-posix-tests: Update.
45324         * modules/vfprintf-posix-tests: Update.
45325         * modules/vprintf-posix-tests: Update.
45326         * tests/test-fprintf-posix.sh: Update.
45327         * tests/test-printf-posix.sh: Update.
45328         * tests/test-vfprintf-posix.sh: Update.
45329         * tests/test-vprintf-posix.sh: Update.
45330         Reported by Ralf Wildenhues.
45331
45332 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
45333
45334         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
45335         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
45336         GCC 4.2, which otherwise issues a lot of warnings.
45337         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
45338         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
45339         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
45340         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
45341         it should no longer be needed.
45342         * lib/string_.h: Likewise.
45343         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
45344         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
45345         * modules/inttypes (inttypes.h): Likewise.
45346         * modules/math (math.h): Likewise.
45347         * modules/search (search.h): Likewise.
45348         * modules/signal (signal.h): Likewise.
45349         * modules/stdint (stdint.h): Likewise.
45350         * modules/stdio (stdio.h): Likewise.
45351         * modules/stdlib (stdlib.h): Likewise.
45352         * modules/string (string.h): Likewise.
45353         * modules/sys_time (sys/time.h): Likewise.
45354         * modules/time (time.h): Likewise.
45355         * modules/wchar (wchar.h): Likewise.
45356         * modules/wctype (wtype.h): Likewise.
45357
45358 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
45359
45360         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
45361
45362 2007-05-13  Bruno Haible  <bruno@clisp.org>
45363
45364         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
45365         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45366         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
45367         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45368         (gl_PREREQ_STRTOK_R): Don't require it here.
45369
45370 2007-05-13  Bruno Haible  <bruno@clisp.org>
45371
45372         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
45373         when used in C++ mode.
45374
45375 2007-05-12  Bruno Haible  <bruno@clisp.org>
45376
45377         * lib/linebuffer.h: Tweak doc.
45378         * lib/linebuffer.c: Likewise.
45379
45380 2007-05-12  James Youngman  <jay@gnu.org>
45381
45382         * lib/linebuffer.c (readlinebuffer_delim): New function,
45383         like readlinebuffer, but use a caller-specified delimiter.
45384         (readlinebuffer): Just call readlinebuffer_delim with '\n'
45385         as the delimiter.
45386         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
45387
45388 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45389
45390         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
45391         * modules/openat (Files): Remove openat-die.c.
45392         (Depends-on): Add openat-die.
45393         * modules/openat-die: New module.
45394
45395 2007-05-06  Bruno Haible  <bruno@clisp.org>
45396
45397         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
45398         Update with info about Cygwin.
45399         * doc/functions/fprintf.texi: Update.
45400         * doc/functions/printf.texi: Update.
45401         * doc/functions/snprintf.texi: Update.
45402         * doc/functions/sprintf.texi: Update.
45403         * doc/functions/vfprintf.texi: Update.
45404         * doc/functions/vprintf.texi: Update.
45405         * doc/functions/vsnprintf.texi: Update.
45406         * doc/functions/vsprintf.texi: Update.
45407         Reported by Eric Blake.
45408
45409 2007-05-06  Bruno Haible  <bruno@clisp.org>
45410
45411         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
45412         padding ourselves for the floating-point directives.
45413         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
45414         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
45415         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45416         gl_PRINTF_FLAG_ZERO and test its result. Invoke
45417         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
45418         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45419         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
45420         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45421         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45422         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45423         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45424         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45425         * tests/test-snprintf-posix.h (test_function): Also check the width
45426         and some flags in the %f directive.
45427         * tests/test-sprintf-posix.h (test_function): Likewise.
45428         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45429         * tests/test-vasprintf-posix.c (test_function): Likewise.
45430         * doc/functions/fprintf.texi: Update.
45431         * doc/functions/printf.texi: Update.
45432         * doc/functions/snprintf.texi: Update.
45433         * doc/functions/sprintf.texi: Update.
45434         * doc/functions/vfprintf.texi: Update.
45435         * doc/functions/vprintf.texi: Update.
45436         * doc/functions/vsnprintf.texi: Update.
45437         * doc/functions/vsprintf.texi: Update.
45438
45439 2007-05-06  Bruno Haible  <bruno@clisp.org>
45440
45441         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
45442         pass the ' flag character to sprintf or snprintf.
45443         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
45444         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
45445         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45446         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
45447         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
45448         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45449         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
45450         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45451         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45452         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45453         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45454         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45455         * tests/test-snprintf-posix.h (test_function): Also check the grouping
45456         flag.
45457         * tests/test-sprintf-posix.h (test_function): Likewise.
45458         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45459         * tests/test-vasprintf-posix.c (test_function): Likewise.
45460         * doc/functions/fprintf.texi: Update.
45461         * doc/functions/printf.texi: Update.
45462         * doc/functions/snprintf.texi: Update.
45463         * doc/functions/sprintf.texi: Update.
45464         * doc/functions/vfprintf.texi: Update.
45465         * doc/functions/vprintf.texi: Update.
45466         * doc/functions/vsnprintf.texi: Update.
45467         * doc/functions/vsprintf.texi: Update.
45468
45469 2007-05-01  Bruno Haible  <bruno@clisp.org>
45470
45471         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
45472
45473 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
45474
45475         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
45476         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
45477
45478 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45479
45480         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
45481         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
45482         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
45483
45484 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
45485
45486         * lib/argp-help.c (struct hol_entry): New member `ord'.
45487         (HOL_ENTRY_PTRCMP): Use ord for comparison
45488         (hol_sort): Initialize ord.
45489
45490 2007-05-01  Bruno Haible  <bruno@clisp.org>
45491
45492         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
45493         Reported by Eric Blake.
45494         * doc/gnulib.texi (Function Substitutes): Update.
45495
45496 2007-05-01  Bruno Haible  <bruno@clisp.org>
45497
45498         * doc/functions.texi: Remove file, now redundant through
45499         doc/functions/*.texi.
45500
45501 2007-05-01  Bruno Haible  <bruno@clisp.org>
45502
45503         * modules/argp (Depends-on): Add sleep.
45504
45505 2007-05-01  Bruno Haible  <bruno@clisp.org>
45506
45507         * modules/sleep-tests: New file.
45508         * tests/test-sleep.c: New file.
45509
45510         * modules/sleep: New file.
45511         * lib/sleep.c: New file.
45512         * m4/sleep.m4: New file.
45513         * lib/unistd_.h (sleep): New declaration.
45514         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
45515         HAVE_SLEEP.
45516         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
45517         * doc/functions/sleep.texi: Document the sleep module.
45518
45519 2007-05-01  Bruno Haible  <bruno@clisp.org>
45520
45521         * lib/sigprocmask.h: Remove file.
45522         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
45523         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
45524         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
45525         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
45526         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
45527         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
45528         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
45529         HAVE_SIGSET_T as a shell variable.
45530         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
45531         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
45532         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
45533         (Depends-on): Add signal. Remove verify.
45534         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
45535         (Include): Mention <signal.h> instead of sigprocmask.h.
45536         * NEWS: Mention the change.
45537         * lib/fatal-signal.c: Don't include sigprocmask.h.
45538
45539 2007-05-01  Bruno Haible  <bruno@clisp.org>
45540
45541         * modules/signal: New file.
45542         * lib/signal_.h: New file.
45543         * m4/signal_h.m4: New file.
45544
45545 2007-05-01  Bruno Haible  <bruno@clisp.org>
45546
45547         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
45548         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
45549         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
45550         HAVE_WCTYPE_CTMP_BUG into wctype.h.
45551
45552 2007-05-01  Bruno Haible  <bruno@clisp.org>
45553
45554         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
45555         configure time.
45556         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
45557         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
45558         * modules/sys_stat (Makefile.am): Substitute their values into
45559         sys/stat.h.
45560
45561 2007-05-01  Bruno Haible  <bruno@clisp.org>
45562
45563         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
45564         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
45565         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
45566
45567 2007-05-01  Bruno Haible  <bruno@clisp.org>
45568
45569         * doc/header/assert.texi: Undo last change: don't mention the gnulib
45570         'assert' module here.
45571
45572 2007-05-01  Bruno Haible  <bruno@clisp.org>
45573
45574         * doc/functions/*.texi: New files.
45575         * doc/functions/google-ranking.txt: New file.
45576         * doc/gnulib.texi (Function Substitutes): New chapter.
45577         (ctime, inet_ntoa): Remove sections.
45578         * doc/ctime.texi: Remove file.
45579         * doc/inet_ntoa.texi: Remove file.
45580         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
45581         dependencies.
45582         (%.info): New rule, specifying a --reference-limit.
45583
45584 2007-05-01  Bruno Haible  <bruno@clisp.org>
45585
45586         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
45587
45588 2007-05-01  Bruno Haible  <bruno@clisp.org>
45589
45590         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
45591         the portability of 'mkdir' to mingw systems.
45592
45593 2007-05-01  Bruno Haible  <bruno@clisp.org>
45594
45595         * doc/headers/google-ranking.txt: New file.
45596
45597 2007-04-30  Eric Blake  <ebb9@byu.net>
45598
45599         Prefer fseeko to fseek.
45600         * modules/getpass (Depends-on): Add fseeko.
45601         * lib/getpass.c (getpass): Use fseeko, not fseek.
45602
45603 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
45604
45605         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
45606         assumes the sorting is stable, while most qsort implementations
45607         are not.  Use argument addresses to ensure they never compare as
45608         equal.
45609
45610         * tests/test-argp-2.sh (usage-indent test): Fix output
45611         (func_compare): Restore diff options
45612         * tests/test-argp.c: Restore #include "progname.h"
45613
45614 2007-04-29  Bruno Haible  <bruno@clisp.org>
45615
45616         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
45617         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45618         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
45619         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45620         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
45621         (configure.ac): Define CHECK_SNPRINTF_POSIX.
45622         (TESTS, check_PROGRAMS): Add test-snprintf.
45623         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
45624         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
45625         (TESTS, check_PROGRAMS): Add test-vsnprintf.
45626         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
45627         assertions that fail on HP-UX, OSF/1, or IRIX.
45628         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
45629
45630 2007-04-29  Bruno Haible  <bruno@clisp.org>
45631
45632         * MODULES.html.sh (posix_functions): Remove 'contents'.
45633
45634 2007-04-29  Karl Berry  <karl@gnu.org>
45635
45636         * config/srclist.txt (gendocs_template_min): new entry.
45637
45638 2007-04-29  Bruno Haible  <bruno@clisp.org>
45639
45640         Work around fpurge bug on BSD systems.
45641         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
45642         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
45643         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
45644         fpurge to rpl_fpurge if the system already has this function.
45645         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
45646         the case where the system already has this function. Correct invariants
45647         on BSD systems.
45648         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
45649         BSD systems.
45650
45651 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
45652
45653         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
45654         proposed by Sven Verdoolaege.
45655
45656         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
45657         options.
45658         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
45659         (usage and help tests): Update
45660
45661 2007-04-29  Bruno Haible  <bruno@clisp.org>
45662
45663         * tests/test-fflush.c (main): Use a file of size 17, not 10.
45664         Print more information in case of failure. Disable a test on BeOS.
45665
45666 2007-04-29  Bruno Haible  <bruno@clisp.org>
45667
45668         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
45669         This helps debugging on systems on which no gdb is available.
45670
45671 2007-04-29  Bruno Haible  <bruno@clisp.org>
45672
45673         * lib/freading.h: Improve comments.
45674         * lib/fwriting.h: Likewise.
45675         * tests/test-freading.c (main): Don't check freading immediately after
45676         repositioning. Needed for glibc.
45677
45678 2007-04-29  Bruno Haible  <bruno@clisp.org>
45679
45680         * lib/freading.c (freading): Trivial simplification.
45681
45682 2007-04-28  Bruno Haible  <bruno@clisp.org>
45683
45684         * tests/test-fwriting.c (main): Also test the interaction between
45685         fflush and fwriting.
45686         * modules/fwriting-tests (Depends-on): Add fflush.
45687
45688         * tests/test-freading.c (main): Also test the interaction between
45689         fflush and freading.
45690         * modules/freading-tests (Depends-on): Add fflush.
45691
45692 2007-04-28  Bruno Haible  <bruno@clisp.org>
45693
45694         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
45695         fseeko and ftello.
45696         Suggested by Eric Blake.
45697
45698 2007-04-28  Jim Meyering  <jim@meyering.net>
45699
45700         Avoid false-negative in gl_STDINT_H's C99 conformance test.
45701         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
45702         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
45703
45704 2007-04-27  Eric Blake  <ebb9@byu.net>
45705
45706         * doc/headers/assert.texi (assert.h): Document assert module use.
45707
45708 2007-04-27  Bruno Haible  <bruno@clisp.org>
45709
45710         * doc/headers/*.texi: New files.
45711         * doc/gnulib.texi (Header File Substitutes): New chapter.
45712         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
45713         dependencies.
45714         (standards.info ,standards.html, standards.dvi): Update dependencies.
45715         (mostlyclean, clean): New targets.
45716
45717 2007-04-27  Bruno Haible  <bruno@clisp.org>
45718
45719         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
45720         * modules/sysexits (Files, Makefile.am): Update.
45721
45722         * lib/sys_socket_.h: Renamed from lib/socket_.h.
45723         * modules/sys_socket (Files, Makefile.am): Update.
45724
45725         * lib/sys_stat_.h: Renamed from lib/stat_.h.
45726         * modules/sys_stat (Files, Makefile.am): Update.
45727
45728 2007-04-27  Eric Blake  <ebb9@byu.net>
45729
45730         * lib/freading.h: Improve comments.
45731         * lib/fwriting.h: Likewise.
45732         * lib/fflush.c: Likewise.
45733
45734         Fix closein for mingw.
45735         * modules/closein-tests: Add tests for closein.
45736         * tests/test-closein.c: New file.
45737         * tests/test-closein.sh: Likewise.
45738         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
45739         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
45740
45741 2007-04-27  Bruno Haible  <bruno@clisp.org>
45742
45743         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
45744         version is < 6.
45745         * lib/math_.h [__DECC]: Likewise.
45746         * lib/stdio_.h [__DECC]: Likewise.
45747         * lib/stdlib_.h [__DECC]: Likewise.
45748         * lib/string_.h [__DECC]: Likewise.
45749         * lib/time_.h [__DECC]: Likewise.
45750         * lib/wchar_.h [__DECC]: Likewise.
45751         * lib/wctype_.h [__DECC]: Likewise.
45752
45753 2007-04-27  Bruno Haible  <bruno@clisp.org>
45754
45755         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
45756
45757 2007-04-27  Bruno Haible  <bruno@clisp.org>
45758
45759         * lib/fflush.c: Add comments.
45760         * modules/fpurge-tests (Depends-on): Add fflush.
45761         * modules/freadable-tests (Depends-on): Likewise.
45762         * modules/fwritable-tests (Depends-on): Likewise.
45763
45764 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
45765
45766         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
45767         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
45768         Report by Bruno Haible <bruno@clisp.org>.
45769
45770 2007-04-26  Eric Blake  <ebb9@byu.net>
45771
45772         Fix fflush on mingw.
45773         * modules/fflush (Depends-on): Add freading.
45774         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
45775         but unread data.
45776
45777 2007-04-26  Eric Blake  <ebb9@byu.net>
45778         and Bruno Haible  <bruno@clisp.org>
45779
45780         Implement freading and fwriting.
45781         * lib/freading.c: New file.
45782         * lib/freading.h: Likewise.
45783         * m4/freading.m4: Likewise.
45784         * modules/freading: Likewise.
45785         * modules/freading-tests: Likewise.
45786         * tests/test-freading.c: Likewise.
45787         * lib/fwriting.c: New file.
45788         * lib/fwriting.h: Likewise.
45789         * m4/fwriting.m4: Likewise.
45790         * modules/fwriting: Likewise.
45791         * modules/fwriting-tests: Likewise.
45792         * tests/test-fwriting.c: Likewise.
45793         * MODULES.html.sh (File stream based Input/Output): Mention them.
45794
45795 2007-04-26  Bruno Haible  <bruno@clisp.org>
45796
45797         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
45798         'long' when we assume it.
45799         Suggested by Eric Blake.
45800
45801 2007-04-26  Bruno Haible  <bruno@clisp.org>
45802
45803         Ensure fseeko, ftello are declared on glibc systems.
45804         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
45805         * modules/fseeko (configure.ac-early): Likewise.
45806         * modules/ftello (configure.ac-early): Likewise.
45807         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
45808         AC_FUNC_FSEEKO for this.
45809         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
45810         (gl_CHECK_FSEEKO): Remove macro.
45811
45812 2007-04-26  Bruno Haible  <bruno@clisp.org>
45813
45814         * tests/test-fflush.c (main): Also check the ftell result after
45815         fflush and fseek/fseeko.
45816         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
45817         file descriptor position cache in the stream.
45818         * lib/fseeko.c (rpl_fseeko): Likewise.
45819
45820 2007-04-26  Bruno Haible  <bruno@clisp.org>
45821
45822         * modules/fflush-tests (Depends-on): Add fseeko.
45823
45824 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
45825             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45826
45827         * lib/argz_.h: ensure error_t definition is obtained in same
45828         mechanism system argz.h would have.
45829         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
45830         argz facilities are known bad.  Err on the side of caution if
45831         cross-compiling.
45832
45833 2007-04-25  Eric Blake  <ebb9@byu.net>
45834
45835         * lib/fpurge.c (includes): Use stdlib.h for free.
45836         * tests/test-fflush.c (main): Also test fflush-fseeko.
45837
45838 2007-04-25  Bruno Haible  <bruno@clisp.org>
45839
45840         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
45841         * lib/fseeko.c: New file.
45842         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
45843         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
45844         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
45845         gl_FUNC_FSEEKO.
45846         (gl_FUNC_FSEEKO): Invoke it.
45847         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
45848         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
45849         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
45850
45851 2007-04-25  Bruno Haible  <bruno@clisp.org>
45852
45853         * modules/fflush (Depends-on): Add ftello.
45854
45855 2007-04-25  Bruno Haible  <bruno@clisp.org>
45856
45857         * modules/ftello-tests: New file.
45858         * tests/test-ftello.c: New file.
45859
45860         * modules/ftello: New file.
45861         * m4/ftello.m4: New file.
45862         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
45863         HAVE_FTELLO.
45864         * lib/stdio_.h (ftello): New declaration.
45865         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
45866         HAVE_FTELLO.
45867
45868 2007-04-25  Bruno Haible  <bruno@clisp.org>
45869
45870         * modules/fseeko-tests: New file.
45871         * tests/test-fseeko.c: New file.
45872
45873         * modules/fseeko: New file.
45874         * m4/fseeko.m4: New file.
45875         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
45876         HAVE_FSEEKO.
45877         * lib/stdio_.h (fseeko): New declaration.
45878         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
45879         HAVE_FSEEKO.
45880
45881 2007-04-25  Bruno Haible  <bruno@clisp.org>
45882
45883         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
45884
45885 2007-04-25  Bruno Haible  <bruno@clisp.org>
45886
45887         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
45888         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
45889         * tests/test-unistd.c: Likewise.
45890         * tests/test-fcntl.c: Likewise.
45891
45892 2007-04-23  Eric Blake  <ebb9@byu.net>
45893
45894         * lib/fflush.c: Fix missing include.
45895         Reported by Bruno Haible.
45896
45897 2007-04-23  Bruno Haible  <bruno@clisp.org>
45898
45899         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
45900         Reported by Eric Blake.
45901
45902 2007-04-23  Bruno Haible  <bruno@clisp.org>
45903
45904         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
45905
45906 2007-04-23  Bruno Haible  <bruno@clisp.org>
45907
45908         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
45909
45910 2007-04-23  Bruno Haible  <bruno@clisp.org>
45911
45912         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
45913         Needed on HP-UX 11.
45914
45915 2007-04-16  Eric Blake  <ebb9@byu.net>
45916
45917         Make fflush rely on fpurge.
45918         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
45919         open coding all variants.
45920         * modules/fflush (Depends-on): Add fpurge and unistd.
45921         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
45922         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
45923
45924         Fix --with-tests compilation on cygwin.
45925         * modules/argmatch-tests (Makefile.am): List gnulib library first
45926         in LDADD.
45927         * modules/argp-tests (Makefile.am): Likewise.
45928         * modules/array-list-tests (Makefile.am): Likewise.
45929         * modules/array-oset-tests (Makefile.am): Likewise.
45930         * modules/avltree-list-tests (Makefile.am): Likewise.
45931         * modules/avltree-oset-tests (Makefile.am): Likewise.
45932         * modules/avltreehash-list-tests (Makefile.am): Likewise.
45933         * modules/carray-list-tests (Makefile.am): Likewise.
45934         * modules/dirname-tests (Makefile.am): Likewise.
45935         * modules/frexp-tests (Makefile.am): Likewise.
45936         * modules/isnanl-tests (Makefile.am): Likewise.
45937         * modules/linked-list-tests (Makefile.am): Likewise.
45938         * modules/linkedhash-list-tests (Makefile.am): Likewise.
45939         * modules/lock-tests (Makefile.am): Likewise.
45940         * modules/rbtree-list-tests (Makefile.am): Likewise.
45941         * modules/rbtree-oset-tests (Makefile.am): Likewise.
45942         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
45943         * modules/tls-tests (Makefile.am): Likewise.
45944         * modules/tsearch-tests (Makefile.am): Likewise.
45945         * modules/xvasprintf-tests (Makefile.am): Likewise.
45946
45947         Fix fpurge for cygwin.
45948         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
45949         value.
45950         * modules/fpurge-tests (Depends-on): Clean up trash.
45951
45952 2007-04-16  Simon Josefsson  <simon@josefsson.org>
45953
45954         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
45955
45956         * m4/autobuild.m4: Re-indent.
45957
45958 2007-04-13  Bruno Haible  <bruno@clisp.org>
45959
45960         * modules/fpurge-tests: New file.
45961         * tests/test-fpurge.c: New file.
45962
45963         * modules/fpurge: New file.
45964         * lib/fpurge.h: New file.
45965         * lib/fpurge.c: New file.
45966         * m4/fpurge.m4: New file.
45967
45968 2007-04-13  Bruno Haible  <bruno@clisp.org>
45969
45970         * modules/fbufmode-tests: New file.
45971         * tests/test-fbufmode.c: New file.
45972
45973         * modules/fbufmode: New file.
45974         * lib/fbufmode.h: New file.
45975         * lib/fbufmode.c: New file.
45976         * m4/fbufmode.m4: New file.
45977
45978 2007-04-13  Bruno Haible  <bruno@clisp.org>
45979
45980         * modules/fwritable-tests: New file.
45981         * tests/test-fwritable.c: New file.
45982
45983         * modules/fwritable: New file.
45984         * lib/fwritable.h: New file.
45985         * lib/fwritable.c: New file.
45986         * m4/fwritable.m4: New file.
45987
45988 2007-04-13  Bruno Haible  <bruno@clisp.org>
45989
45990         * modules/freadable-tests: New file.
45991         * tests/test-freadable.c: New file.
45992
45993         * modules/freadable: New file.
45994         * lib/freadable.h: New file.
45995         * lib/freadable.c: New file.
45996         * m4/freadable.m4: New file.
45997
45998 2007-04-13  Bruno Haible  <bruno@clisp.org>
45999
46000         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
46001         MOSTLYCLEANFILES.
46002
46003 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
46004
46005         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
46006         gzip bootstrap.conf to avoid dragging in i18n machinery.
46007         (gnulib_tool_option): Use it.
46008
46009 2007-04-13  Bruno Haible  <bruno@clisp.org>
46010
46011         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
46012         %F directives.
46013         * tests/test-vasprintf-posix.c (test_function): Likewise.
46014         * tests/test-snprintf-posix.h (test_function): Likewise.
46015         * tests/test-sprintf-posix.h (test_function): Likewise.
46016         * tests/test-fprintf-posix.h (test_function): Likewise.
46017         * tests/test-printf-posix.h (test_function): Likewise.
46018         * tests/test-fprintf-posix.out: Likewise.
46019
46020 2007-04-13  Bruno Haible  <bruno@clisp.org>
46021
46022         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
46023         * modules/tls-tests (configure.ac): Likewise.
46024         Reported by Arto C. Nirkko <anirkko@insel.ch>.
46025
46026 2007-04-13  Bruno Haible  <bruno@clisp.org>
46027
46028         * lib/tls.c (glthread_tls_get): Fix return type.
46029         Patch by Arto C. Nirkko <anirkko@insel.ch>.
46030
46031 2007-04-12  Eric Blake  <ebb9@byu.net>
46032
46033         * modules/gettime (Depends-on): Remove gettime.
46034         Reported by Dmitry V. Levin.
46035
46036 2007-04-12  Bruno Haible  <bruno@clisp.org>
46037
46038         * modules/fflush (Include): Mention <stdio.h>.
46039         * modules/strtoimax (Include): Mention <inttypes.h>.
46040         * modules/strtoumax (Include): Likewise.
46041
46042 2007-04-12  Eric Blake  <ebb9@byu.net>
46043
46044         * .cvsignore: New file.
46045         * .gitignore: Likewise.
46046
46047 2007-04-12  Bruno Haible  <bruno@clisp.org>
46048
46049         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
46050         not before, since $(LDADD) often contains libgnu.a.
46051         * modules/striconv-tests (test_striconv_LDADD): Likewise.
46052         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
46053         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
46054         Needed on Cygwin.
46055
46056 2007-04-12  Eric Blake  <ebb9@byu.net>
46057
46058         Work around glibc's failure to flush stdin on fclose.
46059         * lib/closein.c (close_stdin): Flush stdin before closing.
46060
46061         Work around glibc's failure to reset seekable stdin on exit.
46062         * modules/closein: New module.
46063         * lib/closein.c: New file.
46064         * lib/closein.h: Likewise.
46065         * m4/closein.m4: Likewise.
46066         * MODULES.html.sh (File stream based Input/Output): Document it.
46067
46068 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46069
46070         * gnulib-tool: Rename generated 'autobuild' script to
46071         'do-autobuild' in --create-megatestdir output.
46072
46073         * doc/gnulib.texi (Build robot for gnulib): Fix.
46074
46075 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46076
46077         * modules/sysexits (Depends-on): Add absolute-header.
46078
46079 2007-04-12  Eric Blake  <ebb9@byu.net>
46080
46081         No need to preserve errno on success.
46082         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
46083         Reported by Bruno Haible.
46084
46085 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46086
46087         * MODULES.html.sh (Support for maintaining and releasing
46088         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
46089
46090 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46091
46092         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
46093
46094 2007-04-12  Simon Josefsson  <simon@josefsson.org>
46095
46096         * modules/autobuild: New module.
46097
46098         * m4/autobuild.m4: New file.
46099
46100 2007-04-11  Bruno Haible  <bruno@clisp.org>
46101
46102         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
46103         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
46104         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
46105         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
46106         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
46107         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46108         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46109         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
46110         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46111         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46112         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
46113         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46114         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46115         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
46116         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46117         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46118         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
46119         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46120         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46121         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
46122         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46123         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46124         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
46125         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46126         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46127         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
46128         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
46129         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
46130         Reported by Eric Blake.
46131
46132 2007-04-11  Bruno Haible  <bruno@clisp.org>
46133
46134         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
46135
46136 2007-04-10  Bruno Haible  <bruno@clisp.org>
46137
46138         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
46139         for NaN and Infinity. Needed on FreeBSD 6.1.
46140         * tests/test-vasnprintf-posix.c (test_function): Undo last change
46141         regarding results for "%010a" of Infinity and NaN.
46142         * tests/test-vasprintf-posix.c (test_function): Likewise.
46143         * tests/test-snprintf-posix.h (test_function): Likewise.
46144         * tests/test-sprintf-posix.h (test_function): Likewise.
46145         * tests/test-fprintf-posix.h (test_function): Likewise.
46146         * tests/test-printf-posix.h (test_function): Likewise.
46147         * tests/test-fprintf-posix.out: Likewise.
46148
46149 2007-04-10  Bruno Haible  <bruno@clisp.org>
46150
46151         * modules/locale-tests: New file.
46152         * tests/test-locale.c: New file.
46153
46154         * modules/locale: New file.
46155         * lib/locale_.h: New file.
46156         * m4/locale_h.m4: New file.
46157
46158 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
46159             Bruno Haible  <bruno@clisp.org>
46160
46161         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
46162         be determined, test for availability of the copysignf, copysign,
46163         copysignl functions.
46164         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
46165         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
46166         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
46167
46168 2007-04-09  Eric Blake  <ebb9@byu.net>
46169
46170         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
46171         * modules/stdio (Makefile.am): Support fflush.
46172         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46173         * modules/fflush: New file.
46174         * lib/fflush.c: Likewise.
46175         * m4/fflush.m4: Likewise.
46176         * modules/fflush-tests: New test.
46177         * tests/test-fflush.c: Likewise.
46178         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
46179
46180 2007-04-06  Bruno Haible  <bruno@clisp.org>
46181
46182         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
46183         (VASNPRINTF): Use signbit for faster determination whether to print a
46184         minus sign.
46185         * modules/vasnprintf (Files): Remove lib/float+.h.
46186         * modules/fprintf-posix (Depends-on): Add signbit.
46187         * modules/snprintf-posix (Depends-on): Likewise.
46188         * modules/sprintf-posix (Depends-on): Likewise.
46189         * modules/vasnprintf-posix (Depends-on): Likewise.
46190         * modules/vasprintf-posix (Depends-on): Likewise.
46191         * modules/vfprintf-posix (Depends-on): Likewise.
46192         * modules/vsnprintf-posix (Depends-on): Likewise.
46193         * modules/vsprintf-posix (Depends-on): Likewise.
46194
46195 2007-04-06  Bruno Haible  <bruno@clisp.org>
46196
46197         * tests/test-frexp.c (main): Test also the sign bit of zero results.
46198         * tests/test-frexpl.c (main): Likewise.
46199         * tests/test-ldexpl.c (main): Likewise.
46200         * modules/frexp-tests (Depends-on): Add signbit.
46201         * modules/frexpl-tests (Depdends-on): Likewise.
46202         * modules/ldexpl-tests (Depdends-on): Likewise.
46203
46204 2007-04-06  Bruno Haible  <bruno@clisp.org>
46205
46206         * modules/signbit-tests: New file.
46207         * tests/test-signbit.c: New file.
46208
46209         * modules/signbit: New file.
46210         * lib/signbitf.c: New file.
46211         * lib/signbitd.c: New file.
46212         * lib/signbitl.c: New file.
46213         * m4/signbit.m4: New file.
46214         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
46215         (signbit): New macro.
46216         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
46217         REPLACE_SIGNBIT.
46218         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
46219         REPLACE_FREXPL into math.h.
46220
46221 2007-04-06  Bruno Haible  <bruno@clisp.org>
46222
46223         * modules/isnanf-nolibm-tests: New file.
46224         * tests/test-isnanf.c: New file.
46225
46226         * modules/isnanf-nolibm: New file.
46227         * lib/isnanf.h: New file.
46228         * lib/isnanf.c: New file.
46229         * lib/isnan.c: Consider the USE_FLOAT macro.
46230         * m4/isnanf.m4: New file.
46231
46232 2007-04-06  Bruno Haible  <bruno@clisp.org>
46233
46234         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
46235         (Link): New section.
46236
46237         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
46238
46239 2007-04-06  Bruno Haible  <bruno@clisp.org>
46240
46241         Assume the 'long double' type.
46242         * m4/longdouble.m4: Remove file.
46243         * config/srclist.txt: Don't mention longdouble.m4.
46244         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
46245         * lib/float+.h: Likewise.
46246         * lib/frexp.c: Likewise.
46247         * lib/printf-args.h: Likewise.
46248         * lib/printf-args.c: Likewise.
46249         * lib/printf-frexp.c: Likewise.
46250         * lib/printf-parse.c: Likewise.
46251         * lib/vasnprintf.c: Likewise.
46252         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
46253         * m4/intl.m4: Likewise.
46254         * m4/isnanl.m4: Likewise.
46255         * m4/printf.m4: Likewise.
46256         * m4/printf-frexpl.m4: Likewise.
46257         * m4/vasnprintf.m4: Likewise.
46258         * modules/allocsa (Files): Remove m4/longdouble.m4.
46259         * modules/gettext (Files): Likewise.
46260         * modules/relocatable-prog-wrapper (Files): Likewise.
46261         * modules/vasnprintf (Files): Likewise.
46262         * modules/isnanl (Files): Likewise.
46263         (Include): Simplify.
46264         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
46265         (Include): Simplify.
46266         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
46267         (Include): Simplify.
46268         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
46269         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46270         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
46271         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46272         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
46273         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46274         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
46275         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46276         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
46277         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46278         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
46279         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
46280         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
46281         * tests/test-isnanl.c: Likewise.
46282         * tests/test-snprintf-posix.h: Likewise.
46283         * tests/test-sprintf-posix.h: Likewise.
46284         * tests/test-vasnprintf-posix.c: Likewise.
46285         * tests/test-vasnprintf-posix2.c: Likewise.
46286         * tests/test-vasprintf-posix.c: Likewise.
46287
46288 2007-04-06  Bruno Haible  <bruno@clisp.org>
46289
46290         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
46291         * lib/math_.h [__DECC]: Include the overridden include file through
46292         #include_next, outside the double-inclusion guard.
46293         * lib/stdio_.h [__DECC]: Likewise.
46294         * lib/stdlib_.h [__DECC]: Likewise.
46295         * lib/string_.h [__DECC]: Likewise.
46296         * lib/time_.h [__DECC]: Likewise.
46297         * lib/wchar_.h [__DECC]: Likewise.
46298         * lib/wctype_.h [__DECC]: Likewise.
46299         * lib/inttypes_.h [__DECC]: Likewise.
46300         Reported by Albert Chin <china@thewrittenword.com> in
46301         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
46302
46303 2007-04-04  Eric Blake  <ebb9@byu.net>
46304
46305         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
46306         1.5.x.
46307
46308 2007-04-04  Bruno Haible  <bruno@clisp.org>
46309
46310         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
46311         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
46312
46313 2007-04-04  Bruno Haible  <bruno@clisp.org>
46314
46315         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
46316         results for "%010a" of Infinity and NaN.
46317         * tests/test-vasprintf-posix.c (test_function): Likewise.
46318         * tests/test-snprintf-posix.h (test_function): Likewise.
46319         * tests/test-sprintf-posix.h (test_function): Likewise.
46320         * tests/test-fprintf-posix.h (test_function): Remove these tests.
46321         * tests/test-printf-posix.h (test_function): Likewise.
46322         * tests/test-fprintf-posix.out: Update.
46323         Needed for FreeBSD 6.1.
46324
46325 2007-04-04  Bruno Haible  <bruno@clisp.org>
46326
46327         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
46328         directly used by the gnulib modules nor by gnulib-tool.
46329
46330 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
46331
46332         * DEPENDENCIES: Give overall description of version dependency
46333         desirability.  Use more-typical names for apps.
46334         Add shell, coreutils, diffutils, grep, tar, gzip.
46335
46336 2007-04-04  Simon Josefsson  <simon@josefsson.org>
46337
46338         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
46339
46340 2007-04-04  Karl Berry  <karl@gnu.org>
46341
46342         * MODULES.html.sh (func_module): missing '.
46343
46344 2007-04-03  Bruno Haible  <bruno@clisp.org>
46345
46346         * modules/argmatch-tests (Makefile.am): New variable
46347         test_argmatch_LDADD.
46348         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
46349         * modules/array-list-tests (Makefile.am): New variable
46350         test_array_list_LDADD.
46351         * modules/array-oset-tests (Makefile.am): New variable
46352         test_array_oset_LDADD.
46353         * modules/avltree-list-tests (Makefile.am): New variable
46354         test_avltree_list_LDADD.
46355         * modules/avltree-oset-tests (Makefile.am): New variable
46356         test_avltree_oset_LDADD.
46357         * modules/avltreehash-list-tests (Makefile.am): New variable
46358         test_avltreehash_list_LDADD.
46359         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
46360         test_canonicalize_lgpl_LDADD.
46361         * modules/carray-list-tests (Makefile.am): New variable
46362         test_carray_list_LDADD.
46363         * modules/dirname-tests (Makefile.am): New variable
46364         test_dirname_LDADD.
46365         * modules/linked-list-tests (Makefile.am): New variable
46366         test_linked_list_LDADD.
46367         * modules/linkedhash-list-tests (Makefile.am): New variable
46368         test_linkedhash_list_LDADD.
46369         * modules/rbtree-list-tests (Makefile.am): New variable
46370         test_rbtree_list_LDADD.
46371         * modules/rbtree-oset-tests (Makefile.am): New variable
46372         test_rbtree_oset_LDADD.
46373         * modules/rbtreehash-list-tests (Makefile.am): New variable
46374         test_rbtreehash_list_LDADD.
46375         * modules/xvasprintf-tests (Makefile.am): New variable
46376         test_xvasprintf_LDADD.
46377         Reported by Eric Blake.
46378
46379 2007-04-03  Eric Blake  <ebb9@byu.net>
46380
46381         * DEPENDENCIES: Weaken m4 requirements.
46382
46383 2007-04-03  Bruno Haible  <bruno@clisp.org>
46384
46385         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
46386         * modules/isnanl-tests (configure.ac): Likewise.
46387
46388 2007-04-03  Ben Pfaff  <blp@gnu.org>
46389
46390         * modules/iconv_open: Add $(srcdir)/ to source directory
46391         references in Makefile fragments that call gperf, to fix VPATH
46392         builds.
46393
46394 2007-04-03  Bruno Haible  <bruno@clisp.org>
46395
46396         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
46397         * lib/ldexpl.c: Undo last change.
46398
46399 2007-04-03  Bruno Haible  <bruno@clisp.org>
46400
46401         * modules/printf-frexpl (Depends-on): Undo last change.
46402         (Files): Add m4/ldexpl.m4.
46403
46404 2007-04-03  Bruno Haible  <bruno@clisp.org>
46405
46406         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
46407         * modules/isnanl (Link): New section.
46408
46409         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
46410         * modules/frexp (Link): New section.
46411
46412         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
46413         * modules/frexpl (Link): New section.
46414
46415         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
46416         * modules/ldexpl (Link): New section.
46417
46418 2007-04-03  Bruno Haible  <bruno@clisp.org>
46419
46420         * modules/TEMPLATE-EXTENDED: New file.
46421         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
46422
46423 2007-04-03  Bruno Haible  <bruno@clisp.org>
46424
46425         * DEPENDENCIES: New file.
46426         Suggested by Simon Josefsson.
46427
46428 2007-04-03  Bruno Haible  <bruno@clisp.org>
46429
46430         * doc/gnulib.texi: Escape @.
46431
46432 2007-04-03  James Youngman  <jay@gnu.org>
46433         and Paul Eggert  <eggert@cs.ucla.edu>
46434
46435         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
46436         birthtime on all systems that have birthtime, not just those which
46437         use st_birthtimensec rather than st_birthtim.  Putting zero in
46438         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
46439         that the birth time is not available for files on an NFS mount.
46440
46441 2007-04-03  Simon Josefsson  <simon@josefsson.org>
46442
46443         * modules/memxor: Move back from crypto/, suggested by Bruno.
46444         * modules/crypto/hmac-sha1: Fix memxor dependency.
46445
46446         * modules/crypto/gc: Moved from ../.
46447
46448 2007-04-02  Eric Blake  <ebb9@byu.net>
46449
46450         * lib/ldexpl.c (includes): Avoid libm.
46451
46452         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
46453
46454 2007-04-02  Bruno Haible  <bruno@clisp.org>
46455
46456         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
46457         on IRIX.
46458
46459 2007-04-02  Bruno Haible  <bruno@clisp.org>
46460
46461         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
46462         x86 or x86_64 platforms running MacOS X.
46463         Reported by Ryan Schmidt <@ryandesign.com>.
46464
46465 2007-04-02  Bruno Haible  <bruno@clisp.org>
46466
46467         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
46468         i386.
46469
46470 2007-04-01  Simon Josefsson  <simon@josefsson.org>
46471
46472         * modules/crypto/arcfour: Moved from ../.
46473         * modules/crypto/arcfour-tests: Moved from ../.
46474         * modules/crypto/arctwo: Moved from ../.
46475         * modules/crypto/arctwo-tests: Moved from ../.
46476         * modules/crypto/des: Moved from ../.
46477         * modules/crypto/des-tests: Moved from ../.
46478         * modules/crypto/gc-arcfour: Moved from ../.
46479         * modules/crypto/gc-arcfour-tests: Moved from ../.
46480         * modules/crypto/gc-arctwo: Moved from ../.
46481         * modules/crypto/gc-arctwo-tests: Moved from ../.
46482         * modules/crypto/gc-des: Moved from ../.
46483         * modules/crypto/gc-des-tests: Moved from ../.
46484         * modules/crypto/gc-hmac-md5: Moved from ../.
46485         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
46486         * modules/crypto/gc-hmac-sha1: Moved from ../.
46487         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
46488         * modules/crypto/gc-md2: Moved from ../.
46489         * modules/crypto/gc-md2-tests: Moved from ../.
46490         * modules/crypto/gc-md4: Moved from ../.
46491         * modules/crypto/gc-md4-tests: Moved from ../.
46492         * modules/crypto/gc-md5: Moved from ../.
46493         * modules/crypto/gc-md5-tests: Moved from ../.
46494         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
46495         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
46496         * modules/crypto/gc-random: Moved from ../.
46497         * modules/crypto/gc-rijndael: Moved from ../.
46498         * modules/crypto/gc-rijndael-tests: Moved from ../.
46499         * modules/crypto/gc-sha1: Moved from ../.
46500         * modules/crypto/gc-sha1-tests: Moved from ../.
46501         * modules/crypto/gc-tests: Moved from ../.
46502         * modules/crypto/hmac-md5: Moved from ../.
46503         * modules/crypto/hmac-md5-tests: Moved from ../.
46504         * modules/crypto/hmac-sha1: Moved from ../.
46505         * modules/crypto/hmac-sha1-tests: Moved from ../.
46506         * modules/crypto/md2: Moved from ../.
46507         * modules/crypto/md2-tests: Moved from ../.
46508         * modules/crypto/md4: Moved from ../.
46509         * modules/crypto/md4-tests: Moved from ../.
46510         * modules/crypto/md5: Moved from ../.
46511         * modules/crypto/md5-tests: Moved from ../.
46512         * modules/crypto/memxor: Moved from ../.
46513         * modules/crypto/rijndael: Moved from ../.
46514         * modules/crypto/rijndael-tests: Moved from ../.
46515         * modules/crypto/sha1: Moved from ../.
46516
46517 2007-03-30  James Youngman  <jay@gnu.org>
46518
46519         * tests/test-stat-time.c (prepare_test): use chmod() rather than
46520         rename() to change the ctime of a file (because ctime is unaffected
46521         by rename on jfs2 on AIX 5.1).
46522         (main): Start by doing cleanup, in case a previous run failed leaving
46523         test files behind.
46524
46525 2007-03-31  Bruno Haible  <bruno@clisp.org>
46526
46527         Support old proprietary implementations of iconv.
46528         * modules/iconv_open: New file.
46529         * lib/iconv_.h: New file.
46530         * m4/iconv_h.m4: New file.
46531         * lib/iconv_open.c: New file.
46532         * lib/iconv_open-aix.gperf: New file.
46533         * lib/iconv_open-hpux.gperf: New file.
46534         * lib/iconv_open-irix.gperf: New file.
46535         * lib/iconv_open-osf.gperf: New file.
46536         * m4/iconv_open.m4: New file.
46537         * modules/linebreak (Depends-on): Add iconv_open.
46538         * modules/striconv (Depends-on): Likewise.
46539         * modules/striconveh (Depends-on): Likewise.
46540         * modules/unicodeio (Depends-on): Likewise.
46541         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
46542         (iconv_t)(-1).
46543         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
46544         conversion if cd is (iconv_t)(-1).
46545         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
46546         is not possible.
46547
46548 2007-03-31  Bruno Haible  <bruno@clisp.org>
46549
46550         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
46551         work on Solaris either. Protect also second use of "autodetect_jp".
46552
46553 2007-03-31  Bruno Haible  <bruno@clisp.org>
46554
46555         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
46556         the function is not present.
46557
46558 2007-03-31  Bruno Haible  <bruno@clisp.org>
46559
46560         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
46561         the function is not present.
46562
46563 2007-03-31  Bruno Haible  <bruno@clisp.org>
46564
46565         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
46566         a bug in HP-UX iconv_open().
46567
46568 2007-03-31  Bruno Haible  <bruno@clisp.org>
46569
46570         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
46571         (Mathematics <math.h>): New section, add fpieee.
46572         (Input/output <stdio.h>): Add fseterr.
46573         (Mathematics <math.h>): New section, add printf-frexp.
46574         (Container data structures): Add sublist.
46575         (Core language properties): Add fpucw, inline.
46576         (Functions for greatest-width integer types <inttypes.h>): Add
46577         imaxabs, imaxdiv, inttypes.
46578         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
46579         isnanl-nolibm, ldexp.
46580         (Mathematics <math.h>): New section, add printf-frexpl.
46581         (Support for systems lacking POSIX:2001): Add fprintf-posix,
46582         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
46583         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
46584         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
46585         (Unicode string functions): Add unistr/u*-mbtoucr.
46586         (Java): Add javacomp-script, javaexec-script.
46587         (C#): Add csharpcomp-script, csharpexec-script.
46588         (Support for building libraries and executables): Add havelib,
46589         relocatable-*.
46590         (Support for maintaining and releasing projects): Renamed from
46591         'Support for maintaining and release projects'. Add announce-gen.
46592
46593 2007-03-31  Bruno Haible  <bruno@clisp.org>
46594
46595         * README: Talk primarily about git.
46596         (git and CVS): Renamed from CVS.
46597         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
46598         gnulib is available through git.
46599         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
46600
46601 2007-03-30  Bruno Haible  <bruno@clisp.org>
46602
46603         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
46604         * lib/poll_.h: Likewise.
46605         * lib/stat_.h: Likewise.
46606         * lib/sys_time_.h: Likewise.
46607         * lib/sysexit_.h: Likewise.
46608         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
46609         * lib/stdbool_.h: Likewise.
46610         * lib/byteswap_.h: Add double-inclusion guard.
46611
46612 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
46613
46614         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
46615
46616 2007-03-30  Karl Berry  <karl@gnu.org>
46617
46618         * config/srclist-update: double space after USA in the license
46619         substitution, since that's how it's usually (?) written.
46620
46621 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
46622
46623         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
46624         reported by Bruno Haible.
46625
46626 2007-03-29  Bruno Haible  <bruno@clisp.org>
46627
46628         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
46629         a bug in AIX iconv().
46630
46631 2007-03-29  Bruno Haible  <bruno@clisp.org>
46632
46633         * modules/ldexpl-tests: New file.
46634         * tests/test-ldexpl.c: New file.
46635
46636 2007-03-29  Bruno Haible  <bruno@clisp.org>
46637
46638         * lib/ldexpl.c: Include fpucw.h.
46639         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
46640         multiplication.
46641         * modules/ldexpl (Depends-on): Add fpucw.
46642
46643 2007-03-29  Bruno Haible  <bruno@clisp.org>
46644
46645         * modules/ldexpl: New file.
46646         * m4/ldexpl.m4: New file.
46647         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
46648         set.
46649         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
46650         REPLACE_LDEXPL.
46651         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
46652         REPLACE_LDEXPL.
46653         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
46654         gl_FUNC_LDEXPL_WORKS.
46655         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
46656         * modules/mathl (Files): Remove lib/ldexpl.c.
46657         (Depends-on): Add ldexpl.
46658
46659 2007-03-29  Bruno Haible  <bruno@clisp.org>
46660
46661         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
46662
46663 2007-03-29  Bruno Haible  <bruno@clisp.org>
46664
46665         * tests/test-striconveh.c (main): Don't assume that a direct conversion
46666         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
46667         and possibly also HP-UX.
46668         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
46669         work on AIX, IRIX, HP-UX, OSF/1.
46670         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46671         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46672         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46673         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46674         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
46675         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46676
46677 2007-03-29  Bruno Haible  <bruno@clisp.org>
46678
46679         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
46680
46681 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
46682
46683         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
46684         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
46685
46686 2007-03-29  Eric Blake  <ebb9@byu.net>
46687
46688         * lib/acl-internal.h: Remove redundant include.
46689         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
46690         Cygwin when a file is locked.
46691
46692 2007-03-29  Bruno Haible  <bruno@clisp.org>
46693
46694         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
46695         file.
46696         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
46697
46698 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
46699
46700         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
46701         try to remove a parent directory if the child couldn't be removed
46702         (except for the first rmdir, which could fail because the child
46703         doesn't exist).  Problem reported by Jeff Blaine in
46704         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
46705
46706 2007-03-28  Bruno Haible  <bruno@clisp.org>
46707
46708         * lib/striconveh.c (utf8conv_carefully): New function.
46709         (mem_cd_iconveh_internal): Invoke it.
46710
46711 2007-03-28  Bruno Haible  <bruno@clisp.org>
46712
46713         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
46714         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
46715         input.
46716         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
46717         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
46718         unistr/u8-uctomb.
46719
46720 2007-03-28  Bruno Haible  <bruno@clisp.org>
46721
46722         * modules/unistr/u8-mbtoucr: New file.
46723         * lib/unistr/u8-mbtoucr.c: New file.
46724         * modules/unistr/u16-mbtoucr: New file.
46725         * lib/unistr/u16-mbtoucr.c: New file.
46726         * modules/unistr/u16-mbtoucr: New file.
46727         * lib/unistr/u16-mbtoucr.c: New file.
46728         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
46729
46730 2007-03-27  Simon Josefsson  <simon@josefsson.org>
46731             Bruno Haible  <bruno@clisp.org>
46732
46733         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
46734         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
46735         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
46736
46737         * m4/stdio_h.m4: Add stubs for vasprintf too.
46738
46739         * modules/stdio: Support vasprintf in sed command.
46740
46741         * modules/vasprintf: Depend on stdio for prototypes.  Remove
46742         vasprintf.h.  Add stdio module indicator.
46743
46744         * lib/stdio_.h: Declare asprintf and vasprintf, based on
46745         vasprintf.h.
46746
46747         * lib/vasprintf.h: File removed.
46748
46749         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
46750         * lib/vasprintf.c: Ditto.
46751         * lib/xvasprintf.c: Ditto.
46752         * tests/test-vasprintf-posix.c: Ditto.
46753         * tests/test-vasprintf.c: Ditto.
46754
46755 2007-03-27  Bruno Haible  <bruno@clisp.org>
46756
46757         Make vasnprintf multithread-safe.
46758         * lib/vasnprintf.c (decimal_point_char): New function.
46759         (VASNPRINTF): Use it.
46760         Suggested by Simon Josefsson.
46761
46762 2007-03-27  Eric Blake  <ebb9@byu.net>
46763
46764         Support sub-second birthtime on cygwin.
46765         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
46766         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
46767         (get_stat_birthtime): Also work with st_birthtim.
46768
46769 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
46770
46771         * lib/stat-time.h (USE_BIRTHTIME): Remove.
46772         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
46773         (get_stat_birthtime_ns): Do not try to use "spare" fields.
46774         (get_stat_birthtime_ns): Simplify compile-time tests.
46775         (get_stat_birthtime): Change the API to look like
46776         get_stat_mtime etc., except return a negative tv_nsec on error.
46777         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
46778         Don't check for "spare" fields.
46779         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
46780         or for struct stat.st_birthtime, as these tests aren't used.
46781         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
46782
46783 2007-03-27  Bruno Haible  <bruno@clisp.org>
46784
46785         * lib/stat-time.h: Include <sys/stat.h>.
46786
46787 2007-03-27  James Youngman  <jay@gnu.org>
46788
46789         * lib/stat-time.h (get_stat_birthtime): New function for
46790           retrieving st_birthtime as provided by UFS2 (hence *BSD).
46791         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
46792           and its variants.
46793         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
46794         * modules/stat-time-test: New file.
46795         * tests/test-stat-time.c: New test, devised by Bruno Haible.
46796
46797 2007-03-26  Bruno Haible  <bruno@clisp.org>
46798
46799         Better support of signalling NaNs.
46800         * lib/atanl.c: Include isnanl.h.
46801         (atanl): Perform test for NaN at the beginning of the function and
46802         through a call to isnanl.
46803         * lib/cosl.c: Include isnanl.h.
46804         (cosl): Perform test for NaN at the beginning of the function and
46805         through a call to isnanl.
46806         * lib/ldexpl.c: Include isnanl.h.
46807         (ldexpl): Perform test for NaN through a call to isnanl.
46808         * lib/logl.c: Include isnanl.h.
46809         (logl): Perform test for NaN at the beginning of the function and
46810         through a call to isnanl.
46811         * lib/sinl.c: Include isnanl.h.
46812         (sinl): Perform test for NaN at the beginning of the function and
46813         through a call to isnanl.
46814         * lib/sqrtl.c: Include isnanl.h.
46815         (sqrtl): Perform test for NaN at the beginning of the function and
46816         through a call to isnanl.
46817         * lib/tanl.c: Include isnanl.h.
46818         (tanl): Perform test for NaN at the beginning of the function and
46819         through a call to isnanl.
46820         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
46821         * modules/mathl (Depends-on): Add isnanl.
46822
46823 2007-03-26  Eric Blake  <ebb9@byu.net>
46824
46825         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
46826         regression in logic sense of previous patch.
46827
46828 2007-03-26  Bruno Haible  <bruno@clisp.org>
46829
46830         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
46831         unportable shell command "if ! ...".
46832         Reported by Ralf Wildenhues.
46833
46834 2007-03-25  Bruno Haible  <bruno@clisp.org>
46835
46836         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
46837         <sysexits.h> file, and only add EX_CONFIG.
46838         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
46839         absolute file name and whether it is sufficient. Substitute also
46840         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
46841         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
46842         ABSOLUTE_SYSEXITS_H into sysexits.h.
46843
46844 2007-03-25  Bruno Haible  <bruno@clisp.org>
46845
46846         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
46847         hints is NULL.
46848
46849 2007-03-25  Bruno Haible  <bruno@clisp.org>
46850
46851         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
46852         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
46853
46854 2007-03-25  Bruno Haible  <bruno@clisp.org>
46855
46856         * lib/vasnprintf.c: Include langinfo.h.
46857         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
46858         multithread-safe.
46859         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
46860         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
46861         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
46862         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
46863         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
46864         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
46865         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
46866         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
46867         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
46868         Reported by Simon Josefsson.
46869
46870 2007-03-25  Bruno Haible  <bruno@clisp.org>
46871
46872         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
46873         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
46874         * modules/vasnprintf (Depends-on): Add stdint.
46875
46876 2007-03-25  Bruno Haible  <bruno@clisp.org>
46877
46878         * modules/fpieee: New file.
46879         * m4/fpieee.m4: New file.
46880         * modules/isnan-nolibm (Depends-on): Add fpieee.
46881         * modules/isnanl-nolibm (Depends-on): Add fpieee.
46882         * modules/isnanl (Depends-on): Add fpieee.
46883
46884 2007-03-25  Bruno Haible  <bruno@clisp.org>
46885
46886         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
46887
46888 2007-03-25  Bruno Haible  <bruno@clisp.org>
46889
46890         Avoid test failures on IRIX 6.5.
46891         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
46892         (main): Use it.
46893         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
46894         macros.
46895         (main): Use them.
46896
46897 2007-03-25  Bruno Haible  <bruno@clisp.org>
46898
46899         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
46900         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
46901         exists but doesn't work.
46902         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
46903         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
46904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
46905         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
46906
46907 2007-03-25  Bruno Haible  <bruno@clisp.org>
46908
46909         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
46910         returns inf. Needed on IRIX 6.5.
46911
46912 2007-03-25  Bruno Haible  <bruno@clisp.org>
46913
46914         * tests/test-frexpl.c: Include isnanl-nolibm.h.
46915         (main): Use isnanl instead of x != x idiom.
46916         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
46917
46918         * tests/test-frexp.c: Include isnan.h.
46919         (main): Use isnan instead of x != x idiom.
46920         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
46921
46922 2007-03-25  Bruno Haible  <bruno@clisp.org>
46923
46924         * tests/test-frexp.c (NaN): New function/macro.
46925         (main): Use it instead of 0.0 / 0.0.
46926         * tests/test-isnan.c (NaN): New function/macro.
46927         (main): Use it instead of 0.0 / 0.0.
46928         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
46929         (test_function): Use it instead of 0.0 / 0.0.
46930         * tests/test-vasprintf-posix.c (NaN): New function/macro.
46931         (test_function): Use it instead of 0.0 / 0.0.
46932         * tests/test-snprintf-posix.h (NaN): New function/macro.
46933         (test_function): Use it instead of 0.0 / 0.0.
46934         * tests/test-sprintf-posix.h (NaN): New function/macro.
46935         (test_function): Use it instead of 0.0 / 0.0.
46936         * tests/test-fprintf-posix.h (NaN): New function/macro.
46937         (test_function): Use it instead of 0.0 / 0.0.
46938         * tests/test-printf-posix.h (NaN): New function/macro.
46939         (test_function): Use it instead of 0.0 / 0.0.
46940
46941         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
46942
46943 2007-03-25  Bruno Haible  <bruno@clisp.org>
46944
46945         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
46946
46947 2007-03-25  Bruno Haible  <bruno@clisp.org>
46948
46949         * lib/regexec.c (merge_state_with_log): Make static.
46950
46951 2007-03-25  Bruno Haible  <bruno@clisp.org>
46952
46953         * lib/trigl.c (kernel_rem_pio2): Make static.
46954
46955 2007-03-25  Bruno Haible  <bruno@clisp.org>
46956
46957         * lib/sincosl.c (sincosl_table): Make static.
46958
46959 2007-03-25  Bruno Haible  <bruno@clisp.org>
46960
46961         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
46962         if the compiler does not support C99.
46963
46964 2007-03-25  Bruno Haible  <bruno@clisp.org>
46965
46966         * modules/time (Makefile.am): Ensure all rule action lines start with a
46967         tab.
46968
46969 2007-03-24  Bruno Haible  <bruno@clisp.org>
46970
46971         * modules/tsearch-tests: New file.
46972         * tests/test-tsearch.sh: New file.
46973         * tests/test-tsearch.c: New file, mostly copied from glibc.
46974
46975         * modules/search-tests: New file.
46976         * tests/test-search.c: New file.
46977
46978         * modules/search: New file.
46979         * lib/search_.h: New file, incorporating lib/tsearch.h.
46980         * m4/search_h.m4: New file.
46981         * lib/tsearch.h: Remove file.
46982         * lib/tsearch.c: Include search.h instead of tsearch.h.
46983         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
46984         HAVE_TSEARCH.
46985         * modules/tsearch (Files): Remove lib/tsearch.h.
46986         (Depends-on): Add search.
46987         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
46988         (Include): Change tsearch.h into search.h.
46989
46990 2007-03-24  Bruno Haible  <bruno@clisp.org>
46991
46992         * modules/fpucw: New file.
46993         * lib/fpucw.h: New file.
46994         * lib/frexp.c: Include fpucw.h.
46995         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
46996         (FUNC): Use them.
46997         * lib/printf-frexp.c: Include fpucw.h.
46998         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
46999         (FUNC): Use them.
47000         * lib/vasnprintf.c: Include fpucw.h.
47001         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
47002         'long double' calculations.
47003         * tests/test-frexpl.c: Include fpucw.h.
47004         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
47005         * tests/test-printf-frexpl.c: Include fpucw.h.
47006         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
47007         * modules/frexpl (Depends-on): Add fpucw.
47008         * modules/printf-frexpl (Depends-on): Likewise.
47009         * modules/fprintf-posix (Depends-on): Likewise.
47010         * modules/snprintf-posix (Depends-on): Likewise.
47011         * modules/sprintf-posix (Depends-on): Likewise.
47012         * modules/vasnprintf-posix (Depends-on): Likewise.
47013         * modules/vasprintf-posix (Depends-on): Likewise.
47014         * modules/vfprintf-posix (Depends-on): Likewise.
47015         * modules/vsnprintf-posix (Depends-on): Likewise.
47016         * modules/vsprintf-posix (Depends-on): Likewise.
47017         * modules/frexpl-tests (Depends-on): Likewise.
47018         * modules/printf-frexpl-tests (Depends-on): Likewise.
47019
47020 2007-03-24  Bruno Haible  <bruno@clisp.org>
47021
47022         * lib/float+.h: New file.
47023         * lib/isnan.c: Include float+.h.
47024         (SIZE): New macro.
47025         (FUNC): Compare only SIZE bytes of the value.
47026         * lib/vasnprintf.c: Include float+.h.
47027         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
47028         SIZEOF_LDBL or SIZEOF_DBL bytes.
47029         * modules/isnan-nolibm (Files): Add lib/float+.h.
47030         * modules/isnanl-nolibm (Files): Add lib/float+.h.
47031         * modules/isnanl (Files): Add lib/float+.h.
47032         * modules/vasnprintf (Files): Add lib/float+.h.
47033
47034 2007-03-24  Bruno Haible  <bruno@clisp.org>
47035
47036         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
47037         include isnanl-nolibm.h.
47038
47039 2007-03-24  Bruno Haible  <bruno@clisp.org>
47040
47041         * tests/test-read-file.c (main): Don't produce spurious output for
47042         expected situations. Make the test fail if it encountered unexpected
47043         results.
47044
47045 2007-03-24  Bruno Haible  <bruno@clisp.org>
47046
47047         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
47048         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
47049
47050 2007-03-24  Bruno Haible  <bruno@clisp.org>
47051
47052         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
47053
47054 2007-03-24  Bruno Haible  <bruno@clisp.org>
47055
47056         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
47057         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
47058
47059         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
47060         * modules/utf8-ucs4: Turn into a symbolic link to module
47061         unistr/u8-mbtouc.
47062
47063         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
47064         utf8-ucs4-unsafe.
47065         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
47066         unistr/u8-mbtouc-unsafe.
47067
47068         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
47069         * modules/utf16-ucs4: Turn into a symbolic link to module
47070         unistr/u16-mbtouc.
47071
47072         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
47073         utf16-ucs4-unsafe.
47074         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
47075         unistr/u16-mbtouc-unsafe.
47076
47077         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
47078         * modules/ucs4-utf8: Turn into a symbolic link to module
47079         unistr/u8-ubtomb.
47080
47081         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
47082         * modules/ucs4-utf16: Turn into a symbolic link to module
47083         unistr/u16-ubtomb.
47084
47085 2007-03-24  Bruno Haible  <bruno@clisp.org>
47086
47087         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
47088         Enable the function only if HAVE_INLINE.
47089         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
47090         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
47091         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
47092         Enable the function only if HAVE_INLINE.
47093         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
47094         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
47095         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
47096         Enable the function only if HAVE_INLINE.
47097         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
47098         Enable the function only if HAVE_INLINE.
47099         * modules/utf8-ucs4: Update.
47100         * modules/utf8-ucs4-unsafe: Update.
47101         * modules/utf16-ucs4: Update.
47102         * modules/utf16-ucs4-unsafe: Update.
47103         * modules/ucs4-utf8: Update.
47104         * modules/ucs4-utf16: Update.
47105
47106 2007-03-24  Bruno Haible  <bruno@clisp.org>
47107
47108         * lib/utf8-ucs4.h: Remove file.
47109         * lib/utf8-ucs4-unsafe.h: Remove file.
47110         * lib/utf16-ucs4.h: Remove file.
47111         * lib/utf16-ucs4-unsafe.h: Remove file.
47112         * lib/ucs4-utf8.h: Remove file.
47113         * lib/ucs4-utf16.h: Remove file.
47114         * lib/unistr.h: Include their previous contents.
47115         * m4/utf-ucs4.m4: Remove file.
47116         * m4/ucs4-utf.m4: Remove file.
47117         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
47118         (Depends-on): Add unistr/base.
47119         (configure.ac): Remove gl_UTF_UCS4.
47120         (Makefile.am): Update.
47121         (Include): Change to unistr.h.
47122         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
47123         (Depends-on): Add unistr/base.
47124         (configure.ac): Remove gl_UTF_UCS4.
47125         (Makefile.am): Update.
47126         (Include): Change to unistr.h.
47127         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
47128         (Depends-on): Add unistr/base.
47129         (configure.ac): Remove gl_UTF_UCS4.
47130         (Makefile.am): Update.
47131         (Include): Change to unistr.h.
47132         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
47133         (Depends-on): Add unistr/base.
47134         (configure.ac): Remove gl_UTF_UCS4.
47135         (Makefile.am): Update.
47136         (Include): Change to unistr.h.
47137         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
47138         (Depends-on): Add unistr/base.
47139         (configure.ac): Remove gl_UCS4_UTF.
47140         (Makefile.am): Update.
47141         (Include): Change to unistr.h.
47142         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
47143         (Depends-on): Add unistr/base.
47144         (configure.ac): Remove gl_UCS4_UTF.
47145         (Makefile.am): Update.
47146         (Include): Change to unistr.h.
47147         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
47148         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
47149         utf8-ucs4-unsafe.h.
47150         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
47151         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
47152         utf16-ucs4-unsafe.h.
47153         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
47154         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
47155         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
47156         * lib/unistr/u8-strchr.c: Likewise.
47157         * lib/unistr/u8-strrchr.c: Likewise.
47158         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
47159         * lib/unistr/u16-strchr.c: Likewise.
47160         * lib/unistr/u16-strrchr.c: Likewise.
47161         * lib/striconveh.c: Update.
47162         * lib/linebreak.c: Update.
47163
47164 2007-03-24  Bruno Haible  <bruno@clisp.org>
47165
47166         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
47167         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
47168
47169 2007-03-22  Bruno Haible  <bruno@clisp.org>
47170
47171         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
47172
47173 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
47174
47175         * MODULES.html.sh (File system functions): New module write-any-file.
47176         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
47177         * m4/write-any-file.m4: New files.
47178
47179 2007-03-23  Eric Blake  <ebb9@byu.net>
47180
47181         * gnulib-tool: Rearrange space-tab sequences, since some editors
47182         like to eat them.
47183
47184 2007-03-23  Eric Blake  <ebb9@byu.net>
47185
47186         * lib/version-etc.c (version_etc_va): Update license wording to
47187         be more concise.  Recommended by Richard Stallman.
47188
47189 2007-03-22  Bruno Haible  <bruno@clisp.org>
47190
47191         * lib/poll.c (MSG_PEEK): New fallback definition.
47192
47193 2007-03-22  Bruno Haible  <bruno@clisp.org>
47194
47195         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
47196         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
47197         (main): Update.
47198         Fixes a compilation error on BeOS.
47199
47200 2007-03-22  Bruno Haible  <bruno@clisp.org>
47201
47202         * modules/frexpl-tests: New file.
47203         * tests/test-frexpl.c: New file.
47204
47205         * modules/frexpl: New file.
47206         * m4/frexpl.m4: New file.
47207         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
47208         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
47209         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
47210         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
47211         (Depends-on): Add frexpl. Remove isnanl-nolibm.
47212         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
47213
47214 2007-03-22  Bruno Haible  <bruno@clisp.org>
47215
47216         * lib/frexpl.c: Share code with lib/frexp.c.
47217         * modules/mathl (Files): Add lib/frexp.c.
47218         (Depends-on): Add isnanl-nolibm.
47219
47220 2007-03-22  Bruno Haible  <bruno@clisp.org>
47221
47222         * modules/printf-frexp (Files): Add m4/frexp.m4.
47223         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
47224         only if the found frexp function actually works.
47225
47226 2007-03-22  Bruno Haible  <bruno@clisp.org>
47227
47228         * lib/frexp.c: Remove older implementation that uses divisions.
47229
47230 2007-03-21  Bruno Haible  <bruno@clisp.org>
47231
47232         * modules/frexp-tests: New file.
47233         * tests/test-frexp.c: New file.
47234
47235         * modules/frexp: New file.
47236         * lib/frexp.c: New file.
47237         * m4/frexp.m4: New file.
47238         * lib/math_.h (frexp): New declaration.
47239         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
47240         REPLACE_FREXP.
47241         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
47242
47243 2007-03-21  Bruno Haible  <bruno@clisp.org>
47244
47245         * modules/isnanl-tests: New file.
47246         * tests/test-isnanl.c: New file.
47247
47248         * modules/isnanl: New file.
47249         * lib/isnanl.h: New file.
47250         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
47251         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
47252         gl_FUNC_ISNANL_WORKS.
47253         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
47254         New macros.
47255
47256 2007-03-21  Bruno Haible  <bruno@clisp.org>
47257
47258         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
47259         lib/isnanl.h.
47260         (Include): Update.
47261         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
47262         * lib/vasnprintf.c: Update.
47263         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
47264         tests/test-isnanl.h, remove tests/test-isnanl.c.
47265         (Makefile.am): Update.
47266         * tests/test-isnanl-nolibm.c: New file.
47267         * tests/test-isnanl.h: New file.
47268         * tests/test-isnanl.c: Remove file.
47269
47270 2007-03-21  Jim Meyering  <jim@meyering.net>
47271
47272         When trying to open ".", treat ESTALE like EACCES.
47273         * lib/savewd.c (savewd_save): Resort to forking not just upon
47274         failure with EACCES, but also when errno is ESTALE.
47275
47276 2007-03-20  Bruno Haible  <bruno@clisp.org>
47277
47278         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
47279         Needed on AIX 5.1. Reported by Matthew Woehlke.
47280
47281 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
47282
47283         Suggestions by Bruno Haible:
47284         * lib/acl-internal.h: Include "gettext.h" rather than rolling
47285         our own.
47286         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
47287         * modules/acl (Depends-on): Add gettext.
47288
47289 2007-03-19  Bruno Haible  <bruno@clisp.org>
47290
47291         * modules/iconvme: Remove file.
47292         * lib/iconvme.h: Remove file.
47293         * lib/iconvme.c: Remove file.
47294         * m4/iconvme.m4: Remove file.
47295
47296 2007-03-19  Bruno Haible  <bruno@clisp.org>
47297
47298         * doc/relocatable-maint.texi: Break long shell script line.
47299         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
47300
47301 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
47302
47303         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
47304         handle file_has_acl.
47305         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
47306         * lib/acl.c: Move header inclusions and related macro defns into
47307         lib/acl-internal.h.
47308         (S_ISLNK): Remove defn, since that's now done for us.
47309         (file_has_acl): Move to lib/file-has-acl.c.
47310         Call acl_trivial if available.  This is the crucial part of the fix.
47311         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
47312         shared within the library.  Rewrite a bit, partly to make it compatible
47313         with the GNU coding style.
47314         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
47315         Remove unnecessary double-quotes.
47316         Don't test for acl_to_text; the build will catch that.
47317         Replace acl_entries if it doesn't exist and it is needed.
47318         Check for -lsec and acl_trivial (as used on Solaris 10).
47319         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
47320         lib/file-has-acl.c.
47321         (Depends-on): Add sys_stat, for S_ISLNK.
47322
47323 2007-03-19  Ben Pfaff  <blp@gnu.org>
47324
47325         * doc/gnulib.texi: Fix typos.
47326         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
47327
47328 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
47329
47330         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
47331         If size is zero here, buf must be zero.
47332
47333 2007-03-19  Simon Josefsson  <simon@josefsson.org>
47334
47335         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
47336         <bruno@clisp.org>.
47337
47338 2007-03-18  Bruno Haible  <bruno@clisp.org>
47339
47340         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
47341         Suggested by Eric Blake.
47342
47343 2007-03-18  Ben Pfaff  <blp@gnu.org>
47344
47345         * doc/relocatable.texi: Recommend using as prefix a directory
47346         that does not exist and will never be created.  Based on
47347         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
47348         and others.
47349
47350 2007-03-17  Bruno Haible  <bruno@clisp.org>
47351
47352         * lib/fchownat.c: Include lchown.h.
47353
47354 2007-03-17  Bruno Haible  <bruno@clisp.org>
47355
47356         Fix endless loop when the given allocated size was > INT_MAX.
47357         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
47358         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
47359         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
47360         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
47361         * lib/sprintf.c (sprintf): Likewise.
47362
47363 2007-03-17  Bruno Haible  <bruno@clisp.org>
47364
47365         * tests/test-argp-2.sh (func_compare): Output a context diff.
47366
47367 2007-03-17  Bruno Haible  <bruno@clisp.org>
47368
47369         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
47370         locale's decimal-point character.
47371
47372 2007-03-17  Bruno Haible  <bruno@clisp.org>
47373
47374         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
47375         before comparing it. Needed because on some platforms (e.g. x86) a
47376         'long double' occupies less bytes than sizeof (long double).
47377
47378 2007-03-17  Bruno Haible  <bruno@clisp.org>
47379
47380         * tests/test-crc.c (main): Make printf statements 64-bit clean.
47381         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
47382         * tests/test-getaddrinfo.c (simple): Likewise.
47383         * tests/test-read-file.c (main): Likewise.
47384
47385 2007-03-17  Bruno Haible  <bruno@clisp.org>
47386
47387         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
47388
47389 2007-03-17  Bruno Haible  <bruno@clisp.org>
47390
47391         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
47392         unused variable.
47393
47394 2007-03-17  Bruno Haible  <bruno@clisp.org>
47395
47396         * tests/test-c-strcasecmp.c: Include c-strcase.h.
47397         * tests/test-c-strncasecmp.c: Likewise.
47398
47399 2007-03-17  Bruno Haible  <bruno@clisp.org>
47400
47401         * modules/stdlib (Depends-on): Add unistd.
47402         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
47403         Needed for MacOS X 10.3.
47404
47405 2007-03-17  Bruno Haible  <bruno@clisp.org>
47406
47407         * lib/unistr/u-strdup.h: Include <stdlib.h>.
47408
47409 2007-03-17  Bruno Haible  <bruno@clisp.org>
47410
47411         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
47412
47413 2007-03-17  Bruno Haible  <bruno@clisp.org>
47414
47415         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
47416         to reflect files copied from gnulib (with or without modifications).
47417         Suggested by Jim Meyering.
47418
47419 2007-03-17  Eric Blake  <ebb9@byu.net>
47420
47421         * NEWS: Document stdlib change from 2007-02-18.
47422
47423 2007-03-17  Jim Meyering  <jim@meyering.net>
47424
47425         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
47426         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
47427         someone uses a name containing shell meta-characters.
47428         Reported by Alfred M. Szmidt.
47429
47430         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
47431
47432 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
47433
47434         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
47435         and copy gettext configuration files only if configure.ac contains
47436         a use of AM_GNU_GETTEXT_VERSION.
47437
47438 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
47439
47440         * build-aux/bootstrap (gnulib_name): New variable.
47441         (gnulib_tool_options): Use it.
47442
47443 2007-03-13  Simon Josefsson  <simon@josefsson.org>
47444
47445         * tests/test-des.c: Use new namespace.
47446
47447 2007-03-15  Bruno Haible  <bruno@clisp.org>
47448
47449         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
47450         Reported by James Youngman <jay@gnu.org>.
47451
47452 2007-03-15  Bruno Haible  <bruno@clisp.org>
47453
47454         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
47455         declared prototype. Needed with cc on OSF/1 5.1.
47456
47457 2007-03-15  Bruno Haible  <bruno@clisp.org>
47458
47459         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
47460         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
47461         (struct gl_list_implementation): Add dispose_fn argument to the
47462         'create_empty', 'create' methods.
47463         (struct gl_list_impl_base): Add field 'dispose_fn'.
47464         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
47465         argument.
47466         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
47467         dispose_fn argument.
47468         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
47469         dispose_fn on the dropped values.
47470         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
47471         dispose_fn argument.
47472         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
47473         dropped values.
47474         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
47475         (gl_tree_remove_node): Call dispose_fn on the dropped value.
47476         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
47477         (gl_tree_remove_node): Call dispose_fn on the dropped value.
47478         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
47479         argument.
47480         (gl_tree_list_free): Call dispose_fn on the dropped values.
47481         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
47482         the dropped values.
47483         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
47484         Add dispose_fn argument.
47485         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
47486         Call dispose_fn on the dropped values.
47487         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
47488         Add dispose_fn argument.
47489         (gl_sublist_create): Initialize the 'dispose_fn' field.
47490         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
47491         * tests/test-array_list.c (main): Update.
47492         * tests/test-carray_list.c (main): Update.
47493         * tests/test-avltree_list.c (main): Update.
47494         * tests/test-rbtree_list.c (main): Update.
47495         * tests/test-avltreehash_list.c (main): Update.
47496         * tests/test-rbtreehash_list.c (main): Update.
47497         * tests/test-linked_list.c (main): Update.
47498         * tests/test-linkedhash_list.c (main): Update.
47499         * tests/test-array_oset.c (main): Update.
47500
47501 2007-03-15  Bruno Haible  <bruno@clisp.org>
47502
47503         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
47504         (gl_oset_create_empty): Add dispose_fn argument.
47505         (struct gl_oset_implementation): Add dispose_fn argument to
47506         'create_empty' method.
47507         (struct gl_oset_impl_base): Add dispose_fn field.
47508         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
47509         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
47510         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
47511         values.
47512         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
47513         (gl_tree_oset_free): Call dispose_fn on the dropped values.
47514         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
47515         dropped value.
47516         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
47517         dropped value.
47518         * tests/test-array_oset.c (main): Update.
47519         * tests/test-avltree_oset.c (main): Update.
47520         * tests/test-rbtree_oset.c (main): Update.
47521         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
47522
47523 2007-03-13  Bruno Haible  <bruno@clisp.org>
47524
47525         * tests/test-stdbool.c (i): Update after last patch.
47526
47527 2007-03-12  Bruno Haible  <bruno@clisp.org>
47528
47529         * lib/quotearg.c: Include <wctype.h> early, before the definition of
47530         the iswprint macro. Needed on Solaris 2.5.1.
47531
47532 2007-03-12  Bruno Haible  <bruno@clisp.org>
47533
47534         * tests/test-printf-frexp.c (main): Declare x as volatile.
47535
47536 2007-03-12  Simon Josefsson  <simon@josefsson.org>
47537
47538         * doc/gnulib.texi (Build robot for gnulib): New section.
47539
47540 2007-03-12  Jim Meyering  <jim@meyering.net>
47541
47542         * build-aux/bootstrap: New file.
47543         * build-aux/bootstrap.conf: New file, from coreutils.
47544
47545 2007-03-11  Bruno Haible  <bruno@clisp.org>
47546
47547         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
47548
47549 2007-03-12  Simon Josefsson  <simon@josefsson.org>
47550
47551         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
47552         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
47553         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
47554
47555 2007-03-11  Bruno Haible  <bruno@clisp.org>
47556
47557         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
47558         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
47559
47560 2007-03-11  Bruno Haible  <bruno@clisp.org>
47561
47562         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
47563         formula. Needed for SunPRO C 5.0.
47564
47565 2007-03-11  Bruno Haible  <bruno@clisp.org>
47566
47567         * modules/long-options (Depends-on): Add getopt.
47568
47569 2007-03-11  Bruno Haible  <bruno@clisp.org>
47570
47571         * modules/modechange (Depends-on): Add stdbool.
47572
47573 2007-03-11  Bruno Haible  <bruno@clisp.org>
47574
47575         * modules/i-ring (Depends-on): Add stdbool.
47576
47577 2007-03-11  Bruno Haible  <bruno@clisp.org>
47578
47579         * modules/gc-des (Depends-on): Add stdbool.
47580
47581 2007-03-11  Bruno Haible  <bruno@clisp.org>
47582
47583         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
47584
47585 2007-03-11  Bruno Haible  <bruno@clisp.org>
47586
47587         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
47588
47589 2007-03-11  Bruno Haible  <bruno@clisp.org>
47590
47591         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
47592
47593 2007-03-11  Bruno Haible  <bruno@clisp.org>
47594
47595         * lib/vasnprintf.c (sprintf): Undefine.
47596
47597 2007-03-11  Bruno Haible  <bruno@clisp.org>
47598
47599         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
47600         initializers in SunPRO C and Compaq C compilers.
47601
47602 2007-03-11  Bruno Haible  <bruno@clisp.org>
47603
47604         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
47605         decrementing code ANSI C compliant.
47606
47607 2007-03-11  Bruno Haible  <bruno@clisp.org>
47608
47609         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
47610         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
47611
47612 2007-03-11  Bruno Haible  <bruno@clisp.org>
47613
47614         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
47615         <stdbool.h> substitute doesn't pass.
47616
47617 2007-03-11  Bruno Haible  <bruno@clisp.org>
47618
47619         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
47620
47621 2007-03-11  Bruno Haible  <bruno@clisp.org>
47622
47623         * gnulib-tool (func_create_megatestdir): Create also an autobuild
47624         script, for submission to autobuild.josefsson.org.
47625
47626 2007-03-10  Bruno Haible  <bruno@clisp.org>
47627
47628         * modules/canonicalize-lgpl-tests: New file.
47629         * tests/test-canonicalize-lgpl.sh: New file.
47630         * tests/test-canonicalize-lgpl.c: New file.
47631
47632         * modules/c-strcase-tests: New file.
47633         * tests/test-c-strcase.sh: New file.
47634         * tests/test-c-strcasecmp.c: New file.
47635         * tests/test-c-strncasecmp.c: New file.
47636
47637         * modules/atexit-tests: New file.
47638         * tests/test-atexit.sh: New file.
47639         * tests/test-atexit.c: New file.
47640
47641 2007-03-10  Bruno Haible  <bruno@clisp.org>
47642
47643         * tests/test-binary-io.sh: Use temporary filenames that are not so
47644         likely to clash with those of other tests (in a parallel make).
47645         * tests/test-binary-io.c: Likewise.
47646
47647 2007-03-10  Bruno Haible  <bruno@clisp.org>
47648
47649         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
47650         fallback; use #error instead.
47651         Suggested by Simon Josefsson.
47652
47653 2007-03-10  Bruno Haible  <bruno@clisp.org>
47654
47655         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
47656         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
47657         first and the last.
47658
47659 2007-03-10  Bruno Haible  <bruno@clisp.org>
47660
47661         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
47662
47663 2007-03-10  Bruno Haible  <bruno@clisp.org>
47664
47665         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
47666         "make distcheck".
47667         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
47668         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
47669         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
47670
47671 2007-03-10  Bruno Haible  <bruno@clisp.org>
47672
47673         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
47674         variable.
47675         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
47676         variable.
47677
47678 2007-03-09  Eric Blake  <ebb9@byu.net>
47679         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
47680
47681         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
47682         types are not being provided by gnulib.
47683         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
47684         types are supported.
47685
47686 2007-03-10  Bruno Haible  <bruno@clisp.org>
47687
47688         * lib/stdio_.h (__attribute__): New macro.
47689         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
47690         vsprintf): Specify __attribute__ __format__ for GCC.
47691         Suggested by Eric Blake.
47692
47693 2007-03-09  Bruno Haible  <bruno@clisp.org>
47694
47695         * modules/printf-posix-tests: New file.
47696         * tests/test-printf-posix.sh: New file.
47697         * tests/test-printf-posix.c: New file.
47698
47699         * modules/printf-posix: New file.
47700         * lib/printf.c: New file.
47701         * m4/printf-posix-rpl.m4: New file.
47702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
47703         REPLACE_PRINTF.
47704         * lib/stdio_.h (printf): New declaration.
47705         (format, __format__, ____printf____, ____scanf____, ____strftime____,
47706         ____strfmon____): New macros.
47707         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
47708         REPLACE_PRINTF.
47709
47710 2007-03-09  Bruno Haible  <bruno@clisp.org>
47711
47712         * tests/test-vasnprintf-posix2.sh: New file.
47713         * tests/test-vasnprintf-posix2.c: New file.
47714         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
47715         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
47716         (Makefile.am): Activate test-vasnprintf-posix2.sh.
47717
47718         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
47719         a locale dependent decimal point, rather than always '.'.
47720
47721 2007-03-09  Eric Blake  <ebb9@byu.net>
47722
47723         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
47724         spite of platforms like Tandem/NSK that define it to -1.
47725
47726 2007-03-08  Bruno Haible  <bruno@clisp.org>
47727
47728         * modules/vprintf-posix-tests: New file.
47729         * tests/test-vprintf-posix.sh: New file.
47730         * tests/test-vprintf-posix.c: New file.
47731         * tests/test-printf-posix.h: New file.
47732
47733         * modules/vprintf-posix: New file.
47734         * lib/vprintf.c: New file.
47735         * m4/vprintf-posix.m4: New file.
47736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
47737         REPLACE_VPRINTF.
47738         * lib/stdio_.h (vprintf): New declaration.
47739         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
47740         REPLACE_VPRINTF.
47741
47742 2007-03-08  Bruno Haible  <bruno@clisp.org>
47743
47744         * modules/fprintf-posix-tests: New file.
47745         * tests/test-fprintf-posix.sh: New file.
47746         * tests/test-fprintf-posix.c: New file.
47747
47748         * modules/fprintf-posix: New file.
47749         * lib/fprintf.c: New file.
47750         * m4/fprintf-posix.m4: New file.
47751         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
47752         REPLACE_FPRINTF.
47753         * lib/stdio_.h (fprintf): New declaration.
47754         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
47755         REPLACE_FPRINTF.
47756
47757 2007-03-08  Bruno Haible  <bruno@clisp.org>
47758
47759         * modules/vfprintf-posix-tests: New file.
47760         * tests/test-vfprintf-posix.sh: New file.
47761         * tests/test-vfprintf-posix.c: New file.
47762         * tests/test-fprintf-posix.h: New file.
47763         * tests/test-fprintf-posix.out: New file.
47764
47765         * modules/vfprintf-posix: New file.
47766         * lib/vfprintf.c: New file.
47767         * m4/vfprintf-posix.m4: New file.
47768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
47769         REPLACE_VFPRINTF.
47770         * lib/stdio_.h (vfprintf): New declaration.
47771         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
47772         REPLACE_VFPRINTF.
47773
47774 2007-03-08  Bruno Haible  <bruno@clisp.org>
47775
47776         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
47777
47778 2007-03-08  Bruno Haible  <bruno@clisp.org>
47779
47780         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
47781         instead of 'expr' invocations.
47782         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47783         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47784         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47785         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47786         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47787         Suggested by Paul Eggert.
47788
47789 2007-03-08  Bruno Haible  <bruno@clisp.org>
47790
47791         * modules/fseterr-tests: New file.
47792         * tests/test-fseterr.c: New file.
47793
47794         * modules/fseterr: New file.
47795         * lib/fseterr.h: New file.
47796         * lib/fseterr.c: New file.
47797
47798 2007-03-08  Bruno Haible  <bruno@clisp.org>
47799
47800         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
47801         * lib/getopt_.h: Likewise.
47802         * lib/mbswidth.h: Likewise.
47803         * lib/setenv.h: Likewise.
47804         * lib/vasnprintf.h: Likewise.
47805         * lib/vasprintf.h: Likewise.
47806         * lib/verror.h: Likewise.
47807         * lib/xsetenv.h: Likewise.
47808         * lib/xvasprintf.h: Likewise.
47809
47810 2007-03-08  Jim Meyering  <jim@meyering.net>
47811
47812         * users.txt: Add parted.
47813
47814         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
47815
47816 2007-03-07  Bruno Haible  <bruno@clisp.org>
47817
47818         * m4/printf.m4: Make the shell script snippets copy&pastable.
47819
47820 2007-03-02  Bruno Haible  <bruno@clisp.org>
47821
47822         * lib/netinet_in_.h: New file.
47823         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
47824         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
47825         * modules/netinet_in (Files): Add lib/netinet_in_.h.
47826         (Depends-on): Add absolute-header.
47827         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
47828         into netinet/in.h.
47829
47830 2007-03-03  Bruno Haible  <bruno@clisp.org>
47831
47832         * lib/sys_select_.h: New file.
47833         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
47834         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
47835         * modules/sys_select (Files): Add lib/sys_select_.h.
47836         (Depends-on): Add absolute-header.
47837         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
47838         into sys/select.h.
47839
47840 2007-03-02  Bruno Haible  <bruno@clisp.org>
47841
47842         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
47843         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
47844         values.
47845         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
47846         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
47847         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
47848         * modules/sys_socket (Depends-on): Add absolute-header.
47849         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
47850         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
47851         (Include): Remove requirement of inclusion of <sys/types.h>.
47852
47853 2007-03-02  Bruno Haible  <bruno@clisp.org>
47854
47855         * lib/byteswap_.h (bswap_32): Fix formula.
47856
47857 2007-03-06  Bruno Haible  <bruno@clisp.org>
47858
47859         * modules/sprintf-posix-tests: New file.
47860         * tests/test-sprintf-posix.c: New file.
47861
47862         * modules/sprintf-posix: New file.
47863         * lib/sprintf.c: New file.
47864         * m4/sprintf-posix.m4: New file.
47865         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
47866         REPLACE_SPRINTF.
47867         * lib/stdio_.h (sprintf): New declaration.
47868         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
47869         REPLACE_SPRINTF.
47870
47871 2007-03-06  Bruno Haible  <bruno@clisp.org>
47872
47873         * modules/vsprintf-posix-tests: New file.
47874         * tests/test-vsprintf-posix.c: New file.
47875         * tests/test-sprintf-posix.h: New file.
47876
47877         * modules/vsprintf-posix: New file.
47878         * lib/vsprintf.c: New file.
47879         * m4/vsprintf-posix.m4: New file.
47880         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
47881         REPLACE_VSPRINTF.
47882         * lib/stdio_.h (vsprintf): New declaration.
47883         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
47884         REPLACE_VSPRINTF.
47885
47886 2007-03-06  Bruno Haible  <bruno@clisp.org>
47887
47888         * modules/vsnprintf (Depend-on): Remove minmax.
47889
47890 2007-03-06  Bruno Haible  <bruno@clisp.org>
47891
47892         * modules/snprintf-posix-tests: New file.
47893         * tests/test-snprintf-posix.c: New file.
47894
47895         * modules/snprintf-posix: New file.
47896         * m4/snprintf-posix.m4: New file.
47897         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
47898         gl_FUNC_SNPRINTF.
47899         (gl_FUNC_SNPRINTF): Invoke it.
47900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
47901         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
47902         is set.
47903         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
47904
47905 2007-03-06  Bruno Haible  <bruno@clisp.org>
47906
47907         * modules/vsnprintf-posix-tests: New file.
47908         * tests/test-vsnprintf-posix.c: New file.
47909         * tests/test-snprintf-posix.h: New file.
47910
47911         * modules/vsnprintf-posix: New file.
47912         * m4/vsnprintf-posix.m4: New file.
47913         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
47914         gl_FUNC_VSNPRINTF.
47915         (gl_FUNC_VSNPRINTF): Invoke it.
47916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
47917         * lib/stdio_.h (vsnprintf): Define as a replacement if
47918         REPLACE_VSNPRINTF is set.
47919         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
47920
47921 2007-03-06  Bruno Haible  <bruno@clisp.org>
47922
47923         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
47924         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
47925
47926 2007-03-06  Bruno Haible  <bruno@clisp.org>
47927
47928         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
47929         (asinl): Declare also if HAVE_DECL_ASINL is set.
47930         (atanl): Declare also if HAVE_DECL_ATANL is set.
47931         (ceill): Declare also if HAVE_DECL_CEILL is set.
47932         (cosl): Declare also if HAVE_DECL_COSL is set.
47933         (expl): Declare also if HAVE_DECL_EXPL is set.
47934         (floorl): Declare also if HAVE_DECL_FLOORL is set.
47935         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
47936         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
47937         (logl): Declare also if HAVE_DECL_LOGL is set.
47938         (sinl): Declare also if HAVE_DECL_SINL is set.
47939         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
47940         (tanl): Declare also if HAVE_DECL_TANL is set.
47941         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
47942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
47943         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
47944         declaration of frexpl, ldexpl.
47945         * modules/printf-frexpl (Depends-on): Add math.
47946         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
47947
47948 2007-03-05  Bruno Haible  <bruno@clisp.org>
47949
47950         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
47951         frexpl and ldexpl are declared.
47952         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
47953
47954 2007-03-05  Bruno Haible  <bruno@clisp.org>
47955
47956         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
47957         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
47958
47959 2007-03-05  Bruno Haible  <bruno@clisp.org>
47960
47961         * lib/stdio_.h: Include <stddef.h>.
47962
47963 2007-03-05  Bruno Haible  <bruno@clisp.org>
47964
47965         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
47966
47967 2007-03-05  Bruno Haible  <bruno@clisp.org>
47968
47969         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
47970         NetBSD 4, from Ralf Wildenhues.
47971
47972 2007-03-04  Bruno Haible  <bruno@clisp.org>
47973
47974         * lib/vasprintf.h: Update #if logic for the case when the functions
47975         exist but are overridden.
47976
47977 2007-03-04  Bruno Haible  <bruno@clisp.org>
47978
47979         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
47980         implementations: glibc-2.4 and MacOS X 10.3.
47981         * tests/test-vasnprintf-posix.c (test_function): Test also the case
47982         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
47983         * tests/test-vasprintf-posix.c (test_function): Likewise.
47984
47985 2007-03-04  Bruno Haible  <bruno@clisp.org>
47986
47987         * modules/vasprintf-posix-tests: New file.
47988         * tests/test-vasprintf-posix.c: New file.
47989
47990         * modules/vasprintf-posix: New file.
47991         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
47992         defined.
47993         * m4/vasprintf-posix.m4: New file.
47994         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
47995         gl_FUNC_VASPRINTF.
47996         (gl_FUNC_VASPRINTF): Invoke it.
47997         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
47998         here.
47999         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
48000
48001 2007-03-04  Bruno Haible  <bruno@clisp.org>
48002
48003         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
48004         REPLACE_GETTIMEOFDAY.
48005         * modules/sys_time (Makefile.am): Likewise.
48006         * m4/sys_time_h.m4: Likewise.
48007         * m4/gettimeofday.m4: Likewise.
48008
48009 2007-03-04  Bruno Haible  <bruno@clisp.org>
48010
48011         * modules/vasnprintf-posix-tests: New file.
48012         * tests/test-vasnprintf-posix.c: New file.
48013
48014         * modules/vasnprintf-posix: New file.
48015         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
48016         printf-frexpl.h.
48017         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
48018         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
48019         REPLACE_VASNPRINTF is defined.
48020         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
48021         gl_FUNC_VASNPRINTF.
48022         (gl_FUNC_VASNPRINTF): Invoke it.
48023         * m4/vasnprintf-posix.m4: New file.
48024         * m4/printf.m4: New file.
48025
48026 2007-03-04  Bruno Haible  <bruno@clisp.org>
48027
48028         Compile progreloc.c only if --enable-relocatable is specified.
48029         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
48030         if --enable-relocatable was specified.
48031         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
48032         lib_SOURCES.
48033
48034 2007-03-04  Jim Meyering  <jim@meyering.net>
48035
48036         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
48037         Use it consistently, rather than enumerating errno constants.
48038
48039 2007-03-04  Bruno Haible  <bruno@clisp.org>
48040
48041         * modules/xvasprintf-tests: New file.
48042         * tests/test-xvasprintf.c: New file.
48043
48044         * modules/vasprintf-tests: New file.
48045         * tests/test-vasprintf.c: New file.
48046
48047         * modules/vasnprintf-tests: New file.
48048         * tests/test-vasnprintf.c: New file.
48049
48050         * modules/vsnprintf-tests: New file.
48051         * tests/test-vsnprintf.c: New file.
48052
48053         * modules/snprintf-tests: New file.
48054         * tests/test-snprintf.c: New file.
48055
48056 2007-03-04  Bruno Haible  <bruno@clisp.org>
48057
48058         Compile relocatable.c only if --enable-relocatable is specified.
48059         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
48060         gl_RELOCATABLE_LIBRARY.
48061         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
48062         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
48063         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
48064         gl_RELOCATABLE_LIBRARY.
48065         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
48066         (Makefile.am): Remove lib_SOURCES.
48067         * modules/relocatable-lib-lgpl (configure.ac): Invoke
48068         gl_RELOCATABLE_LIBRARY.
48069         (Makefile.am): Remove lib_SOURCES.
48070         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
48071         always.
48072         * modules/relocatable-prog-wrapper (configure.ac): Invoke
48073         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
48074
48075 2007-03-04  Bruno Haible  <bruno@clisp.org>
48076
48077         * modules/argmatch-tests: New file.
48078         * tests/test-argmatch.c: New file.
48079
48080         * tests/test-allocsa.c (main): Halve the number of loop runs.
48081
48082         * modules/alloca-opt-tests: New file.
48083         * tests/test-alloca-opt.c: New file.
48084
48085 2007-03-04  Jim Meyering  <jim@meyering.net>
48086
48087         Work around difference between Linux ACLs and Solaris 10 ZFS.
48088         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
48089         for EINVAL.
48090
48091 2007-03-03  Bruno Haible  <bruno@clisp.org>
48092
48093         * modules/relocatable-prog (Depends-on): Add back progreloc's
48094         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
48095
48096 2007-03-03  Bruno Haible  <bruno@clisp.org>
48097
48098         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
48099         * modules/relocatable-lib: New file.
48100
48101 2007-03-03  Bruno Haible  <bruno@clisp.org>
48102
48103         * modules/relocatable-prog: Renamed from modules/relocatable.
48104         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
48105
48106 2007-03-03  Bruno Haible  <bruno@clisp.org>
48107
48108         * modules/relocatable-script (Files): Add doc/relocatable.texi,
48109         m4/relocatable-lib.m4.
48110         (Depends-on): Remove 'relocatable'.
48111         (configure.ac): Add gl_RELOCATABLE_NOP.
48112
48113 2007-03-03  Bruno Haible  <bruno@clisp.org>
48114
48115         * modules/relocatable-prog-wrapper: New file.
48116         * modules/relocatable (Depends-on): Add it. Remove all other
48117         dependencies except progname.
48118         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
48119
48120         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
48121         (gl_FUNC_STRERROR): Nop.
48122         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
48123
48124         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
48125         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
48126
48127         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
48128         (gl_FUNC_READLINK): Update.
48129
48130         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
48131
48132 2007-03-03  Bruno Haible  <bruno@clisp.org>
48133
48134         * lib/xreadlink.c: Include <unistd.h> unconditionally.
48135         * modules/xreadlink (Depends-on): Add unistd.
48136         * modules/xreadlink-with-size (Depends-on): Likewise.
48137
48138 2007-03-03  Bruno Haible  <bruno@clisp.org>
48139
48140         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
48141         extracted from gt_FUNC_SETENV.
48142         (gt_FUNC_SETENV): Remove macro.
48143         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
48144         remove gt_FUNC_SETENV.
48145
48146 2007-03-03  Bruno Haible  <bruno@clisp.org>
48147
48148         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
48149         ENABLE_RELOCATABLE here.
48150         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
48151
48152 2007-03-03  Bruno Haible  <bruno@clisp.org>
48153
48154         * modules/rbtreehash-list-tests (Depends-on): Add progname.
48155         * tests/test-rbtreehash_list.c: Include progname.h.
48156         (main): Call set_program_name.
48157
48158         * modules/rbtree-oset-tests (Depends-on): Add progname.
48159         * tests/test-rbtree_oset.c: Include progname.h.
48160         (main): Call set_program_name.
48161
48162         * modules/rbtree-list-tests (Depends-on): Add progname.
48163         * tests/test-rbtree_list.c: Include progname.h.
48164         (main): Call set_program_name.
48165
48166         * modules/linked-list-tests (Depends-on): Add progname.
48167         * tests/test-linked_list.c: Include progname.h.
48168         (main): Call set_program_name.
48169
48170 2007-03-03  Bruno Haible  <bruno@clisp.org>
48171
48172         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
48173         All uses of __restrict changed to _Restrict_.
48174         * lib/glob_.h (__restrict): Remove macro.
48175
48176 2007-03-02  Bruno Haible  <bruno@clisp.org>
48177
48178         * modules/gettext (configure.ac): Require gettext infrastructure
48179         from version 0.16.1.
48180
48181 2007-03-02  Bruno Haible  <bruno@clisp.org>
48182
48183         * modules/linkedhash-list-tests (Depends-on): Add progname.
48184         * tests/test-linkedhash_list.c: Include progname.h.
48185         (main): Call set_program_name.
48186
48187         * modules/carray-list-tests (Depends-on): Add progname.
48188         * tests/test-carray_list.c: Include progname.h.
48189         (main): Call set_program_name.
48190
48191         * modules/avltreehash-list-tests (Depends-on): Add progname.
48192         * tests/test-avltreehash_list.c: Include progname.h.
48193         (main): Call set_program_name.
48194
48195         * modules/avltree-oset-tests (Depends-on): Add progname.
48196         * tests/test-avltree_oset.c: Include progname.h.
48197         (main): Call set_program_name.
48198
48199         * modules/avltree-list-tests (Depends-on): Add progname.
48200         * tests/test-avltree_list.c: Include progname.h.
48201         (main): Call set_program_name.
48202
48203         * modules/array-oset-tests (Depends-on): Add progname.
48204         * tests/test-array_oset.c: Include progname.h.
48205         (main): Call set_program_name.
48206
48207         * modules/array-list-tests (Depends-on): Add progname.
48208         * tests/test-array_list.c: Include progname.h.
48209         (main): Call set_program_name.
48210
48211         * modules/argp-tests (Depends-on): Add progname.
48212         * tests/test-argp.c: Include argp.h first. Include progname.h.
48213         (main): Call set_program_name.
48214
48215 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
48216
48217         * doc/gnulib-tool.texi (Initial import): Reword description of
48218         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
48219         limited effect even if defined after the first system include.
48220
48221 2007-03-01  Bruno Haible  <bruno@clisp.org>
48222
48223         * build-aux/config.libpath: Update to libtool-1.5.22.
48224         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48225
48226 2007-03-01  Bruno Haible  <bruno@clisp.org>
48227
48228         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
48229         foo_CFLAGS.
48230         Reported by Ralf Wildenhues.
48231
48232 2007-03-01  Bruno Haible  <bruno@clisp.org>
48233
48234         * build-aux/install-reloc: Remove object files left over by some
48235         compilers.
48236         Reported by Ralf Wildenhues.
48237
48238 2007-03-01  Bruno Haible  <bruno@clisp.org>
48239
48240         * build-aux/install-reloc: Break long lines.
48241
48242 2007-03-01  Bruno Haible  <bruno@clisp.org>
48243
48244         * doc/relocatable.texi: Document that it may not work on OpenBSD.
48245         Reported by Ralf Wildenhues.
48246
48247 2007-03-01  Bruno Haible  <bruno@clisp.org>
48248
48249         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
48250         include ordering constraints.
48251
48252 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
48253
48254         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
48255         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
48256         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
48257         as another example.
48258         * lib/time_.h: Fix misspelling.
48259         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
48260         Require gl_HEADER_TIME_H_DEFAULTS.
48261         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
48262         * m4/time_r.m4 (gl_TIME_R): Likewise.
48263         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
48264
48265 2007-03-01  Bruno Haible  <bruno@clisp.org>
48266
48267         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
48268         * m4/utimens.m4 (gl_UTIMENS): Likewise.
48269
48270 2007-03-01  Jim Meyering  <jim@meyering.net>
48271
48272         * modules/xreadlink (Maintainer): Add my name.
48273         * modules/xreadlink-with-size (Depends-on): Alphabetize.
48274
48275 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
48276             Bruno Haible  <bruno@clisp.org>
48277
48278         * build-aux/install-reloc: Compile also c-ctype.c.
48279         * build-aux/relocatable.sh.in: New file.
48280         * doc/relocatable.texi: New file.
48281         * doc/relocatable-maint.texi: New file.
48282         * doc/gnulib.texi: Include relocatable-maint.texi.
48283         * lib/progreloc.c: Include unistd.h unconditionally.
48284         * lib/relocwrapper.c: Include unistd.h unconditionally.
48285         Include c-ctype.h.
48286         (add_dotbin): Use c_tolower.
48287         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
48288         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
48289         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
48290         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
48291         to m4/relocatable-lib.m4.
48292         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
48293         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
48294         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
48295         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
48296         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
48297         * modules/relocatable: New file.
48298         * modules/relocatable-lib: New file.
48299         * modules/relocatable-script: New file.
48300
48301 2007-02-28  Bruno Haible  <bruno@clisp.org>
48302
48303         Import --enable-relocatable infrastructure.
48304         * build-aux/config.libpath: New file, from GNU gettext.
48305         * build-aux/install-reloc: New file, from GNU gettext.
48306         * build-aux/reloc-ldflags: New file, from GNU gettext.
48307         * lib/relocatable.h: New file, from GNU gettext.
48308         * lib/relocatable.c: New file, from GNU gettext.
48309         * lib/relocwrapper.c: New file, from GNU gettext.
48310         * m4/relocatable.m4: New file, from GNU gettext.
48311
48312 2007-02-28  Bruno Haible  <bruno@clisp.org>
48313
48314         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
48315
48316         * modules/xreadlink: New file, from GNU gettext with modifications.
48317         * lib/xreadlink.c: New file, from GNU gettext.
48318         * lib/xreadlink.h: Add comments.
48319         (xreadlink): New declaration.
48320
48321         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
48322         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
48323         lib/xreadlink-with-size.c.
48324         (configure.ac): Remove gl_XREADLINK invocation.
48325         (Makefile.am): Augment lib_SOURCES.
48326         * m4/xreadlink.m4: Remove file.
48327         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
48328         (xreadlink_with_size): Renamed from xreadink.
48329         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
48330         * modules/canonicalize (Depends-on): Replace xreadlink with
48331         xreadlink-with-size.
48332         * lib/canonicalize.c (canonicalize_filename_mode): Update.
48333
48334 2007-02-25  Jim Meyering  <jim@meyering.net>
48335
48336         * build-aux/announce-gen: When complaining about excess arguments,
48337         list them.
48338
48339 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
48340
48341         * README: Document signed integer overflow situation more
48342         accurately.
48343
48344 2007-02-25  Bruno Haible  <bruno@clisp.org>
48345
48346         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
48347         'a' or 'A' conversion.
48348
48349 2007-02-25  Bruno Haible  <bruno@clisp.org>
48350
48351         * modules/filename: Renamed from modules/pathname.
48352         (Files): Replace lib/pathname.h with lib/filename.h. Replace
48353         lib/concatpath.c with lib/concat-filename.c.
48354         (Makefile.am): Update.
48355         (Include): Replace pathname.h with filename.h.
48356         * lib/filename.h: Renamed from lib/pathname.h.
48357         (concatenated_filename): Renamed from concatenated_pathname.
48358         * lib/concat-filename.c: Renamed from lib/concatpath.c.
48359         (concatenated_filename): Renamed from concatenated_pathname.
48360         * lib/findprog.c: Include filename.h instead of pathname.h.
48361         (find_in_path): Update.
48362         * lib/javacomp.c: Include filename.h instead of pathname.h.
48363         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
48364         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
48365         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
48366         is_oldgcj_14_13_usable, is_javac_usable): Update.
48367         * lib/javaexec.c: Include filename.h instead of pathname.h.
48368         (execute_java_class): Update.
48369         * modules/findprog: Update.
48370         * modules/javacomp: Update.
48371         * modules/javaexec: Update.
48372         * MODULES.html.sh (File system functions): Add 'filename', remove
48373         'pathname'.
48374
48375 2007-02-25  Bruno Haible  <bruno@clisp.org>
48376
48377         * modules/printf-frexpl-tests: New file.
48378         * tests/test-printf-frexpl.c: New file.
48379
48380         * modules/printf-frexpl: New file.
48381         * lib/printf-frexpl.h: New file.
48382         * lib/printf-frexpl.c: New file.
48383         * m4/printf-frexpl.m4: New file.
48384
48385 2007-02-25  Bruno Haible  <bruno@clisp.org>
48386
48387         * modules/printf-frexp-tests: New file.
48388         * tests/test-printf-frexp.c: New file.
48389
48390         * modules/printf-frexp: New file.
48391         * lib/printf-frexp.h: New file.
48392         * lib/printf-frexp.c: New file.
48393         * m4/printf-frexp.m4: New file.
48394
48395 2007-02-25  Bruno Haible  <bruno@clisp.org>
48396
48397         Assume automake >= 1.10 for the tests.
48398         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
48399         * modules/arctwo-tests: Likewise.
48400         * modules/argp-tests: Likewise.
48401         * modules/avltree-list-tests: Likewise.
48402         * modules/avltree-oset-tests: Likewise.
48403         * modules/avltreehash-list-tests: Likewise.
48404         * modules/carray-list-tests: Likewise.
48405         * modules/crc-tests: Likewise.
48406         * modules/des-tests: Likewise.
48407         * modules/gc-arcfour-tests: Likewise.
48408         * modules/gc-arctwo-tests: Likewise.
48409         * modules/gc-des-tests: Likewise.
48410         * modules/gc-hmac-md5-tests: Likewise.
48411         * modules/gc-hmac-sha1-tests: Likewise.
48412         * modules/gc-md2-tests: Likewise.
48413         * modules/gc-md4-tests: Likewise.
48414         * modules/gc-md5-tests: Likewise.
48415         * modules/gc-pbkdf2-sha1-tests: Likewise.
48416         * modules/gc-rijndael-tests: Likewise.
48417         * modules/gc-sha1-tests: Likewise.
48418         * modules/gc-tests: Likewise.
48419         * modules/getaddrinfo-tests: Likewise.
48420         * modules/hmac-md5-tests: Likewise.
48421         * modules/hmac-sha1-tests: Likewise.
48422         * modules/linked-list-tests: Likewise.
48423         * modules/linkedhash-list-tests: Likewise.
48424         * modules/lock-tests: Likewise.
48425         * modules/md2-tests: Likewise.
48426         * modules/md4-tests: Likewise.
48427         * modules/md5-tests: Likewise.
48428         * modules/rbtree-list-tests: Likewise.
48429         * modules/rbtree-oset-tests: Likewise.
48430         * modules/rbtreehash-list-tests: Likewise.
48431         * modules/read-file-tests: Likewise.
48432         * modules/rijndael-tests: Likewise.
48433         * modules/stdint-tests: Likewise.
48434         * modules/tls-tests: Likewise.
48435
48436 2007-02-24  Bruno Haible  <bruno@clisp.org>
48437
48438         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
48439         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
48440         function; instead check whether isnan with a double argument links.
48441         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
48442         function; instead check whether isnan with a 'long double' argument
48443         links.
48444         Reported by Eric Blake <ebb9@byu.net>.
48445
48446 2007-02-24  Bruno Haible  <bruno@clisp.org>
48447
48448         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
48449         defined.
48450         * lib/isnanl.c: Remove all code. Just include isnan.c.
48451         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
48452
48453 2007-02-25  Jim Meyering  <jim@meyering.net>
48454
48455         Avoid conflicting types for 'unsetenv' on FreeBSD.
48456         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
48457         conflicting with FreeBSD's (5.0 and 6.1) function declaration
48458         in stdlib.h.
48459
48460 2007-02-24  Bruno Haible  <bruno@clisp.org>
48461
48462         * modules/isnanl-nolibm-tests: New file.
48463         * tests/test-isnanl.c: New file.
48464
48465         * modules/isnanl-nolibm: New file.
48466         * lib/isnanl.h: New file.
48467         * lib/isnanl.c: New file.
48468         * m4/isnanl.m4: New file.
48469
48470 2007-02-24  Bruno Haible  <bruno@clisp.org>
48471
48472         * modules/isnan-nolibm-tests: New file.
48473         * tests/test-isnan.c: New file.
48474
48475         * modules/isnan-nolibm: New file.
48476         * lib/isnan.h: New file.
48477         * lib/isnan.c: New file.
48478         * m4/isnan.m4: New file.
48479
48480 2007-02-24  Bruno Haible  <bruno@clisp.org>
48481
48482         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
48483         assume that an exponent fits in 20 bits.
48484
48485 2007-02-24  Jim Meyering  <jim@meyering.net>
48486
48487         * m4/regex.m4: Update the description of the configure-time option,
48488         --without-included-regex, to state accurately what the defaults are,
48489         and perhaps to give people an idea why using this option is risky.
48490
48491 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
48492
48493         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
48494         loops on small arguments.  This attempts to avoid the problem
48495         Bruno Haible reported for AIX 4.3.2 in
48496         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
48497
48498 2007-02-23  Bruno Haible  <bruno@clisp.org>
48499
48500         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
48501         Needed for help2man.
48502
48503 2007-02-23  Karl Berry  <karl@gnu.org>
48504
48505         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
48506         exists, foo.h should be cvs-ignored, not committed.
48507
48508 2007-02-23  Eric Blake  <ebb9@byu.net>
48509
48510         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
48511         * lib/stat-time.h (includes): Likewise.
48512         * lib/utimecmp.c (includes): Likewise.
48513         * lib/utimens.h (includes): Likewise.
48514         * lib/getdate.y (includes): Also include "timespec.h" for use
48515         internal to the module.
48516         * modules/utimens (Depends-on): Revert yesterday's patch.
48517         * modules/nanosleep (Depends-on): Add missing dependency.
48518
48519 2007-02-22  Bruno Haible  <bruno@clisp.org>
48520
48521         * lib/glob.c: Don't include getlogin_r.h.
48522
48523 2007-02-22  Jim Meyering  <jim@meyering.net>
48524
48525         * modules/utimens (Depends-on): Add timespec, required for
48526         utimens.h's inclusion of timespec.h.
48527
48528 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
48529
48530         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
48531         long unreadable paths in GNU/Linux.  Problem reported by Andreas
48532         Schwab in
48533         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
48534         I'll try to think of a better way to fix the Solaris problem.
48535
48536         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
48537         like glibc; on Solaris 10, it fails with errno == EINVAL.
48538         POSIX says the behavior is unspecified if the first argument is NULL,
48539         so play it safe and never pass NULL to the system getcwd.
48540
48541 2007-02-21  Jim Meyering  <jim@meyering.net>
48542
48543         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
48544         of gettimeofday.  It would conflict with the one now always
48545         provided via sys_time_.h.  Reported by Matthew Woehlke, as
48546         an IRIX 6.5 build failure.
48547
48548 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
48549
48550         Minor fixups to port to Solaris 10 with Sun C 5.8.
48551         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
48552         * modules/getcwd (Depends-on): Add dirfd.
48553         * lib/putenv.c (putenv): #undef it.
48554         (rpl_putenv): New decl.
48555         (malloc, free): Include <stdlib.h> rather than prototyping separately.
48556
48557 2007-02-20  Bruno Haible  <bruno@clisp.org>
48558
48559         * modules/stdio-tests: New file.
48560         * tests/test-stdio.c: New file.
48561
48562         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
48563         (Depends-on): Add stdio.
48564         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
48565         (Include): Use <stdio.h> instead of vsnprintf.h.
48566         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
48567         HAVE_DECL_VSNPRINTF.
48568         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
48569
48570         * modules/snprintf (Files): Remove lib/snprintf.h.
48571         (Depends-on): Add stdio.
48572         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
48573         (Include): Use <stdio.h> instead of snprintf.h.
48574         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
48575         HAVE_DECL_SNPRINTF.
48576         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
48577         * lib/getaddrinfo.c: Likewise.
48578
48579         * modules/stdio: New file.
48580         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
48581         * lib/snprintf.h: Remove file.
48582         * lib/vsnprintf.h: Remove file.
48583         * lib/.cppi-disable: Remove snprintf.h.
48584         * m4/stdio_h.m4: New file.
48585         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
48586
48587 2007-02-20  Jim Meyering  <jim@meyering.net>
48588
48589         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
48590         used by e.g., mingw.  From Bruno Haible.
48591
48592 2007-02-19  Bruno Haible  <bruno@clisp.org>
48593
48594         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
48595         warnings.
48596         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48597
48598 2007-02-19  Bruno Haible  <bruno@clisp.org>
48599
48600         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
48601         from mingw users.
48602
48603 2007-02-19  Bruno Haible  <bruno@clisp.org>
48604
48605         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
48606         warnings.
48607         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
48608
48609 2007-02-19  Jim Meyering  <jim@meyering.net>
48610
48611         Don't use FD after a successful "fdopendir (fd)".
48612         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
48613         Reset it by calling dirfd on the just-obtained DIR*.
48614
48615         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
48616         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
48617
48618 2007-02-18  Bruno Haible  <bruno@clisp.org>
48619
48620         * lib/readlink.c: Include <unistd.h>.
48621         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
48622         HAVE_READLINK.
48623         * modules/readlink (Depends-on): Add unistd.
48624         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48625         (Include): Add <unistd.h>.
48626
48627         * lib/getlogin_r.h: Remove file.
48628         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
48629         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
48630         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
48631         HAVE_DECL_GETLOGIN_R.
48632         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
48633         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48634         (Include): Use <unistd.h> instead of getlogin_r.h.
48635
48636         * lib/getcwd.h: Remove file.
48637         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
48638         * lib/xgetcwd.c: Likewise.
48639         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
48640         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
48641         * modules/getcwd (Files): Remove lib/getcwd.h.
48642         (Depends-on): Add unistd.
48643         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48644         (Include): Use <unistd.h> instad of getcwd.h.
48645
48646         * lib/ftruncate.c: Include <unistd.h> first.
48647         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
48648         Set HAVE_FTRUNCATE.
48649         * modules/ftruncate (Depends-on): Add unistd.
48650         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48651
48652         * lib/fchdir.c: Include <unistd.h> first.
48653         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
48654         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
48655         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
48656         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48657         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
48658
48659         * lib/dup2.c: Include <unistd.h> first.
48660         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
48661         HAVE_DUP2.
48662         * modules/dup2 (Depends-on): Add unistd.
48663         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48664
48665         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
48666         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
48667         REPLACE_CHOWN. Don't define chown as a macro here.
48668         * modules/chown (Depends-on): Add unistd.
48669         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48670
48671         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
48672         Add definition for GL_LINK_WARNING.
48673         (chown, dup2): New declarations.
48674         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
48675         link warning.
48676         (ftruncate): New declaration.
48677         (getcwd): New declaration, taken from old getcwd.h.
48678         (getlogin_r): New declaration, taken from old getlogin_r.h.
48679         (readlink): New declaration.
48680         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
48681         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
48682         (gl_PREREQ_UNISTD): Remove macro.
48683         (gl_UNISTD_MODULE_INDICATOR): New macro.
48684         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
48685         many new variables. Don't set UNISTD_H.
48686         * modules/unistd (Description): Change.
48687         (Depends-on): Add link-warning.
48688         (configure.ac): Update.
48689         (Makefile.am): Create unistd.h always. Substitute many new variables
48690         into it.
48691
48692 2007-02-18  Bruno Haible  <bruno@clisp.org>
48693
48694         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
48695         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
48696         HAVE_GETSUBOPT.
48697         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
48698         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
48699         * lib/getsubopt.h: Remove file.
48700         * modules/getsubopt (Files): Remove lib/getsubopt.h.
48701         (Depends-on): Add stdlib.
48702         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48703         (Includes): Use <stdlib.h> instead of getsubopt.h.
48704         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
48705         Set HAVE_GETSUBOPT.
48706         * lib/getsubopt.c: Don't include getsubopt.h.
48707
48708 2007-02-18  Bruno Haible  <bruno@clisp.org>
48709
48710         * modules/fchdir (Depends-on): Add dup2.
48711
48712 2007-02-18  Bruno Haible  <bruno@clisp.org>
48713
48714         * lib/stdlib_.h: Handle glibc's special invocation convention
48715         specially.
48716
48717 2007-02-18  Bruno Haible  <bruno@clisp.org>
48718
48719         * modules/stdlib-tests: New file.
48720         * tests/test-stdlib.c: New file.
48721
48722         * modules/mkstemp (Files): Remove lib/mkstemp.h.
48723         (Depends-on): Add stdlib.
48724         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48725         (Includes): Use <stdlib.h> instead of mkstemp.h.
48726         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
48727         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
48728         * lib/mkstemp.c: Don't include mkstemp.h.
48729         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
48730         * lib/stdlib--.h: Don't include mkstemp.h.
48731
48732         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
48733         (Depends-on): Add stdlib.
48734         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48735         (Includes): Use <stdlib.h> instead of mkdtemp.h.
48736         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
48737         HAVE_MKDTEMP.
48738         * lib/mkdtemp.c: Don't include mkdtemp.h.
48739         * lib/clean-temp.c: Don't include mkdtemp.h.
48740
48741         * modules/exit (Files): Remove lib/exit.h.
48742         (Depends-on): Add stdlib.
48743         (Makefile.am): Remove lib_SOURCES.
48744         (Include): Use <stdlib.h> instead of exit.h.
48745         * lib/argmatch.c: Don't include exit.h.
48746         * lib/execute.c: Likewise.
48747         * lib/pagealign_alloc.c: Likewise.
48748         * lib/pipe.c: Likewise.
48749         * lib/wait-process.c: Likewise.
48750         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
48751         * lib/exitfail.c: Likewise.
48752         * lib/savewd.c: Likewise.
48753         * lib/xsetenv.c: Likewise.
48754
48755         * modules/stdlib: New file.
48756         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
48757         and extra comments about mkstemp().
48758         * lib/exit.h: Remove file.
48759         * lib/mkdtemp.h: Remove file.
48760         * lib/mkstemp.h: Remove file.
48761         * m4/stdlib_h.m4: New file.
48762         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
48763
48764 2007-02-18  Bruno Haible  <bruno@clisp.org>
48765
48766         * modules/math-tests: New file.
48767         * tests/test-math.c: New file.
48768
48769         * modules/math: New file.
48770         * modules/mathl (Files): Remove lib/mathl.h.
48771         (Depends-on): Add math.
48772         (Makefile.am): Don't mention mathl.h.
48773         (Include): Use <math.h> instead of mathl.h.
48774         * lib/math_.h: New file.
48775         * lib/mathl.h: Remove file.
48776         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
48777         mathl.h.
48778         * lib/asinl.c: Likewise.
48779         * lib/atanl.c: Likewise.
48780         * lib/ceill.c: Likewise.
48781         * lib/cosl.c: Likewise.
48782         * lib/expl.c: Likewise.
48783         * lib/floorl.c: Likewise.
48784         * lib/frexpl.c: Likewise.
48785         * lib/ldexpl.c: Likewise.
48786         * lib/logl.c: Likewise.
48787         * lib/sincosl.c: Likewise.
48788         * lib/sinl.c: Likewise.
48789         * lib/sqrtl.c: Likewise.
48790         * lib/tanl.c: Likewise.
48791         * lib/trigl.c: Likewise.
48792         * m4/math_h.m4: New file.
48793         * MODULES.html.sh (Mathematics): Add math.
48794
48795 2007-02-17  Bruno Haible  <bruno@clisp.org>
48796
48797         * modules/wctype-tests: New file.
48798         * tests/test-wctype.c: New file.
48799
48800         * modules/wchar-tests: New file.
48801         * tests/test-wchar.c: New file.
48802
48803         * modules/unistd-tests: New file.
48804         * tests/test-unistd.c: New file.
48805
48806         * modules/time-tests: New file.
48807         * tests/test-time.c: New file.
48808
48809         * modules/sysexits-tests: New file.
48810         * tests/test-sysexits.c: New file.
48811
48812         * modules/sys_time-tests: New file.
48813         * tests/test-sys_time.c: New file.
48814
48815         * modules/sys_stat-tests: New file.
48816         * tests/test-sys_stat.c: New file.
48817
48818         * modules/sys_socket-tests: New file.
48819         * tests/test-sys_socket.c: New file.
48820
48821         * modules/sys_select-tests: New file.
48822         * tests/test-sys_select.c: New file.
48823
48824         * modules/string-tests: New file.
48825         * tests/test-string.c: New file.
48826
48827         * modules/stdbool-tests: New file.
48828         * tests/test-stdbool.c: New file.
48829
48830         * modules/netinet_in-tests: New file.
48831         * tests/test-netinet_in.c: New file.
48832
48833         * modules/inttypes-tests: New file.
48834         * tests/test-inttypes.c: New file.
48835
48836         * modules/fcntl-tests: New file.
48837         * tests/test-fcntl.c: New file.
48838
48839         * modules/byteswap-tests: New file.
48840         * tests/test-byteswap.c: New file.
48841
48842         * modules/arpa_inet-tests: New file.
48843         * tests/test-arpa_inet.c: New file.
48844
48845 2007-02-17  Bruno Haible  <bruno@clisp.org>
48846
48847         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
48848         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
48849         if the corresponding module is not enabled. Emit link warnings if
48850         the function is used nevertheless.
48851         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
48852         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
48853         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
48854         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
48855         * modules/inttypes (Depends-on): Add link-warning.
48856         (Makefile.am): Copy the contents of build-aux/link-warning.h into
48857         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
48858         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
48859         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
48860         * modules/imaxdiv (configure.ac): Likewise.
48861         * modules/strtoimax (configure.ac): Likewise.
48862         * modules/strtoumax (configure.ac): Likewise.
48863
48864 2007-02-17  Bruno Haible  <bruno@clisp.org>
48865
48866         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
48867         gl_STRING_MODULE_INDICATOR_DEFAULTS.
48868         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
48869         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
48870
48871 2007-02-17  Bruno Haible  <bruno@clisp.org>
48872
48873         * modules/link-warning: New file.
48874         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
48875         * lib/string_.h (GL_LINK_WARNING): Remove definition.
48876         * modules/string (Depends-on): Add link-warning.
48877         (Makefile.am): Copy the contents of build-aux/link-warning.h into
48878         string.h.
48879         * MODULES.html.sh (Support for building libraries and executables): Add
48880         link-warning.
48881
48882 2007-02-17  Bruno Haible  <bruno@clisp.org>
48883
48884         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
48885         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
48886         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
48887         long lines.
48888
48889 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
48890             Bruno Haible  <bruno@clisp.org>
48891
48892         * modules/tmpfile: New file.
48893         * lib/tmpfile.c: New file.
48894         * m4/tmpfile.m4: New file.
48895         * MODULES.html.sh (func_all_modules): New section "Input/output".
48896
48897 2007-02-15  Bruno Haible  <bruno@clisp.org>
48898
48899         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
48900         (supports_delete_on_close): New function.
48901         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
48902
48903 2007-02-14  Bruno Haible  <bruno@clisp.org>
48904
48905         * modules/mbspcasecmp-tests: New file.
48906         * tests/test-mbspcasecmp.sh: New file.
48907         * tests/test-mbspcasecmp.c: New file.
48908
48909         New module mbspcasecmp.
48910         * modules/mbspcasecmp: New file.
48911         * lib/mbspcasecmp.c: New file.
48912         * lib/string_.h (strncasecmp): Change warning message.
48913         (mbspcasecmp): New declaration.
48914         * m4/mbspcasecmp.m4: New file.
48915         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48916         GNULIB_MBSPCASECMP.
48917         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
48918         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
48919
48920 2007-02-14  Bruno Haible  <bruno@clisp.org>
48921
48922         * modules/mbsncasecmp-tests: New file.
48923         * tests/test-mbsncasecmp.sh: New file.
48924         * tests/test-mbsncasecmp.c: New file.
48925
48926         New module mbsncasecmp.
48927         * modules/mbsncasecmp: New file.
48928         * lib/mbsncasecmp.c: New file.
48929         * lib/string_.h (mbsncasecmp): New declaration.
48930         * m4/mbsncasecmp.m4: New file.
48931         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
48932         GNULIB_MBSNCASECMP.
48933         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
48934         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
48935
48936 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
48937
48938         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
48939         Verify that it doesn't overlap with our flags.
48940         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
48941         do not have the desired effect in multibyte locales; instead, use
48942         mbscasecmp.
48943         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
48944         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
48945         we don't require GNU fnmatch ourselves (if our users require it, they
48946         should do so explicitly).
48947
48948         Fix regex code so it doesn't rely on strcasecmp.
48949         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
48950         Otherwise, include gnulib's langinfo.h.
48951         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
48952         undesirable behavior in non-C locales.  Instead, rely on localecharset.
48953         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
48954         * modules/regex (FILES): Remove m4/codeset.m4.
48955         (Depends-on): Add localcharset.  Remove strcase.
48956
48957 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48958
48959         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
48960         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
48961
48962 2007-02-13  Bruno Haible  <bruno@clisp.org>
48963
48964         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
48965         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48966
48967 2007-02-12  Bruno Haible  <bruno@clisp.org>
48968
48969         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
48970         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
48971         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
48972         time warning rather than a link error.
48973
48974 2007-02-12  Bruno Haible  <bruno@clisp.org>
48975
48976         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
48977         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
48978         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48979
48980 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
48981
48982         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
48983         args, not 2.
48984
48985 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
48986
48987         New module 'time', so that apps can include <time.h> as per
48988         POSIX and GNU instead of separate include files like time_r.h
48989         and timegm.h.  This implementation tries out a simpler approach
48990         for replacing decls in standard include files (as compared to
48991         the string module), somewhat as an experiment.
48992
48993         * config/srclist.txt: Comment out mktime.c for now.
48994         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
48995         since it doesn't apply any more.  Use generic wording instead.
48996         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
48997         'time'.
48998         * lib/time_.h, m4/time_h.m4, modules/time: New files.
48999         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
49000         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
49001         Don't include <sys/types.h>; no longer needed since we assume C89.
49002         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
49003         * lib/strftime.c: Likewise.
49004         * lib/time_r.c: Likewise.
49005         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
49006         * lib/nanosleep.c: Include <time.h> first, to check interface.
49007         * lib/strptime.c: Likewise.
49008         * lib/time_r.c: Likewise.
49009         * lib/timegm.c: Likewise.
49010         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
49011         needed.
49012         * lib/timegm.c: Don't include timegm.h; no longer needed.
49013         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
49014         time.h now handles any problems in that area.
49015         (struct timespec, nanosleep): Remove; time.h now arranges for these.
49016         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
49017         that time.h defines struct timespec.
49018         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
49019         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
49020         handles that.
49021         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
49022         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
49023         needed.  Set REPLACE_LOCALTIME.
49024         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
49025         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
49026         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
49027         nanosleep; time_h.m4 now does that.  Don't require
49028         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
49029         module handles this now.
49030         * modules/getdate (Depends-on): Remove timespec.  Add time.
49031         * modules/nanosleep (Depends-on): Likewise.
49032         * modules/stat-time (Depends-on): Likewise.
49033         * modules/nanosleep (Include): Include time.h, not timespec.h.
49034         * modules/strptime (Files): Remove lib/strptime.h.
49035         (Depends-on): Add extensions, time.
49036         (Include): Include time.h, not strptime.h.
49037         * modules/time_r (Files): Remove lib/time_r.h.
49038         (Depends-on): Add time.
49039         (Include): Include time.h, not time_r.h.
49040         * modules/timegm: Likewise.
49041         * modules/timespec (Description): Now does timespec-related decls
49042         of our own, instead of struct timespec itself.
49043         (Depends-on): Add time; remove extensions.
49044         (Maintainer): Add self.
49045         * modules/utimecmp (Depends-on): Add time; remove timespec.
49046         * modules/utimens (Depends-on): Likewise.
49047         * modules/xnanosleep (Depends-on): Likewise.
49048
49049 2007-02-11  Bruno Haible  <bruno@clisp.org>
49050
49051         * lib/c-strstr.c: Include allocsa.h.
49052         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
49053         * lib/c-strcasestr.c: Include allocsa.h.
49054         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
49055         * lib/strcasestr.c: Include allocsa.h.
49056         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
49057         * lib/mbsstr.c: Include allocsa.h.
49058         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
49059         allocsa/freesa instead of malloc/free.
49060         * lib/mbscasestr.c: Include allocsa.h.
49061         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
49062         allocsa/freesa instead of malloc/free.
49063         * modules/c-strstr (Depends-on): Add allocsa.
49064         * modules/c-strcasestr (Depends-on): Likewise.
49065         * modules/strcasestr (Depends-on): Likewise.
49066         * modules/mbsstr (Depends-on): Likewise.
49067         * modules/mbscasestr (Depends-on): Likewise.
49068
49069 2007-02-11  Bruno Haible  <bruno@clisp.org>
49070
49071         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
49072
49073         * modules/mbsspn-tests: New file.
49074         * tests/test-mbsspn.sh: New file.
49075         * tests/test-mbsspn.c: New file.
49076
49077 2007-02-11  Bruno Haible  <bruno@clisp.org>
49078
49079         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
49080
49081         * modules/mbspbrk-tests: New file.
49082         * tests/test-mbspbrk.sh: New file.
49083         * tests/test-mbspbrk.c: New file.
49084
49085 2007-02-11  Bruno Haible  <bruno@clisp.org>
49086
49087         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
49088         unneeded cast.
49089
49090         * modules/mbscspn-tests: New file.
49091         * tests/test-mbscspn.sh: New file.
49092         * tests/test-mbscspn.c: New file.
49093
49094 2007-02-11  Bruno Haible  <bruno@clisp.org>
49095
49096         * modules/mbscasecmp-tests: New file.
49097         * tests/test-mbscasecmp.sh: New file.
49098         * tests/test-mbscasecmp.c: New file.
49099
49100 2007-02-11  Bruno Haible  <bruno@clisp.org>
49101
49102         Ensure O(n) worst-case complexity of mbscasestr.
49103         * lib/mbscasestr.c: Include stdbool.h.
49104         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
49105         functions.
49106         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
49107         the bookkeeping indicates that it's worth it.
49108         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
49109
49110         * modules/mbscasestr-tests: New file.
49111         * tests/test-mbscasestr1.c: New file.
49112         * tests/test-mbscasestr2.sh: New file.
49113         * tests/test-mbscasestr2.c: New file.
49114         * tests/test-mbscasestr3.sh: New file.
49115         * tests/test-mbscasestr3.c: New file.
49116         * tests/test-mbscasestr4.sh: New file.
49117         * tests/test-mbscasestr4.c: New file.
49118         * m4/locale-tr.m4: New file.
49119
49120 2007-02-11  Bruno Haible  <bruno@clisp.org>
49121
49122         Ensure O(n) worst-case complexity of mbsstr.
49123         * lib/mbsstr.c: Include stdbool.h.
49124         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
49125         functions.
49126         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
49127         bookkeeping indicates that it's worth it.
49128         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
49129
49130         * modules/mbsstr-tests: New file.
49131         * tests/test-mbsstr1.c: New file.
49132         * tests/test-mbsstr2.sh: New file.
49133         * tests/test-mbsstr2.c: New file.
49134         * tests/test-mbsstr3.sh: New file.
49135         * tests/test-mbsstr3.c: New file.
49136         * m4/locale-fr.m4: New file.
49137
49138 2007-02-11  Bruno Haible  <bruno@clisp.org>
49139
49140         * lib/mbsrchr.c (mbsrchr): Fix bug.
49141
49142         * modules/mbsrchr-tests: New file.
49143         * tests/test-mbsrchr.sh: New file.
49144         * tests/test-mbsrchr.c: New file.
49145
49146 2007-02-11  Bruno Haible  <bruno@clisp.org>
49147
49148         * lib/mbschr.c (mbschr): Fix bug.
49149
49150         * modules/mbschr-tests: New file.
49151         * tests/test-mbschr.sh: New file.
49152         * tests/test-mbschr.c: New file.
49153         * m4/locale-zh.m4: New file.
49154
49155 2007-02-11  Bruno Haible  <bruno@clisp.org>
49156
49157         Support for copying multibyte string iterators.
49158         * lib/mbiter.h: Include <string.h>.
49159         (mbiter_multi_copy): New function.
49160         (mbi_copy): New macro.
49161         * lib/mbuiter.h: Include <string.h>.
49162         (mbuiter_multi_copy): New function.
49163         (mbui_copy): New macro.
49164
49165 2007-02-11  Bruno Haible  <bruno@clisp.org>
49166
49167         New module mbslen.
49168         * modules/mbslen: New file.
49169         * lib/mbslen.c: New file.
49170         * lib/string_.h (mbslen): New declaration.
49171         * m4/mbslen.m4: New file.
49172         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49173         GNULIB_MBSLEN.
49174         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
49175         * MODULES.html.sh (Internationalization functions): Add mbslen.
49176
49177 2007-02-11  Bruno Haible  <bruno@clisp.org>
49178
49179         Ensure O(n) worst-case complexity of strcasestr substitute.
49180         * lib/strcasestr.c: Include stdbool.h.
49181         (knuth_morris_pratt): New function.
49182         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
49183         bookkeeping indicates that it's worth it.
49184         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
49185
49186         * modules/strcasestr-tests: New file.
49187         * tests/test-strcasestr.c: New file.
49188
49189 2007-02-11  Bruno Haible  <bruno@clisp.org>
49190
49191         Ensure O(n) worst-case complexity of c_strcasestr.
49192         * lib/c-strcasestr.c: Include stdbool.h, string.h.
49193         (knuth_morris_pratt): New function.
49194         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
49195         the bookkeeping indicates that it's worth it.
49196         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
49197
49198         * modules/c-strcasestr-tests: New file.
49199         * tests/test-c-strcasestr.c: New file.
49200
49201 2007-02-11  Bruno Haible  <bruno@clisp.org>
49202
49203         Ensure O(n) worst-case complexity of c_strstr.
49204         * lib/c-strstr.c: Include stdbool.h, string.h.
49205         (knuth_morris_pratt): New function.
49206         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
49207         bookkeeping indicates that it's worth it.
49208         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
49209
49210         * lib/c-strstr.c: Complete rewrite for maintainability.
49211
49212         * modules/c-strstr-tests: New file.
49213         * tests/test-c-strstr.c: New file.
49214
49215 2007-02-11  Bruno Haible  <bruno@clisp.org>
49216
49217         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
49218         5.2.1 and earlier, whereby \055 was treated just like the range
49219         delimiter '-'.
49220         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
49221
49222 2007-02-08  Bruno Haible  <bruno@clisp.org>
49223
49224         * modules/regex (Depends-on): Add stdbool.
49225         Reported by Dalibor Topic <robilad@kaffe.org>.
49226
49227 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
49228
49229         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
49230         Prefer returning from main to exiting from it.
49231         Remove unnecessary parens after sizeof.
49232
49233 2007-02-05  Bruno Haible  <bruno@clisp.org>
49234
49235         New module mbssep.
49236         * modules/mbssep: New file.
49237         * lib/mbssep.c: New file.
49238         * lib/string_.h (strsep): Add a conditional link warning.
49239         (mbssep): New declaration.
49240         * m4/mbssep.m4: New file.
49241         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49242         GNULIB_MBSSEP.
49243         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
49244         * MODULES.html.sh (Internationalization functions): Add mbssep.
49245
49246 2007-02-05  Bruno Haible  <bruno@clisp.org>
49247
49248         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
49249         Optimize search in case of 1 delimiter.
49250
49251 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
49252
49253         * lib/acl.h: Include sys/types.h before sys/acl.h.
49254
49255 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
49256
49257         Merge upstream fix for glibc bugzilla #3957:
49258
49259         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
49260
49261         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
49262         bit for RE_HAT_LISTS_NOT_NEWLINE.
49263         (build_charclass_op): Remove bogus comment.
49264
49265 2007-02-05  Simon Josefsson  <simon@josefsson.org>
49266
49267         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
49268
49269 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
49270
49271         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
49272         * lib/memmem.c [!defined _LIBC]: Include config.h.
49273
49274 2007-02-04  Bruno Haible  <bruno@clisp.org>
49275
49276         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
49277         warning message.
49278
49279 2007-02-04  Bruno Haible  <bruno@clisp.org>
49280
49281         New module mbstok_r.
49282         * modules/mbstok_r: New file.
49283         * lib/mbstok_r.c: New file.
49284         * lib/string_.h (strtok_r): Change argument names to match the
49285         comments. Add a conditional link warning.
49286         (mbstok_r): New declaration.
49287         * m4/mbstok_r.m4: New file.
49288         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49289         GNULIB_MBSTOK_R.
49290         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
49291         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
49292
49293 2007-02-04  Bruno Haible  <bruno@clisp.org>
49294
49295         New module mbsspn.
49296         * modules/mbsspn: New file.
49297         * lib/mbsspn.c: New file.
49298         * lib/string_.h (strspn): Add a conditional link warning.
49299         (mbsspn): New declaration.
49300         * m4/mbsspn.m4: New file.
49301         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49302         GNULIB_MBSSPN.
49303         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
49304         * MODULES.html.sh (Internationalization functions): Add mbsspn.
49305
49306 2007-02-04  Bruno Haible  <bruno@clisp.org>
49307
49308         New module mbspbrk.
49309         * modules/mbspbrk: New file.
49310         * lib/mbspbrk.c: New file.
49311         * lib/string_.h (strpbrk): Add a conditional link warning.
49312         (mbspbrk): New declaration.
49313         * m4/mbspbrk.m4: New file.
49314         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49315         GNULIB_MBSPBRK.
49316         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
49317         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
49318
49319 2007-02-04  Bruno Haible  <bruno@clisp.org>
49320
49321         New module mbscspn.
49322         * modules/mbscspn: New file.
49323         * lib/mbscspn.c: New file.
49324         * lib/string_.h (strcspn): Add a conditional link warning.
49325         (mbscspn): New declaration.
49326         * m4/mbscspn.m4: New file.
49327         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49328         GNULIB_MBSCSPN.
49329         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
49330         * MODULES.html.sh (Internationalization functions): Add mbscspn.
49331
49332 2007-02-04  Bruno Haible  <bruno@clisp.org>
49333
49334         New module mbscasestr, reduced goal of strcasestr.
49335         * modules/mbscasestr: New file.
49336         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
49337         (mbscasestr): Renamed from strcasestr.
49338         * lib/strcasestr.c: Don't include mbuiter.h.
49339         (strcasestr): Remove support for multibyte locales.
49340         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
49341         Change the conditional link warning.
49342         (mbscasestr): New declaration.
49343         * m4/mbscasestr.m4: New file.
49344         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
49345         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
49346         REPLACE_STRCASESTR.
49347         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
49348         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49349         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
49350         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
49351         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
49352         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
49353         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
49354         (Depends-on): Remove mbuiter.
49355         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
49356
49357 2007-02-04  Bruno Haible  <bruno@clisp.org>
49358
49359         Simplify handling of strncasecmp.
49360         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
49361         the conditional link warning.
49362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
49363         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
49364         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
49365         * modules/strcase (configure.ac): Don't invoke
49366         gl_STRING_MODULE_INDICATOR.
49367         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
49368
49369 2007-02-04  Bruno Haible  <bruno@clisp.org>
49370
49371         New module mbscasecmp, reduced goal of strcasecmp.
49372         * modules/mbscasecmp: New file.
49373         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
49374         (mbscasecmp): Renamed from strcasecmp.
49375         * lib/strcasecmp.c: Don't include mbuiter.h.
49376         (strcasecmp): Remove support for multibyte locales.
49377         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
49378         Change the conditional link warning.
49379         (mbscasecmp): New declaration.
49380         * m4/mbscasecmp.m4: New file.
49381         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
49382         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
49383         REPLACE_STRCASECMP.
49384         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
49385         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49386         GNULIB_MBSCASECMP.
49387         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
49388         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
49389         * modules/strcase (Files): Remove m4/mbrtowc.m4.
49390         (Depends-on): Remove mbuiter.
49391         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
49392
49393 2007-02-04  Bruno Haible  <bruno@clisp.org>
49394
49395         New module mbsstr. Remove module strstr.
49396         * modules/mbsstr: New file.
49397         * modules/strstr: Remove file.
49398         * lib/mbsstr.c: Renamed from lib/strstr.c.
49399         (mbsstr): Renamed from strstr.
49400         * lib/string_.h (strstr): Remove declaration. Change the conditional
49401         link warning.
49402         (mbsstr): New declaration.
49403         * m4/mbsstr.m4: New file.
49404         * m4/strstr.m4: Remove file.
49405         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
49406         REPLACE_STRSTR.
49407         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
49408         Don't initialize GNULIB_STRSTR.
49409         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
49410         substitute GNULIB_STRSTR and REPLACE_STRSTR.
49411         * MODULES.html.sh (Internationalization functions): Add mbsstr.
49412         (Support for systems lacking ANSI C 89): Remove strstr.
49413
49414 2007-02-04  Bruno Haible  <bruno@clisp.org>
49415
49416         New module mbsrchr.
49417         * modules/mbsrchr: New file.
49418         * lib/mbsrchr.c: New file.
49419         * lib/string_.h (strrchr): Add a conditional link warning.
49420         (mbsrchr): New declaration.
49421         * m4/mbsrchr.m4: New file.
49422         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49423         GNULIB_MBSRCHR.
49424         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
49425         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
49426
49427 2007-02-04  Bruno Haible  <bruno@clisp.org>
49428
49429         New module mbschr.
49430         * modules/mbschr: New file.
49431         * lib/mbschr.c: New file.
49432         * lib/string_.h (strchr): Add a conditional link warning.
49433         (mbschr): New declaration.
49434         * m4/mbschr.m4: New file.
49435         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
49436         GNULIB_MBSCHR.
49437         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
49438         * MODULES.html.sh (Internationalization functions): Add mbschr.
49439
49440 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
49441
49442         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
49443
49444         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
49445
49446 2007-02-04  Bruno Haible  <bruno@clisp.org>
49447
49448         New module description section 'configure.ac-early'.
49449         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
49450         (func_get_autoconf_early_snippet): New function.
49451         (func_import, func_create_testdir): Use it. Remove special cases for
49452         modules 'extensions' and 'lock'.
49453         * modules/extensions (configure.ac-early): Require
49454         gl_USE_SYSTEM_EXTENSIONS.
49455         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
49456
49457 2007-02-04  Bruno Haible  <bruno@clisp.org>
49458
49459         Make use of gcj-4.3's -fsource and -ftarget option.
49460         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
49461         and if so try the options -fsource and -ftarget.
49462         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
49463         source_version, ftarget_option, target_version arguments.
49464         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
49465         (is_envjavac_oldgcj_14_14_usable): Renamed from
49466         is_envjavac_gcj_14_14_usable.
49467         (is_envjavac_oldgcj_14_13_usable): Renamed from
49468         is_envjavac_gcj_14_13_usable.
49469         (is_gcj_present): Update.
49470         (is_gcj_43, is_gcj43_usable): New functions.
49471         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
49472         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
49473         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
49474         try the options -fsource and -ftarget.
49475
49476 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
49477
49478         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
49479         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
49480         larger value.
49481
49482 2007-02-03  Jim Meyering  <jim@meyering.net>
49483
49484         Give tools a better chance to allocate space for very large buffers.
49485         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
49486
49487         Make pwd and readlink work also when run with an unreadable parent dir
49488         on systems with openat support.
49489         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
49490         provided getcwd function, even when we have openat support.
49491         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
49492
49493 2007-02-02  Bruno Haible  <bruno@clisp.org>
49494
49495         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
49496         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
49497         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
49498         portability problems if one of these functions is only used on specific
49499         platforms.
49500         Reported by Paul Eggert.
49501
49502 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
49503
49504         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
49505         is causing more trouble than it's curing.
49506         * lib/regex_internal.h (__mempcpy): Remove.
49507         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
49508         (and make the code a tad smaller to boot).
49509         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
49510
49511 2007-02-02  Jim Meyering  <jim@meyering.net>
49512
49513         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
49514         section, not in the Makefile.am: one.
49515
49516 2007-02-02  Eric Blake  <ebb9@byu.net>
49517
49518         * lib/strchrnul.c: Always include config.h first.
49519
49520         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
49521         gnulib strstr is not necessary here.
49522
49523 2007-02-02  Simon Josefsson  <simon@josefsson.org>
49524
49525         * m4/socklen.m4: Fix typo.
49526
49527 2007-02-02  Eric Blake  <ebb9@byu.net>
49528
49529         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
49530         * modules/netinet_in (Makefile.am): Likewise.
49531
49532 2007-02-01  Bruno Haible  <bruno@clisp.org>
49533
49534         * lib/string_.h (GL_LINK_WARNING): New macro.
49535         (strcasecmp, strstr, strcasestr): If provided by the system,
49536         conditionally define as a macro that leads to a warning instead of to
49537         an error.
49538         (strncasecmp): Conditionally define as a macro that leads to a warning.
49539
49540 2007-02-01  Karl Berry  <karl@gnu.org>
49541
49542         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
49543
49544 2007-02-01  Bruno Haible  <bruno@clisp.org>
49545
49546         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
49547         renamings.
49548
49549 2007-02-01  Eric Blake  <ebb9@byu.net>
49550
49551         * modules/regex (Depends-on): Revert dependence on mempcpy.
49552         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
49553         module's definition of mempcpy.
49554         Reported by Paul Eggert.
49555
49556 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
49557
49558         * lib/string_.h: If the gnulib module XYZ is not present, undefine
49559         the symbol XYZ before redefining it.  This fixes a problem with
49560         programs that don't use XYZ, when compiled on systems that define
49561         XYZ to something else.
49562
49563 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
49564
49565         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
49566         occurs when "mkdir -m foo" creates a setgid directory that is (1)
49567         writeable to group or other and (2) is intended to have a special
49568         mode bit that is set or cleared.  In such a case, the directory
49569         should be neither group- nor other-writeable until the special
49570         mode bits are right.
49571
49572 2007-01-31  Eric Blake  <ebb9@byu.net>
49573
49574         * modules/mountlist (Depends-on): Add strstr.
49575
49576         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
49577         bug.
49578         * modules/string (Makefile.am): Remove redundant replacement.
49579         * modules/regex (Depends-on): Add mempcpy.
49580
49581 2007-01-31  Bruno Haible  <bruno@clisp.org>
49582
49583         New module description field 'Link'.
49584         * gnulib-tool (func_usage): Document --extract-link-directive.
49585         (sed_extract_prog): Recognize 'Link' directive.
49586         (func_get_link_directive): New function.
49587         (func_import): Show summary of link directives.
49588         Handle --extract-link-directive option.
49589         * modules/acl (Link): New section.
49590         * modules/clock-time (Link): New section.
49591         * modules/euidaccess (Link): New section.
49592         * modules/gettext (Link): New section.
49593         * modules/iconv (Link): New section.
49594         * modules/lock (Link): New section.
49595         * modules/nanosleep (Link): New section.
49596         * modules/readline (Link): New section.
49597
49598 2007-01-27  Bruno Haible  <bruno@clisp.org>
49599
49600         Enforce the use of gnulib modules for unportable <string.h> functions.
49601         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
49602         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
49603         (gl_HEADER_STRING_H_BODY): Require it.
49604         * lib/string_.h: If the gnulib module XYZ is not present, redefine
49605         the symbol XYZ to one that gives a link error.
49606         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
49607         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
49608         * modules/mempcpy (configure.ac): Likewise.
49609         * modules/memrchr (configure.ac): Likewise.
49610         * modules/stpcpy (configure.ac): Likewise.
49611         * modules/stpncpy (configure.ac): Likewise.
49612         * modules/strcase (configure.ac): Likewise.
49613         * modules/strcasestr (configure.ac): Likewise.
49614         * modules/strchrnul (configure.ac): Likewise.
49615         * modules/strdup (configure.ac): Likewise.
49616         * modules/strndup (configure.ac): Likewise.
49617         * modules/strnlen (configure.ac): Likewise.
49618         * modules/strpbrk (configure.ac): Likewise.
49619         * modules/strsep (configure.ac): Likewise.
49620         * modules/strstr (configure.ac): Likewise.
49621         * modules/strtok_r (configure.ac): Likewise.
49622
49623 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
49624
49625         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
49626
49627 2007-01-30  Jim Meyering  <jim@meyering.net>
49628
49629         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
49630
49631 2007-01-29  Bruno Haible  <bruno@clisp.org>
49632
49633         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
49634         * lib/execute.c: Likewise.
49635         * lib/pipe.c: Likewise.
49636         * lib/printf-args.h: Likewise.
49637         * lib/printf-args.c: Likewise.
49638         * lib/printf-parse.c: Likewise.
49639         * lib/vasnprintf.c: Likewise.
49640
49641 2007-01-29  Eric Blake  <ebb9@byu.net>
49642
49643         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
49644         declaration.
49645
49646 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
49647
49648         * lib/strptime.h (strptime): Use 'restrict' for args where
49649         POSIX requires this.
49650         * lib/strptime.c (strptime): Likewise.
49651         Change license notice from LGPL to GPL, since gnulib-tool will
49652         change this as needed.
49653         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
49654         defined.
49655         Include "strptime.h" first, to check interface.
49656         Do not #undef _LIBC and _NL_CURRENT.
49657         Do not include <stdlib.h>; no longer needed.
49658         Include "time_r.h" and declare ptime_locale_status
49659         only if _LIBC is not defined.
49660         (__P): Remove unused macro.
49661         (match_string): Bring back glibc version, but use it only if _LIBC
49662         is defined.
49663         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
49664         Remove unnecessary assertion and abort() call.
49665         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
49666         * m4/strptime.m4: Fix serial number comment.
49667         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
49668         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
49669         (Depends-on): Add time_r.
49670
49671 2007-01-29  Bruno Haible  <bruno@clisp.org>
49672
49673         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49674         strptime.
49675         * modules/strptime (Depends-on): Add stdbool.
49676         * lib/strptime.h: Include <time.h> always. Add comments.
49677
49678 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49679
49680         * modules/strptime: New file.
49681         * lib/strptime.h: New file.
49682         * lib/strptime.c: New file.
49683         * m4/strptime.m4: New file.
49684
49685 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
49686
49687         * MODULES.html.sh: New module mpsort.
49688         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
49689
49690         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
49691         a circularity problem with HP-UX ia64 reported by Bob Proulx in
49692         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
49693         All uses changed.
49694         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
49695         All uses changed.
49696         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
49697         to _Restrict_.
49698         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
49699         the parameter matches the prototype.
49700
49701 2007-01-28  Jim Meyering  <jim@meyering.net>
49702
49703         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
49704         sys/time.h here, reverting that part of the previous patch:
49705         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
49706
49707 2007-01-28  Bruno Haible  <bruno@clisp.org>
49708
49709         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
49710         value of $(SYS_TIME_H).
49711         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
49712         remove it conditionally, too. [added by Jim Meyering]
49713         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
49714         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
49715         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
49716         GETTIMEOFDAY_REPLACEMENT to 1.
49717
49718 2007-01-28  Bruno Haible  <bruno@clisp.org>
49719
49720         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
49721         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
49722         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
49723         Set UNISTD_H instead of UNISTD_H2.
49724         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
49725
49726 2007-01-28  Bruno Haible  <bruno@clisp.org>
49727
49728         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
49729         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
49730
49731 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49732
49733         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
49734         (func_create_testdir): Ensure C locale for `grep' and `tr'
49735         character ranges.
49736         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
49737         ACLOCAL_AMFLAGS parsing state machine.
49738
49739 2007-01-27  Bruno Haible  <bruno@clisp.org>
49740
49741         * modules/unistr/base: Update.
49742
49743 2007-01-27  Bruno Haible  <bruno@clisp.org>
49744
49745         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
49746         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
49747         * modules/unistr/u32-mbtouc-unsafe: Renamed from
49748         modules/unistr/u32-mbtouc.
49749         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
49750         * lib/unistr.h: Update.
49751         * lib/linebreak.c: Update.
49752         * modules/unistr/u32-mbtouc: Renamed from
49753         modules/unistr/u32-mbtouc-safe.
49754         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
49755         * lib/unistr.h: Update.
49756         * lib/unistr/u32-to-u8.c: Update.
49757         * lib/unistr/u32-to-u16.c: Update.
49758
49759 2007-01-27  Bruno Haible  <bruno@clisp.org>
49760
49761         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
49762         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
49763         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
49764         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
49765         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
49766         * modules/unistr/u16-mbtouc-unsafe: Renamed from
49767         modules/unistr/u16-mbtouc.
49768         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
49769         * lib/unistr.h: Update.
49770         * lib/linebreak.c: Update.
49771         * modules/linebreak: Update.
49772         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
49773         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
49774         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
49775         * modules/unistr/u16-mbtouc: Renamed from
49776         modules/unistr/u16-mbtouc-safe.
49777         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
49778         * lib/unistr.h: Update.
49779         * lib/unistr/u16-to-u8.c: Update.
49780         * modules/unistr/u16-to-u8: Update.
49781         * lib/unistr/u16-to-u32.c: Update.
49782         * modules/unistr/u16-to-u32: Update.
49783
49784 2007-01-27  Bruno Haible  <bruno@clisp.org>
49785
49786         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
49787         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
49788         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
49789         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
49790         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
49791         * modules/unistr/u8-mbtouc-unsafe: Renamed from
49792         modules/unistr/u8-mbtouc.
49793         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
49794         * lib/unistr.h: Update.
49795         * lib/striconveh.c: Update.
49796         * modules/striconveh: Update.
49797         * lib/linebreak.c: Update.
49798         * modules/linebreak: Update.
49799         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
49800         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
49801         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
49802         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
49803         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
49804         * lib/unistr.h: Update.
49805         * lib/striconveh.c: Update.
49806         * modules/striconveh: Update.
49807         * lib/unistr/u8-to-u16.c: Update.
49808         * modules/unistr/u8-to-u16: Update.
49809         * lib/unistr/u8-to-u32.c: Update.
49810         * modules/unistr/u8-to-u32: Update.
49811
49812 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49813
49814         Sync from Libtool.
49815         * lib/argz.c: Do not include strings.h nor memory.h, include
49816         string.h unconditionally.  Patch by Simon Josefsson.
49817
49818 2007-01-27  Bruno Haible  <bruno@clisp.org>
49819
49820         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
49821         from gl_HEADER_STRING_H_BODY.
49822         (gl_HEADER_STRING_H_BODY): Require it.
49823         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
49824         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
49825         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
49826         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
49827         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49828         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
49829         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49830         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
49831         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
49832         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
49833         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
49834         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
49835         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
49836         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
49837         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49838
49839 2007-01-27  Bruno Haible  <bruno@clisp.org>
49840
49841         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
49842         check_PROGRAMS into noinst_PROGRAMS.
49843         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
49844         check_PROGRAMS in this case.
49845         (func_import): Set for_test to false.
49846         (func_create_testdir): Set for_test to true.
49847
49848 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
49849             Bruno Haible  <bruno@clisp.org>
49850
49851         * modules/strcasestr (Files): Remove lib/strcasestr.h.
49852         (Depends-on): Add string.
49853         (Includes): Use <string.h> instead of strcasestr.h.
49854         * modules/string (Makefile.am): Also substitute the value of
49855         REPLACE_STRCASESTR.
49856         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
49857         assume strcasestr is declared in <string.h> not <strings.h>. Also
49858         set REPLACE_STRCASESTR.
49859         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
49860         REPLACE_STRCASESTR.
49861         * lib/strcasestr.h: Remove file.
49862         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
49863         * lib/string_.h (strcasestr): New declaration.
49864
49865 2007-01-27  Bruno Haible  <bruno@clisp.org>
49866
49867         * lib/string_.h: Use 'extern'.
49868
49869 2007-01-27  Jim Meyering  <jim@meyering.net>
49870
49871         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
49872         of set-but-not-used local, "q".
49873
49874         * lib/mempcpy.c: Include <config.h> before <string.h>.
49875         This fixes a compilation error on HP-UX, due to the system's
49876         "restrict"-using mempcpy prototype.
49877
49878 2007-01-26  Bruno Haible  <bruno@clisp.org>
49879
49880         Small optimization.
49881         * lib/javacomp.c: Include c-strstr.h.
49882          (is_envjavac_gcj): Use c_strstr instead of strstr.
49883         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
49884
49885 2007-01-26  Bruno Haible  <bruno@clisp.org>
49886
49887         * MODULES.html.sh (Unicode string functions): Add the new modules.
49888
49889         * modules/uniconv/u32-strconv-to-locale: New file.
49890         * lib/uniconv/u32-strconv-to-locale.c: New file.
49891
49892         * modules/uniconv/u16-strconv-to-locale: New file.
49893         * lib/uniconv/u16-strconv-to-locale.c: New file.
49894
49895         * modules/uniconv/u8-strconv-to-locale: New file.
49896         * lib/uniconv/u8-strconv-to-locale.c: New file.
49897
49898         * modules/uniconv/u32-strconv-from-locale: New file.
49899         * lib/uniconv/u32-strconv-from-locale.c: New file.
49900
49901         * modules/uniconv/u16-strconv-from-locale: New file.
49902         * lib/uniconv/u16-strconv-from-locale.c: New file.
49903
49904         * modules/uniconv/u8-strconv-from-locale: New file.
49905         * lib/uniconv/u8-strconv-from-locale.c: New file.
49906
49907         * modules/uniconv/u32-strconv-to-enc: New file.
49908         * lib/uniconv/u32-strconv-to-enc.c: New file.
49909         * modules/uniconv/u32-strconv-to-enc-tests: New file.
49910         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
49911
49912         * modules/uniconv/u16-strconv-to-enc: New file.
49913         * lib/uniconv/u16-strconv-to-enc.c: New file.
49914         * lib/uniconv/u-strconv-to-enc.h: New file.
49915         * modules/uniconv/u16-strconv-to-enc-tests: New file.
49916         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
49917
49918         * modules/uniconv/u8-strconv-to-enc: New file.
49919         * lib/uniconv/u8-strconv-to-enc.c: New file.
49920         * modules/uniconv/u8-strconv-to-enc-tests: New file.
49921         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
49922
49923         * modules/uniconv/u32-strconv-from-enc: New file.
49924         * lib/uniconv/u32-strconv-from-enc.c: New file.
49925         * modules/uniconv/u32-strconv-from-enc-tests: New file.
49926         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
49927
49928         * modules/uniconv/u16-strconv-from-enc: New file.
49929         * lib/uniconv/u16-strconv-from-enc.c: New file.
49930         * modules/uniconv/u16-strconv-from-enc-tests: New file.
49931         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
49932
49933         * modules/uniconv/u8-strconv-from-enc: New file.
49934         * lib/uniconv/u8-strconv-from-enc.c: New file.
49935         * lib/uniconv/u-strconv-from-enc.h: New file.
49936         * modules/uniconv/u8-strconv-from-enc-tests: New file.
49937         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
49938
49939         * modules/uniconv/u32-conv-from-enc: New file.
49940         * lib/uniconv/u32-conv-from-enc.c: New file.
49941         * modules/uniconv/u32-conv-from-enc-tests: New file.
49942         * tests/uniconv/test-u32-conv-from-enc.c: New file.
49943
49944         * modules/uniconv/u16-conv-from-enc: New file.
49945         * lib/uniconv/u16-conv-from-enc.c: New file.
49946         * lib/uniconv/u-conv-from-enc.h: New file.
49947         * modules/uniconv/u16-conv-from-enc-tests: New file.
49948         * tests/uniconv/test-u16-conv-from-enc.c: New file.
49949
49950         * modules/uniconv/u8-conv-from-enc: New file.
49951         * lib/uniconv/u8-conv-from-enc.c: New file.
49952         * modules/uniconv/u8-conv-from-enc-tests: New file.
49953         * tests/uniconv/test-u8-conv-from-enc.c: New file.
49954
49955         * modules/uniconv/base: New file.
49956         * lib/uniconv.h: New file.
49957
49958 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
49959
49960         * doc/gnulib-tool.texi (Initial import): Update to match current
49961         behavior with strdup module.
49962         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
49963         * lib/memmem.h: Remove; all uses removed.  This is now done
49964         by <string.h>.
49965         * lib/mempcpy.h: Likewise.
49966         * lib/memrchr.h: Likewise.
49967         * lib/stpcpy.h: Likewise.
49968         * lib/stpncpy.h: Likewise.
49969         * lib/strcase.h: Likewise.
49970         * lib/strchrnul.h: Likewise.
49971         * lib/strdup.h: Likewise.
49972         * lib/strndup.h: Likewise.
49973         * lib/strnlen.h: Likewise.
49974         * lib/strpbrk.h: Likewise.
49975         * lib/strsep.h: Likewise.
49976         * lib/strstr.h: Likewise.
49977         * lib/strtok_r.h: Likewise.
49978         * lib/string_.h: New file.
49979         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
49980         Rely on <string.h> instead.
49981         * lib/canon-host.c: Likewise.
49982         * lib/chdir-long.c: Likewise.
49983         * lib/concatpath.c: Likewise.
49984         * lib/exclude.c: Likewise.
49985         * lib/fchdir.c: Likewise.
49986         * lib/getaddrinfo.c: Likewise.
49987         * lib/getcwd.c: Likewise.
49988         * lib/getsubopt.c: Likewise.
49989         * lib/glob.c: Likewise.
49990         * lib/hard-locale.c: Likewise.
49991         * lib/iconvme.c: Likewise.
49992         * lib/javacomp.c: Likewise.
49993         * lib/mempcpy.c: Likewise.
49994         * lib/memrchr.c: Likewise.
49995         * lib/regex_internal.h: Likewise.
49996         * lib/stpncpy.c: Likewise.
49997         * lib/strcasecmp.c: Likewise.
49998         * lib/strchrnul.c: Likewise.
49999         * lib/strdup.c: Likewise.
50000         * lib/striconv.c: Likewise.
50001         * lib/striconveh.c: Likewise.
50002         * lib/striconveha.c: Likewise.
50003         * lib/strncasecmp.c: Likewise.
50004         * lib/strndup.c: Likewise.
50005         * lib/strnlen.c: Likewise.
50006         * lib/strsep.c: Likewise.
50007         * lib/strstr.c: Likewise.
50008         * lib/strtok_r.c: Likewise.
50009         * lib/userspec.c: Likewise.
50010         * lib/w32spawn.h: Likewise.
50011         * lib/xstrndup.c: Likewise.
50012         * lib/mountlist.c (strstr): Remove decl.
50013         * m4/string_h.m4: New file.
50014         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
50015         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
50016         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
50017         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
50018         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
50019         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
50020         Set REPLACE_STRCASECMP if necessary.
50021         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
50022         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
50023         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
50024         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
50025         HAVE_DECL_STRDUP if necessary.
50026         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
50027         since gl_FUNC_STRNDUP does that now.
50028         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
50029         Check for decl here...
50030         (gl_PREREQ_STRNLEN): ... not here.
50031         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
50032         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
50033         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
50034         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
50035         necessary.
50036         * modules/string: New file.
50037         * modules/memmem (Files): Remove special-purpose include file.
50038         (Depends-on): Add string.
50039         (Include): Include <string.h>, not the removed file.
50040         * modules/mempcpy: Likewise.
50041         * modules/memrchr: Likewise.
50042         * modules/stpcpy: Likewise.
50043         * modules/stpncpy: Likewise.
50044         * modules/strcase: Likewise.
50045         * modules/strchrnul: Likewise.
50046         * modules/strdup: Likewise.
50047         * modules/strndup: Likewise.
50048         * modules/strnlen: Likewise.
50049         * modules/strpbrk: Likewise.
50050         * modules/strsep: Likewise.
50051         * modules/strstr: Likewise.
50052         * modules/strtok_r: Likewise.
50053         * tests/test-dirname.c: Don't include "strdup.h", since
50054         <string.h> now suffices.
50055         * tests/test-memmem.c: Don't include "memmem.h", since
50056         <string.h> now suffices.
50057
50058 2007-01-25  Bruno Haible  <bruno@clisp.org>
50059
50060         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
50061         *resultp is 0.
50062
50063         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
50064         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
50065         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
50066         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
50067
50068         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
50069         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
50070         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
50071         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
50072         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
50073         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
50074
50075 2007-01-24  Bruno Haible  <bruno@clisp.org>
50076
50077         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
50078         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
50079         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
50080         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
50081         gl_FUNC_FTS_CORE.
50082         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
50083         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
50084         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
50085         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
50086         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
50087         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
50088         gl_FUNC_FCHOWNAT.
50089         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
50090         gl_FUNC_STRFTIME.
50091         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
50092         Reported by Ralf Wildenhues.
50093
50094 2007-01-24  Bruno Haible  <bruno@clisp.org>
50095
50096         Drop AC_REQUIRE calls that are redundant with the module dependencies.
50097         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
50098         gl_GETADDRINFO.
50099         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
50100         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
50101         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
50102
50103 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
50104
50105         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
50106         Don't use 'exit'; just return from 'main'.
50107         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
50108
50109         * lib/fnmatch_.h: Readjust white space and comments to match
50110         glibc, to avoid spurious diffs.
50111
50112 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50113
50114         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
50115         2004-12-01 change by Jakub Jelinek, since this code won't compile
50116         if !LIBC.  Problem reported by Bob Proulx.
50117
50118 2007-01-23  Bruno Haible  <bruno@clisp.org>
50119
50120         * lib/striconveh.c: Include c-strcaseeq.h.
50121         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
50122         * modules/striconveh (Depends-on): Add c-strcaseeq.
50123
50124 2007-01-23  Bruno Haible  <bruno@clisp.org>
50125
50126         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
50127
50128         * modules/c-strcaseeq: New file.
50129         * lib/c-strcaseeq.h: New file.
50130
50131         * modules/streq: New file.
50132         * lib/streq.h: New file.
50133
50134 2007-01-23  Bruno Haible  <bruno@clisp.org>
50135
50136         * modules/striconveha-tests: New file.
50137         * tests/test-striconveha.c: New file.
50138
50139         * lib/striconveha.h: Include <stdbool.h>.
50140         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
50141         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
50142         (mem_iconveha_notranslit): Renamed from mem_iconveha.
50143         (mem_iconveha): New function.
50144         (str_iconveha_notranslit): Renamed from str_iconveha.
50145         (str_iconveha): New function.
50146         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
50147         c-strcase.
50148
50149 2007-01-23  Bruno Haible  <bruno@clisp.org>
50150
50151         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
50152         encodings without forgiving before trying any encoding with handler.
50153         (str_iconveha): Try all encodings without forgiving before trying any
50154         encoding with handler.
50155
50156 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
50157
50158         Import the following changes from libc.
50159
50160         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
50161
50162         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
50163
50164         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
50165
50166         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
50167         normal_bracket label.
50168
50169         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
50170
50171         [BZ #361]
50172         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
50173         to normal_bracket after fetching the next character.
50174
50175 2007-01-22  Bruno Haible  <bruno@clisp.org>
50176
50177         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
50178         argument.
50179         * lib/striconveh.c (iconv_carefully_1): New function.
50180         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
50181         argument.
50182         (str_cd_iconveh): Update.
50183         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
50184         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
50185         * tests/test-striconveh.c (MAGIC): New macro.
50186         (new_offsets): New function.
50187         (main): Test call with and without offsets.
50188
50189 2007-01-22  Bruno Haible  <bruno@clisp.org>
50190
50191         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
50192         * modules/sys_select (Makefile.am): Likewise.
50193         * modules/sys_socket (Makefile.am): Likewise.
50194         * modules/sys_time (Makefile.am): Likewise.
50195
50196 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
50197
50198         * modules/gettimeofday (License): Change from GPL to LGPL, since
50199         gettimeofday is a library function.
50200
50201 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50202
50203         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
50204
50205 2007-01-21  Bruno Haible  <bruno@clisp.org>
50206
50207         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
50208
50209 2007-01-21  Bruno Haible  <bruno@clisp.org>
50210
50211         * modules/striconveha: New file.
50212         * lib/striconveha.h: New file.
50213         * lib/striconveha.c: New file.
50214         * MODULES.html.sh (Internationalization functions): Add striconveha.
50215         * lib/striconv.c (str_iconv): Optimize the case of an empty input
50216         string.
50217         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
50218
50219 2007-01-21  Bruno Haible  <bruno@clisp.org>
50220
50221         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
50222         * lib/striconveh.c (str_iconveh): Likewise.
50223
50224 2007-01-21  Bruno Haible  <bruno@clisp.org>
50225
50226         * lib/striconveh.h (mem_iconveh): New declaration.
50227         * lib/striconveh.c (mem_iconveh): New function.
50228         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
50229
50230 2007-01-21  Bruno Haible  <bruno@clisp.org>
50231
50232         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
50233
50234         * lib/striconveh.h (mem_cd_iconveh): Change specification.
50235         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
50236         original result buffer.
50237         (str_cd_iconveh): Update.
50238         * tests/test-striconveh.c (main): Update.
50239
50240         * lib/striconv.h (mem_cd_iconv): Change specification.
50241         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
50242         result buffer.
50243         (str_cd_iconv): Update.
50244         * tests/test-striconv.c (main): Update.
50245
50246 2007-01-21  Bruno Haible  <bruno@clisp.org>
50247
50248         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
50249
50250 2007-01-20  Jim Meyering  <jim@meyering.net>
50251
50252         * lib/userspec.c (parse_with_separator): If a user or group string
50253         starts with "+", skip the corresponding name-to-ID look-up, since
50254         such a look-up must fail: user and group names may not include "+".
50255
50256 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
50257
50258         * lib/poll.c: Include sys/time.h and time.h unconditionally,
50259         since we now assume the sys_time module.
50260         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
50261         check for sys/time.h; no longer needed.
50262         * modules/poll (Depends-on): Depend on sys_time.
50263
50264 2007-01-18  Bruno Haible  <bruno@clisp.org>
50265
50266         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
50267         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
50268
50269         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
50270         gettimeofday.
50271
50272         * tests/test-gettimeofday.c: Include <time.h>.
50273         (dummy): Remove variable.
50274
50275         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
50276         gl_HEADER_SYS_TIME_H.
50277         (gl_HEADER_SYS_TIME_H): New macro.
50278
50279         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
50280         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50281         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
50282         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
50283         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50284         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
50285         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
50286         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50287         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
50288         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
50289         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50290
50291         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
50292         last change; it caused a compilation error when cross-compiling to
50293         Cygwin.
50294
50295 2007-01-18  Jim Meyering  <jim@meyering.net>
50296
50297         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
50298         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
50299         than the race-prone "test -d sys || mkdir sys".
50300         (configure.ac): Use AC_PROG_MKDIR_P.
50301         * modules/sys_select: Likewise.
50302         * modules/sys_socket: Likewise.
50303         * modules/sys_time: Likewise.
50304
50305 2007-01-18  Eric Blake  <ebb9@byu.net>
50306
50307         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
50308         replace gettimeofday.
50309         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
50310         name, to avoid infinite recursion.
50311
50312 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
50313
50314         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
50315         module sys_time.
50316         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
50317         assume timespec.h defines struct timeval.
50318         * lib/settime.c: Likewise.
50319         * lib/utimens.c: Likewise.
50320         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
50321         since we now assume the gettimeofday module.
50322         * lib/tempname.c (__gen_tempname): Likewise.
50323         * lib/gettimeofday.h: Remove.
50324         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
50325         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
50326         Include <time.h>, for 'time()'.
50327         (localtime_buffer_addr): Also use this workaround if
50328         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
50329         to simplify the uses.  All uses changed.
50330         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
50331         that #undef is inside {}, and 'const' follows type name consistently.
50332         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
50333         (gettimeofday): Do not use the maximum possible value for
50334         tv->tv_usec, since that might break usages other than ls.c.
50335         Instead, we'll leave ls.c alone.  This undoes today's patch
50336         by Bruno.  Add a compile-time warning for 1s-clock resolution;
50337         we've never observed the problem but might as well keep the
50338         canary.
50339         * lib/nanosleep.c: Include timespec.h first, for interface check.
50340         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
50341         now assume the sys_time module.
50342         * lib/tempname.c: Likewise.
50343         * lib/timespec.h: Likewise.
50344         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
50345         needed.
50346         * lib/strftime.c: Likewise.
50347         * lib/timespec.h: Likewise.
50348         * lib/posixtm.c: Include posixtm.h first, for interface check.
50349         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
50350         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
50351         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
50352         * lib/sys_time_.h: New file.
50353         * lib/timespec.h (struct timespec): Use long int, not long.
50354         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
50355         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
50356         Remove obsolescent call to AC_HEADER_TIME.
50357         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
50358         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
50359         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
50360         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
50361         Likewise.
50362         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
50363         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
50364         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
50365         into the sys_time module.  Check for gettimeofday just once.
50366         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
50367         for gettimeofday signature to just check the signature.  Merely
50368         compile it, since linking doesn't test signature.  Improve test for
50369         whether gettimeofday.o is actually needed.
50370         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
50371         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
50372         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
50373         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50374         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
50375         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
50376         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
50377         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
50378         than worrying about sys/time.h.
50379         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50380         Don't bother worrying about TIME_WITH_SYS_TIME.
50381         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
50382         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
50383         * m4/sys_time_h.m4: New file.
50384         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
50385         Don't include sys/time.h.  Return from main rather than exiting.
50386         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
50387         all uses changed.
50388         * modules/gethrxtime (Depends-on): Add sys_time.
50389         * modules/gettime (Depends-on): Likewise.
50390         * modules/gettimeofday (Depends-on): Likewise.
50391         * modules/nanosleep (Depends-on): Likewise.
50392         * modules/settime (Depends-on): Likewise.
50393         * modules/tempname (Depends-on): Likewise.
50394         * modules/utimens (Depends-on): Likewise.
50395         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
50396         (Include:) Change back to <sys/time.h>.
50397         (Maintainer:) Add self.
50398         * modules/sys_time: New file.
50399         * modules/tempname (Depends-on): Add gettimeofday.
50400         * tests/test-gettimeofday.c: Include <sys/time.h>
50401         rather than gettimeofday.h.
50402
50403 2007-01-17  Bruno Haible  <bruno@clisp.org>
50404
50405         * gnulib-tool (func_get_license): Revert last patch. Instead, let
50406         the license default to GPL.
50407         (func_create_testdir): Don't complain if a module is LGPL and its
50408         tests module depends on GPLed modules.
50409
50410 2007-01-17  Bruno Haible  <bruno@clisp.org>
50411
50412         * lib/gettimeofday.c (gettimeofday): Add code for the case
50413         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
50414         maximum possible value for tv->tv_usec, rather than the minimum one.
50415
50416 2005-10-08  Martin Lambers  <marlam@marlam.de>
50417 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
50418 2007-01-16  Bruno Haible  <bruno@clisp.org>
50419
50420         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
50421         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
50422         gl_FUNC_GETTIMEOFDAY.
50423         (Include): Add gettimeofday.h.
50424         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
50425         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
50426         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
50427         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
50428         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
50429         * lib/gettimeofday.h: New file.
50430         * lib/gettimeofday.c: Include <sys/timeb.h>.
50431         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
50432         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
50433         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
50434         fall back on time().
50435
50436         * tests/test-gettimeofday.c: New file.
50437         * modules/gettimeofday-tests: New file.
50438
50439 2007-01-16  Eric Blake  <ebb9@byu.net>
50440
50441         * modules/fnmatch (Depends-on): Depend on wchar.
50442         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
50443         * m4/fnmatch.m4: Likewise.
50444         * modules/mbchar (Makefile.am): Assume <wchar.h>.
50445         * m4/mbchar.m4: Likewise.
50446         * modules/mbswidth (Depends-on): Depend on wchar.
50447         * lib/mbswidth.c: Assume <wchar.h>.
50448         * m4/mbswidth.m4: Likewise.
50449         * modules/quotearg (Depends-on): Depend on wchar.
50450         * lib/quotearg.c: Assume <wchar.h>.
50451         * m4/quotearg.m4: Likewise.
50452         * modules/regex (Depends-on): Depend on wchar.
50453         * lib/regex_internal.h: Assume <wchar.h>.
50454         * m4/regex.m4: Likewise.
50455         * modules/stdint (Depends-on): Depend on wchar.
50456         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
50457         * m4/stdint.m4: Likewise.
50458         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
50459         * modules/strftime (Depends-on): Depend on wchar.
50460         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
50461         * modules/strtol (Depends-on): Depend on wchar.
50462         * lib/strtol.c: Assume <wchar.h>.
50463         * modules/wcwidth (Depends-on): Depend on wchar.
50464         * lib/wcwidth.h: Assume <wchar.h>.
50465         * m4/wcwidth.m4: Likewise.
50466
50467 2007-01-16  Bruno Haible  <bruno@clisp.org>
50468
50469         * modules/csharpexec-script: New, created from...
50470         * modules/csharpexec: ... this.
50471
50472 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
50473
50474         * modules/javaexec-script: New, created from...
50475         * modules/javaexec: ... this.
50476
50477 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50478
50479         * modules/poll (Dependencies): Add sys_select.
50480
50481 2007-01-15  Jim Meyering  <jim@meyering.net>
50482
50483         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
50484         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
50485         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
50486         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
50487
50488 2007-01-15  Bruno Haible  <bruno@clisp.org>
50489
50490         * modules/striconveh: New file.
50491         * lib/striconveh.h: New file.
50492         * lib/striconveh.c: New file.
50493         * MODULES.html.sh (Internationalization functions): Add striconveh.
50494
50495         * modules/striconveh-tests: New file.
50496         * tests/test-striconveh.c: New file.
50497
50498 2007-01-15  Bruno Haible  <bruno@clisp.org>
50499
50500         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
50501         not from GNU libiconv or GNU libc.
50502
50503 2007-01-15  Bruno Haible  <bruno@clisp.org>
50504
50505         * doc/gnulib-intro.texi (Copyright): Explain the different license
50506         terms for module descriptions, autoconf macros, tests, documentation.
50507
50508 2007-01-14  Bruno Haible  <bruno@clisp.org>
50509
50510         * modules/striconv-tests: New file.
50511         * tests/test-striconv.c: New file.
50512
50513 2007-01-14  Bruno Haible  <bruno@clisp.org>
50514
50515         * modules/iconv-tests: New file.
50516         * tests/test-iconv.c: New file.
50517
50518 2007-01-14  Bruno Haible  <bruno@clisp.org>
50519
50520         * gnulib-tool (func_get_license): For test modules, use the license of
50521         the main module.
50522
50523 2007-01-14  Bruno Haible  <bruno@clisp.org>
50524
50525         * modules/iconv (Include): Clarify that <iconv.h> can only be included
50526         if iconv is found to exist.
50527
50528 2007-01-14  Bruno Haible  <bruno@clisp.org>
50529
50530         * modules/c-ctype-tests: New file.
50531         * tests/test-c-ctype.c: New file.
50532
50533 2007-01-14  Bruno Haible  <bruno@clisp.org>
50534
50535         * modules/binary-io-tests: New file.
50536         * tests/test-binary-io.sh: New file.
50537         * tests/test-binary-io.c: New file.
50538
50539 2007-01-14  Bruno Haible  <bruno@clisp.org>
50540
50541         * modules/array-oset-tests: New file.
50542         * tests/test-array_oset.c: New file.
50543
50544 2007-01-14  Bruno Haible  <bruno@clisp.org>
50545
50546         * modules/array-list-tests: New file.
50547         * tests/test-array_list.c: New file.
50548
50549 2007-01-14  Bruno Haible  <bruno@clisp.org>
50550
50551         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
50552         and make.
50553         Reported by Simon Josefsson in
50554         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
50555
50556 2007-01-14  Bruno Haible  <bruno@clisp.org>
50557
50558         * modules/allocsa-tests: New file.
50559         * tests/test-allocsa.c: New file.
50560
50561 2007-01-14  Bruno Haible  <bruno@clisp.org>
50562
50563         * modules/fchdir (Depends-on): Add absolute-header.
50564         * modules/unistd (Depends-on): Likewise.
50565
50566 2006-12-30  Bruno Haible  <bruno@clisp.org>
50567
50568         * modules/fchdir: New file.
50569         * modules/unistd (Files): Add lib/unistd_.h.
50570         (Makefile.am): Generate unistd.h from unistd_.h.
50571         * lib/fchdir.c: New file.
50572         * lib/dirent_.h: New file.
50573         * lib/unistd_.h: New file.
50574         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
50575         * m4/fchdir.m4: New file.
50576         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
50577         (gl_HEADER_UNISTD): Invoke it.
50578         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
50579         function.
50580         * lib/backupfile.c (opendir, closedir): Undefine.
50581         * lib/chown.c (open, close): Undefine.
50582         * lib/clean-temp.c (open, close): Undefine.
50583         * lib/copy-file.c (open, close): Undefine.
50584         * lib/execute.c (open, close): Undefine.
50585         * lib/fsusage.c (open, close): Undefine.
50586         * lib/gc-gnulib.c (open, close): Undefine.
50587         * lib/getcwd.c (opendir, closedir): Undefine.
50588         * lib/glob.c (opendir, closedir): Undefine.
50589         * lib/javacomp.c (open, close): Undefine.
50590         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
50591         * lib/openat-proc.c (open, close): Undefine.
50592         * lib/pagealign_alloc.c (open, close): Undefine.
50593         * lib/pipe.c (open, close): Undefine.
50594         * lib/progreloc.c (open, close): Undefine.
50595         * lib/savedir.c (opendir, closedir): Undefine.
50596         * lib/utime.c (open, close): Undefine.
50597         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
50598
50599 2007-01-10  Bruno Haible  <bruno@clisp.org>
50600
50601         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
50602
50603 2007-01-12  Eric Blake  <ebb9@byu.net>
50604
50605         Provide a robust <wchar.h>.  Further simplifications are now
50606         possible in other modules, but not included here.
50607         * modules/wchar: New module.
50608         * m4/wchar.m4: New file.
50609         * lib/wchar_.h: Likewise.
50610         * modules/mbchar (Depends-on): Depend on wchar, as the first use
50611         of the new module.
50612         * MODULES.html.sh (Extended multibyte and wide character utilities):
50613         New section.
50614
50615 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
50616
50617         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
50618         to a reasonable default for memory allocation.
50619         (xreadlink): Don't allocate a huge buffer, to work around a buggy
50620         file system that reports garbage st_size values for symlinks.
50621         Problem reported by Liyang Hu.
50622
50623 2007-01-11  Simon Josefsson  <simon@josefsson.org>
50624
50625         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
50626         Emacs .#* auto-save files).
50627
50628 2007-01-11  Bruno Haible  <bruno@clisp.org>
50629
50630         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
50631         directory.
50632
50633 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
50634
50635         Use @...@ consistently in lib/wctype_.h.
50636         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
50637         on it being set to 1 or 0.
50638         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
50639         go back to AC_SUBSTing it.
50640         * modules/wctype (Makefile.am): Undo previous change.
50641
50642 2007-01-10  Eric Blake  <ebb9@byu.net>
50643
50644         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
50645         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
50646         * modules/wctype (Makefile.am): Likewise.
50647         Reported by Chris McGuire.
50648
50649 2007-01-10  Jim Meyering  <jim@meyering.net>
50650
50651         fts.c: a small readability/maintainability improvement
50652         * lib/fts.c (fts_read): Make this code slightly more readable and
50653         maintainable by hoisting the "sp->fts_cur = p" assignments to
50654         immediately follow the statements that set P.  Derived from
50655         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
50656
50657 2007-01-10  Eric Blake  <ebb9@byu.net>
50658
50659         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
50660         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
50661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
50662         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50663         Reported by Chris McGuire.
50664
50665 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50666
50667         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
50668         in sed script.
50669
50670 2007-01-09  Bruno Haible  <bruno@clisp.org>
50671
50672         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
50673         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
50674         variables.
50675         (func_module): Use them.
50676
50677 2007-01-09  Bruno Haible  <bruno@clisp.org>
50678
50679         * modules/unistr/base: New file.
50680         * lib/unistr.h: New file.
50681
50682         * modules/unistr/u8-to-u16: New file.
50683         * lib/unistr/u8-to-u16.c: New file.
50684
50685         * modules/unistr/u8-to-u32: New file.
50686         * lib/unistr/u8-to-u32.c: New file.
50687
50688         * modules/unistr/u16-to-u8: New file.
50689         * lib/unistr/u16-to-u8.c: New file.
50690
50691         * modules/unistr/u16-to-u32: New file.
50692         * lib/unistr/u16-to-u32.c: New file.
50693
50694         * modules/unistr/u32-to-u8: New file.
50695         * lib/unistr/u32-to-u8.c: New file.
50696
50697         * modules/unistr/u32-to-u16: New file.
50698         * lib/unistr/u32-to-u16.c: New file.
50699
50700         * modules/unistr/u8-check: New file.
50701         * modules/unistr/u16-check: New file.
50702         * modules/unistr/u32-check: New file.
50703         * lib/unistr/u8-check.c: New file.
50704         * lib/unistr/u16-check.c: New file.
50705         * lib/unistr/u32-check.c: New file.
50706
50707         * modules/unistr/u8-chr: New file.
50708         * modules/unistr/u16-chr: New file.
50709         * modules/unistr/u32-chr: New file.
50710         * lib/unistr/u8-chr.c: New file.
50711         * lib/unistr/u16-chr.c: New file.
50712         * lib/unistr/u32-chr.c: New file.
50713
50714         * modules/unistr/u8-cmp: New file.
50715         * modules/unistr/u16-cmp: New file.
50716         * modules/unistr/u32-cmp: New file.
50717         * lib/unistr/u8-cmp.c: New file.
50718         * lib/unistr/u16-cmp.c: New file.
50719         * lib/unistr/u32-cmp.c: New file.
50720
50721         * modules/unistr/u8-cpy: New file.
50722         * modules/unistr/u16-cpy: New file.
50723         * modules/unistr/u32-cpy: New file.
50724         * lib/unistr/u8-cpy.c: New file.
50725         * lib/unistr/u16-cpy.c: New file.
50726         * lib/unistr/u32-cpy.c: New file.
50727         * lib/unistr/u-cpy.h: New file.
50728
50729         * modules/unistr/u8-cpy-alloc: New file.
50730         * modules/unistr/u16-cpy-alloc: New file.
50731         * modules/unistr/u32-cpy-alloc: New file.
50732         * lib/unistr/u8-cpy-alloc.c: New file.
50733         * lib/unistr/u16-cpy-alloc.c: New file.
50734         * lib/unistr/u32-cpy-alloc.c: New file.
50735         * lib/unistr/u-cpy-alloc.h: New file.
50736
50737         * modules/unistr/u8-endswith: New file.
50738         * modules/unistr/u16-endswith: New file.
50739         * modules/unistr/u32-endswith: New file.
50740         * lib/unistr/u8-endswith.c: New file.
50741         * lib/unistr/u16-endswith.c: New file.
50742         * lib/unistr/u32-endswith.c: New file.
50743         * lib/unistr/u-endswith.h: New file.
50744
50745         * modules/unistr/u8-mblen: New file.
50746         * modules/unistr/u16-mblen: New file.
50747         * modules/unistr/u32-mblen: New file.
50748         * lib/unistr/u8-mblen.c: New file.
50749         * lib/unistr/u16-mblen.c: New file.
50750         * lib/unistr/u32-mblen.c: New file.
50751
50752         * modules/unistr/u8-mbtouc: New file.
50753         * modules/unistr/u16-mbtouc: New file.
50754         * modules/unistr/u32-mbtouc: New file.
50755         * lib/unistr/u8-mbtouc.c: New file.
50756         * lib/unistr/u16-mbtouc.c: New file.
50757         * lib/unistr/u32-mbtouc.c: New file.
50758
50759         * modules/unistr/u8-mbtouc-safe: New file.
50760         * modules/unistr/u16-mbtouc-safe: New file.
50761         * modules/unistr/u32-mbtouc-safe: New file.
50762         * lib/unistr/u8-mbtouc-safe.c: New file.
50763         * lib/unistr/u16-mbtouc-safe.c: New file.
50764         * lib/unistr/u32-mbtouc-safe.c: New file.
50765
50766         * modules/unistr/u8-move: New file.
50767         * modules/unistr/u16-move: New file.
50768         * modules/unistr/u32-move: New file.
50769         * lib/unistr/u8-move.c: New file.
50770         * lib/unistr/u16-move.c: New file.
50771         * lib/unistr/u32-move.c: New file.
50772         * lib/unistr/u-move.h: New file.
50773
50774         * modules/unistr/u8-next: New file.
50775         * modules/unistr/u16-next: New file.
50776         * modules/unistr/u32-next: New file.
50777         * lib/unistr/u8-next.c: New file.
50778         * lib/unistr/u16-next.c: New file.
50779         * lib/unistr/u32-next.c: New file.
50780
50781         * modules/unistr/u8-prev: New file.
50782         * modules/unistr/u16-prev: New file.
50783         * modules/unistr/u32-prev: New file.
50784         * lib/unistr/u8-prev.c: New file.
50785         * lib/unistr/u16-prev.c: New file.
50786         * lib/unistr/u32-prev.c: New file.
50787
50788         * modules/unistr/u8-set: New file.
50789         * modules/unistr/u16-set: New file.
50790         * modules/unistr/u32-set: New file.
50791         * lib/unistr/u8-set.c: New file.
50792         * lib/unistr/u16-set.c: New file.
50793         * lib/unistr/u32-set.c: New file.
50794         * lib/unistr/u-set.h: New file.
50795
50796         * modules/unistr/u8-startswith: New file.
50797         * modules/unistr/u16-startswith: New file.
50798         * modules/unistr/u32-startswith: New file.
50799         * lib/unistr/u8-startswith.c: New file.
50800         * lib/unistr/u16-startswith.c: New file.
50801         * lib/unistr/u32-startswith.c: New file.
50802         * lib/unistr/u-startswith.h: New file.
50803
50804         * modules/unistr/u8-stpcpy: New file.
50805         * modules/unistr/u16-stpcpy: New file.
50806         * modules/unistr/u32-stpcpy: New file.
50807         * lib/unistr/u8-stpcpy.c: New file.
50808         * lib/unistr/u16-stpcpy.c: New file.
50809         * lib/unistr/u32-stpcpy.c: New file.
50810         * lib/unistr/u-stpcpy.h: New file.
50811
50812         * modules/unistr/u8-stpncpy: New file.
50813         * modules/unistr/u16-stpncpy: New file.
50814         * modules/unistr/u32-stpncpy: New file.
50815         * lib/unistr/u8-stpncpy.c: New file.
50816         * lib/unistr/u16-stpncpy.c: New file.
50817         * lib/unistr/u32-stpncpy.c: New file.
50818         * lib/unistr/u-stpncpy.h: New file.
50819
50820         * modules/unistr/u8-strcat: New file.
50821         * modules/unistr/u16-strcat: New file.
50822         * modules/unistr/u32-strcat: New file.
50823         * lib/unistr/u8-strcat.c: New file.
50824         * lib/unistr/u16-strcat.c: New file.
50825         * lib/unistr/u32-strcat.c: New file.
50826         * lib/unistr/u-strcat.h: New file.
50827
50828         * modules/unistr/u8-strchr: New file.
50829         * modules/unistr/u16-strchr: New file.
50830         * modules/unistr/u32-strchr: New file.
50831         * lib/unistr/u8-strchr.c: New file.
50832         * lib/unistr/u16-strchr.c: New file.
50833         * lib/unistr/u32-strchr.c: New file.
50834
50835         * modules/unistr/u8-strcmp: New file.
50836         * modules/unistr/u16-strcmp: New file.
50837         * modules/unistr/u32-strcmp: New file.
50838         * lib/unistr/u8-strcmp.c: New file.
50839         * lib/unistr/u16-strcmp.c: New file.
50840         * lib/unistr/u32-strcmp.c: New file.
50841
50842         * modules/unistr/u8-strcpy: New file.
50843         * modules/unistr/u16-strcpy: New file.
50844         * modules/unistr/u32-strcpy: New file.
50845         * lib/unistr/u8-strcpy.c: New file.
50846         * lib/unistr/u16-strcpy.c: New file.
50847         * lib/unistr/u32-strcpy.c: New file.
50848         * lib/unistr/u-strcpy.h: New file.
50849
50850         * modules/unistr/u8-strcspn: New file.
50851         * modules/unistr/u16-strcspn: New file.
50852         * modules/unistr/u32-strcspn: New file.
50853         * lib/unistr/u8-strcspn.c: New file.
50854         * lib/unistr/u16-strcspn.c: New file.
50855         * lib/unistr/u32-strcspn.c: New file.
50856         * lib/unistr/u-strcspn.h: New file.
50857
50858         * modules/unistr/u8-strdup: New file.
50859         * modules/unistr/u16-strdup: New file.
50860         * modules/unistr/u32-strdup: New file.
50861         * lib/unistr/u8-strdup.c: New file.
50862         * lib/unistr/u16-strdup.c: New file.
50863         * lib/unistr/u32-strdup.c: New file.
50864         * lib/unistr/u-strdup.h: New file.
50865
50866         * modules/unistr/u8-strlen: New file.
50867         * modules/unistr/u16-strlen: New file.
50868         * modules/unistr/u32-strlen: New file.
50869         * lib/unistr/u8-strlen.c: New file.
50870         * lib/unistr/u16-strlen.c: New file.
50871         * lib/unistr/u32-strlen.c: New file.
50872         * lib/unistr/u-strlen.h: New file.
50873
50874         * modules/unistr/u8-strmblen: New file.
50875         * modules/unistr/u16-strmblen: New file.
50876         * modules/unistr/u32-strmblen: New file.
50877         * lib/unistr/u8-strmblen.c: New file.
50878         * lib/unistr/u16-strmblen.c: New file.
50879         * lib/unistr/u32-strmblen.c: New file.
50880
50881         * modules/unistr/u8-strmbtouc: New file.
50882         * modules/unistr/u16-strmbtouc: New file.
50883         * modules/unistr/u32-strmbtouc: New file.
50884         * lib/unistr/u8-strmbtouc.c: New file.
50885         * lib/unistr/u16-strmbtouc.c: New file.
50886         * lib/unistr/u32-strmbtouc.c: New file.
50887
50888         * modules/unistr/u8-strncat: New file.
50889         * modules/unistr/u16-strncat: New file.
50890         * modules/unistr/u32-strncat: New file.
50891         * lib/unistr/u8-strncat.c: New file.
50892         * lib/unistr/u16-strncat.c: New file.
50893         * lib/unistr/u32-strncat.c: New file.
50894         * lib/unistr/u-strncat.h: New file.
50895
50896         * modules/unistr/u8-strncmp: New file.
50897         * modules/unistr/u16-strncmp: New file.
50898         * modules/unistr/u32-strncmp: New file.
50899         * lib/unistr/u8-strncmp.c: New file.
50900         * lib/unistr/u16-strncmp.c: New file.
50901         * lib/unistr/u32-strncmp.c: New file.
50902
50903         * modules/unistr/u8-strncpy: New file.
50904         * modules/unistr/u16-strncpy: New file.
50905         * modules/unistr/u32-strncpy: New file.
50906         * lib/unistr/u8-strncpy.c: New file.
50907         * lib/unistr/u16-strncpy.c: New file.
50908         * lib/unistr/u32-strncpy.c: New file.
50909         * lib/unistr/u-strncpy.h: New file.
50910
50911         * modules/unistr/u8-strnlen: New file.
50912         * modules/unistr/u16-strnlen: New file.
50913         * modules/unistr/u32-strnlen: New file.
50914         * lib/unistr/u8-strnlen.c: New file.
50915         * lib/unistr/u16-strnlen.c: New file.
50916         * lib/unistr/u32-strnlen.c: New file.
50917         * lib/unistr/u-strnlen.h: New file.
50918
50919         * modules/unistr/u8-strpbrk: New file.
50920         * modules/unistr/u16-strpbrk: New file.
50921         * modules/unistr/u32-strpbrk: New file.
50922         * lib/unistr/u8-strpbrk.c: New file.
50923         * lib/unistr/u16-strpbrk.c: New file.
50924         * lib/unistr/u32-strpbrk.c: New file.
50925         * lib/unistr/u-strpbrk.h: New file.
50926
50927         * modules/unistr/u8-strrchr: New file.
50928         * modules/unistr/u16-strrchr: New file.
50929         * modules/unistr/u32-strrchr: New file.
50930         * lib/unistr/u8-strrchr.c: New file.
50931         * lib/unistr/u16-strrchr.c: New file.
50932         * lib/unistr/u32-strrchr.c: New file.
50933
50934         * modules/unistr/u8-strspn: New file.
50935         * modules/unistr/u16-strspn: New file.
50936         * modules/unistr/u32-strspn: New file.
50937         * lib/unistr/u8-strspn.c: New file.
50938         * lib/unistr/u16-strspn.c: New file.
50939         * lib/unistr/u32-strspn.c: New file.
50940         * lib/unistr/u-strspn.h: New file.
50941
50942         * modules/unistr/u8-strstr: New file.
50943         * modules/unistr/u16-strstr: New file.
50944         * modules/unistr/u32-strstr: New file.
50945         * lib/unistr/u8-strstr.c: New file.
50946         * lib/unistr/u16-strstr.c: New file.
50947         * lib/unistr/u32-strstr.c: New file.
50948         * lib/unistr/u-strstr.h: New file.
50949
50950         * modules/unistr/u8-strtok: New file.
50951         * modules/unistr/u16-strtok: New file.
50952         * modules/unistr/u32-strtok: New file.
50953         * lib/unistr/u8-strtok.c: New file.
50954         * lib/unistr/u16-strtok.c: New file.
50955         * lib/unistr/u32-strtok.c: New file.
50956         * lib/unistr/u-strtok.h: New file.
50957
50958         * modules/unistr/u8-uctomb: New file.
50959         * modules/unistr/u16-uctomb: New file.
50960         * modules/unistr/u32-uctomb: New file.
50961         * lib/unistr/u8-uctomb.c: New file.
50962         * lib/unistr/u16-uctomb.c: New file.
50963         * lib/unistr/u32-uctomb.c: New file.
50964
50965         * MODULES.html.sh (Unicode string functions): Add the new modules.
50966
50967 2007-01-08  Bruno Haible  <bruno@clisp.org>
50968
50969         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
50970         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
50971         subdirectories.
50972
50973 2007-01-08  Karl Berry  <karl@gnu.org>
50974
50975         * doc/error.texi: mention that main() fns must set program_name
50976         when progname is used.
50977
50978 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
50979
50980         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
50981         WCTYPE_H is empty, for the benefit of builds from non-distclean
50982         directories.  Problem reported by Eric Blake in
50983         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
50984
50985 2007-01-08  Bruno Haible  <bruno@clisp.org>
50986
50987         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
50988         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
50989         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
50990         PROVIDE_CANONICALIZE_FILENAME_MODE.
50991         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
50992
50993 2007-01-08  Bruno Haible  <bruno@clisp.org>
50994
50995         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
50996         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
50997         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
50998         * lib/fts.c: Likewise.
50999         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
51000
51001 2006-12-25  Bruno Haible  <bruno@clisp.org>
51002
51003         * modules/utf8-ucs4-safe: New file.
51004         * lib/utf8-ucs4-safe.h: New file.
51005         * lib/unistr/utf8-ucs4-safe.c: New file.
51006
51007         * modules/utf16-ucs4-safe: New file.
51008         * lib/utf16-ucs4-safe.h: New file.
51009         * lib/unistr/utf16-ucs4-safe.c: New file.
51010
51011         * MODULES.html.sh (Unicode string functions): Add the new modules.
51012
51013 2007-01-08  Bruno Haible  <bruno@clisp.org>
51014
51015         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
51016         (Depends-on): Add unitypes.
51017         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
51018         (u8_mbtouc_aux): Move out to separate file.
51019         (u8_mbtouc): Use ucs4_t, uint8_t types.
51020         * lib/unistr/utf8-ucs4.c: New file.
51021
51022         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
51023         (Depends-on): Add unitypes.
51024         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
51025         (u16_mbtouc_aux): Move out to separate file.
51026         (u16_mbtouc): Use ucs4_t, uint16_t types.
51027         * lib/unistr/utf16-ucs4.c: New file.
51028
51029         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
51030         (Depends-on): Add unitypes.
51031         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
51032         (u8_uctomb_aux): Move out to separate file.
51033         (u8_uctomb): Use ucs4_t, uint8_t types.
51034         * lib/unistr/ucs4-utf8.c: New file.
51035
51036         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
51037         (Depends-on): Add unitypes.
51038         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
51039         (u16_uctomb_aux): Move out to separate file.
51040         (u16_uctomb): Use ucs4_t, uint16_t types.
51041         * lib/unistr/ucs4-utf16.c: New file.
51042
51043 2006-12-25  Bruno Haible  <bruno@clisp.org>
51044
51045         * modules/unitypes: New file.
51046         * lib/unitypes.h: New file.
51047         * MODULES.html.sh (func_all_modules): New section "Unicode string
51048         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
51049         this section. Add unitypes.
51050
51051 2007-01-08  Bruno Haible  <bruno@clisp.org>
51052
51053         Avoid variable names that conflict with those from libtool.
51054         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
51055         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
51056         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
51057         library_names_spec to acl_library_names_spec, hardcode_* to
51058         acl_hardcode_*.
51059         Reported by Ralf Wildenhues.
51060
51061 2007-01-08  Bruno Haible  <bruno@clisp.org>
51062
51063         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
51064         definition.
51065         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
51066         definition.
51067         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
51068         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
51069         definition.
51070         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
51071         definition.
51072         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
51073         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
51074         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
51075         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
51076         definition.
51077         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
51078         definition.
51079         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
51080         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
51081         GC_USE_<algorithm>.
51082         * lib/gc-libgcrypt.c: Likewise.
51083         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
51084         * modules/gc-arctwo (configure.ac): Likewise.
51085         * modules/gc-des (configure.ac): Likewise.
51086         * modules/gc-hmac-md5 (configure.ac): Likewise.
51087         * modules/gc-hmac-sha1 (configure.ac): Likewise.
51088         * modules/gc-md2 (configure.ac): Likewise.
51089         * modules/gc-md4 (configure.ac): Likewise.
51090         * modules/gc-md5 (configure.ac): Likewise.
51091         * modules/gc-random (configure.ac): Likewise.
51092         * modules/gc-rijndael (configure.ac): Likewise.
51093         * modules/gc-sha1 (configure.ac): Likewise.
51094
51095 2007-01-08  Bruno Haible  <bruno@clisp.org>
51096
51097         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
51098         macro definition.
51099         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
51100         definition.
51101         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
51102         definition.
51103         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
51104         * modules/fcntl-safer (configure.ac): Likewise.
51105         * modules/fopen-safer (configure.ac): Likewise.
51106         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
51107         GNULIB_FWRITEERROR macro definition.
51108
51109 2007-01-08  Bruno Haible  <bruno@clisp.org>
51110
51111         * m4/gnulib-common.m4: New file.
51112         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
51113         (func_get_filelist): Add m4/gnulib-common.m4.
51114
51115 2007-01-08  Bruno Haible  <bruno@clisp.org>
51116
51117         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
51118         command.
51119
51120 2007-01-08  Jim Meyering  <jim@meyering.net>
51121
51122         Use a more robust test for a "can't happen" condition.
51123         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
51124         narrowed the st_size value.  Presuming the "can't happen" condition
51125         is true, that narrowing could conceivably convert an invalid st_size
51126         value into a valid one.  Instead, use a change based on Matthew
51127         Woehlke's original patch.
51128
51129         Slight readability improvement: use an assert-like macro
51130         in place of literal "abort ()" uses.
51131         * lib/fts.c (fts_assert): Define.
51132         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
51133         Use this macro instead of a bare 'abort'.
51134
51135 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
51136
51137         Don't worry about using IRIX 5.3's wctype.h broken definitions;
51138         simply work around them.
51139         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
51140         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
51141         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
51142         declaring.
51143         Don't bother to define as macros, since the standard doesn't require it.
51144         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
51145         longer worry about IRIX 5.3.
51146         (HAVE_WCTYPE_CTMP_BUG): Remove.
51147
51148 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
51149
51150         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
51151         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
51152         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
51153         Problems reported by Georg Schwarz for IRIX 5.3.
51154
51155         * gnulib-tool (autoconf_minversion): Take the maximum version number
51156         found, not the minimum.  Problem reported by James Youngman.
51157
51158 2007-01-03  Karl Berry  <karl@gnu.org>
51159
51160         * doc/error.texi: new file, explaining interaction with progname.
51161         * doc/gnulib.texi: include it.  Update copyright.
51162
51163 2007-01-03  Simon Josefsson  <simon@josefsson.org>
51164
51165         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
51166         AC_CANONICAL_HOST, to improve autobuild outputs.
51167
51168 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
51169             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
51170
51171         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
51172         sockets, server sockets, and other file descriptors.  Count errors
51173         to compute the return value.  Reorder the code a bit to be easier
51174         to follow.  Don't set event bits that were not requested (except
51175         POLLERR and POLLHUP).
51176
51177 2007-01-01  Bruno Haible  <bruno@clisp.org>
51178
51179         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
51180
51181 2007-01-03  Jim Meyering  <jim@meyering.net>
51182
51183         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
51184
51185 2007-01-02  Bruno Haible  <bruno@clisp.org>
51186
51187         * modules/settime (Include): Require timespec.h.
51188         * modules/nanosleep (Include): Likewise.
51189
51190 2007-01-01  Bruno Haible  <bruno@clisp.org>
51191
51192         * gnulib-tool (func_emit_copyright_notice): Bump year.
51193         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
51194
51195 2007-01-01  Bruno Haible  <bruno@clisp.org>
51196
51197         Improve support for OpenBSD.
51198         * build-aux/config.rpath (libname_spec): Export.
51199         (library_names_spec): New variable. Export.
51200         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
51201         library_names_spec from the config.rpath output. Locate shared library
51202         through the name pattern in library_names_spec.
51203
51204 2007-01-01  Eric Blake  <ebb9@byu.net>
51205
51206         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
51207
51208 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
51209
51210         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
51211         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
51212         assume the C locale, and avoid an "eval" that could cause trouble.
51213         Problem with SORT reported by Bob Proulx.
51214
51215         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
51216         Define.  Trivial patch from Henning Nielsen Lund, originally
51217         sent to bug-grep@gnu.org today.
51218
51219 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
51220
51221         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
51222         struct stat.  Problem reported by Henning Nielsen Lund.
51223         * lib/acl.c: Include acl.h first, to check interface.  Don't
51224         bother to include sys/types.h and sys/stat.h again.
51225
51226 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
51227
51228         Import the following change from libc; problem reported by
51229         Sven Verdoolaege.
51230
51231         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
51232
51233         [BZ #1373]
51234         * lib/argp.h: Remove __NTH for __argp_usage inline function.
51235
51236 2006-12-28  Jim Meyering  <jim@meyering.net>
51237
51238         * build-aux/announce-gen: Do not assume that the package
51239         builds any of tar.gz, tar.bz2, and .xdelta files.
51240         Suggestion from Simon Josefsson.
51241
51242 2006-12-28  Simon Josefsson  <simon@josefsson.org>
51243
51244         * modules/announce-gen: New file.
51245
51246 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
51247
51248         * lib/mbchar.h: Just include <wctype.h>; the wctype module
51249         handles its gotchas now.
51250         * lib/mbswidth.c: Likewise.
51251         * lib/wcwidth.h: Likewise.
51252         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
51253         and iswcntrl; the wctype module does this stuff now.
51254         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51255         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
51256         * modules/mbchar (Depends-on): Add wctype.
51257         * modules/mbswidth (Depends-on): Likewise.
51258         * modules/wcwidth (Depends-on): Likewise.
51259
51260 2006-12-27  Eric Blake  <ebb9@byu.net>
51261
51262         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
51263         module uses more than what <wctype.h> is required to provide.
51264
51265 2006-12-26  Eric Blake  <ebb9@byu.net>
51266
51267         * gnulib-tool (sed_extract_prog): Avoid space-tab.
51268
51269 2006-12-26  Eric Blake  <ebb9@byu.net>
51270
51271         * modules/absolute-header: New module.
51272         * modules/fcntl (Depends-on): Depend on it.
51273         * modules/inttypes (Depends-on): Likewise.
51274         * modules/stdint (Depends-on): Likewise.
51275         * modules/sys_stat (Depends-on): Likewise.
51276         * modules/wctype (Depends-on): Likewise.
51277         * MODULES.html.sh (Support for building libraries and
51278         executables): Document it.
51279
51280 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
51281
51282         * gnulib-tool (SED): Remove, undoing previous change.
51283         The problem was that it broke coreutils on Solaris, because
51284         "sed --posix" leaked into a makefile.
51285         (sed): New alias, if 'alias' and GNU sed.
51286
51287 2006-12-24  Jim Meyering  <jim@meyering.net>
51288
51289         Work around an fchownat bug in glibc-2.4:
51290         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
51291         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
51292         in spite of the -P option.
51293         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
51294         New macros.
51295         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
51296         * modules/openat (Files): Add lib/fchownat.c.
51297         * lib/openat.c (fchownat): Don't define here.  Move to...
51298         * lib/fchownat.c: ...this new file.
51299
51300 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
51301
51302         Fix bug reported by Bruno Haible in
51303         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
51304         where quotearg.c didn't compile on Mac OS X 10.2 because it
51305         lacks <wchar.h> and wint_t.
51306         * lib/wctype_.h (__wctype_wint_t): New type.
51307         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
51308         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
51309         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
51310         Arg is now of type __wctype_wint_t, not wint_t.
51311         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
51312         substitute HAVE_WINT_T.
51313         * modules/wctype (Files): Add m4/wint_t.m4.
51314         (wctype.h): Substitute HAVE_WINT_T.
51315
51316 2006-12-23  Bruno Haible  <bruno@clisp.org>
51317
51318         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
51319
51320 2006-12-23  Bruno Haible  <bruno@clisp.org>
51321
51322         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
51323         S_ISLNK.
51324         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
51325         mingw.
51326
51327 2006-12-22  Bruno Haible  <bruno@clisp.org>
51328
51329         * lib/copy-file.c: Include acl.h.
51330         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
51331         Close the file descriptors only after being done with copy_acl.
51332         * modules/copy-file (Depends-on): Add acl.
51333
51334 2006-12-22  Bruno Haible  <bruno@clisp.org>
51335
51336         * gnulib-tool (SED): New variable.
51337         Use $SED instead of sed everywhere.
51338
51339 2006-12-22  Bruno Haible  <bruno@clisp.org>
51340
51341         * modules/no-c++: New file.
51342         * m4/no-c++.m4: New file.
51343         * MODULES.html.sh (Support for building libraries and executables):
51344         Add no-c++.
51345
51346 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
51347
51348         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
51349         Include <limits.h>, and use its INT_MAX to rewrite the
51350         j loop so that it does not overflow 'int'.  Problem reported by
51351         Ralf Wildenhues in
51352         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
51353         Play it safe by shifting left by 1 rather than multiplying by 2,
51354         as GCC is less likely to optimize this away when the value
51355         is signed (when it assumes overflow leads to undefined behavior).
51356         Also, don't assume time_t uses two's complement.
51357
51358 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
51359
51360         * MODULES.html.sh: New module wctype.
51361         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
51362         * lib/fnmatch.c: Don't bother to include <wchar.h> before
51363         <wctype.h>, since the new wctype module should fix this.
51364         * lib/quotearg.c: Include <wctype.h> unconditionally, since
51365         the wctype module should arrange for it.
51366         * lib/regex_internal.h: Likewise.
51367         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
51368         since the wctype module should handle this now.
51369         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
51370         * modules/fnmatch (Depends-on): Add wctype.
51371         * modules/quotearg (Depends-on): Likewise.
51372         * modules/regex (Depends-on): Likewise.
51373
51374 2006-12-19  Bruno Haible  <bruno@clisp.org>
51375
51376         * lib/strdup.h [C++]: Wrap definitions in extern "C".
51377         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
51378
51379 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51380
51381         * modules/savewd (Depends-on): Fix dependency on fcntl.
51382
51383 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
51384
51385         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
51386         conforms to C99, rather than relying on the user's environment
51387         setting of STDINT_H.
51388
51389 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
51390         and Eric Blake  <ebb9@byu.net>
51391
51392         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
51393         This is more consistent with the other defines here.
51394         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
51395         Port to z/OS.  Problem reported by Paul Gilmartin.
51396         Change local vars to use gl_ prefix rather than ac_.
51397         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
51398         with other defines.
51399         * modules/double-slash-root: New module.
51400         * modules/dirname (Files): Remove m4/double-slash-root.m4.
51401         (Depends-on): Add double-slash-root.
51402         * MODULES.html.sh (File system functions): Mention new module.
51403
51404 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
51405
51406         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
51407         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
51408         This is for the benefit of gzip, which doesn't do i18n.
51409
51410 2006-12-12  Jim Meyering  <jim@meyering.net>
51411
51412         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
51413         Reported by Andreas Schwab <schwab@suse.de>.
51414
51415 2006-12-12  Bruno Haible  <bruno@clisp.org>
51416
51417         Merge these changes.
51418         2006-09-05  Bruno Haible  <bruno@clisp.org>
51419         * lib/iconvme.c (iconv_string): No need to save and restore errno when
51420         iconv_alloc succeeded.
51421         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
51422         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
51423         test for " && dest " at the end - dest is always != NULL there. Call
51424         iconv with 4xNULL arguments initially, to reset the state. Call iconv
51425         with 2xNULL arguments, also to flush the state storage. Handle the
51426         IRIX iconv behaviour. Realloc the final result, to throw away unused
51427         memory.
51428
51429 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
51430
51431         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
51432         and fchmodat unconditionally, since glibc 2.4 has them.
51433         Problem reported by Arkadiusz Miskiewicz.
51434
51435 2006-12-10  Bruno Haible  <bruno@clisp.org>
51436
51437         * gnulib-tool (func_import): Show the include files only for those
51438         modules that are copied and specified.
51439         Reported by Karl Berry.
51440
51441 2006-12-08  Jim Meyering  <jim@meyering.net>
51442
51443         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
51444         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
51445
51446         * build-aux/announce-gen: Add two new options, both optional:
51447         --bootstrap-tools=TOOL_LIST
51448               a comma-separated list of tools, e.g.,
51449               autoconf,automake,bison,gnulib
51450         --gnulib-snapshot-date=DATE
51451               if gnulib is in the bootstrap tool list,
51452               then report this as the snapshot date.
51453               If not specified, use the current date/time.
51454               If you specify a date here, be sure it's UTC.
51455
51456 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51457
51458         * tests/test-argp-2.sh: Fix test to match actual output.
51459         (func_compare): Fix sed script to be portable.
51460
51461 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
51462
51463         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
51464         workaround for this case.  It is not autoconfigured now; offhand
51465         it's hard to see how to autoconfigure it.
51466
51467 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
51468
51469         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
51470         a directory that is about to be chowned.  Such a directory's
51471         initial file permissions should permit the owner only and this
51472         should not be changed until after the chown, since the group and
51473         other bits would be incorrect if they granted permission before
51474         the chown.
51475
51476         Fix porting problem for iswctype reported by Georg Schwarz in:
51477         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
51478         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
51479         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
51480         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
51481         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
51482
51483 2006-12-03  Jim Meyering  <jim@meyering.net>
51484
51485         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
51486         p->fts_statp may not yet be defined.
51487         (fts_read): Instead, set it in the caller, once p->fts_statp is
51488         sure to be defined, and corresponds to a top-level directory.
51489         This bug made du -x fail.  Here's the coreutils test case:
51490         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
51491         Reported by Mike Frysinger.
51492
51493 2006-12-01  Jim Meyering  <jim@meyering.net>
51494
51495         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
51496         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
51497         Reported by Simon Josefsson.
51498
51499 2006-11-30  Jim Meyering  <jim@meyering.net>
51500
51501         * m4/warning.m4: Use the all-permissive copyright notice
51502         recommended by RMS (rather than LGPL).
51503         * m4/vararrays.m4: Likewise.
51504         * m4/flexmember.m4: Likewise.
51505
51506 2006-11-29  Bruno Haible  <bruno@clisp.org>
51507
51508         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
51509         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
51510         using +=.
51511         Reported by Simon Josefsson <simon@josefsson.org>.
51512
51513 2006-11-28  James Youngman <jay@gnu.org>
51514
51515         * README: Advise users that they might find the bug-gnulib@gnu.org
51516         and autotools-announce@gnu.org mailing lists useful.
51517
51518 2006-11-28  Bruno Haible  <bruno@clisp.org>
51519
51520         * m4/ptrdiff_max.m4: Remove file.
51521
51522 2006-11-21  Bruno Haible  <bruno@clisp.org>
51523
51524         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
51525         _AC_COMPUTE_INT.
51526         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51527         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
51528         _AC_COMPUTE_INT.
51529         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51530         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
51531         _AC_COMPUTE_INT.
51532         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51533
51534 2006-11-28  Jim Meyering  <jim@meyering.net>
51535
51536         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
51537         warning from "gcc -Wshadow" about shadowing the builtin.
51538
51539 2006-11-27  Bruno Haible  <bruno@clisp.org>
51540
51541         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
51542         _AC_COMPUTE_INT.
51543         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
51544
51545 2006-11-27  Bruno Haible  <bruno@clisp.org>
51546             Paul Eggert  <eggert@cs.ucla.edu>
51547
51548         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
51549
51550 2006-11-26  Bruno Haible  <bruno@clisp.org>
51551
51552         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
51553         noinst_LTLIBRARIES.
51554
51555 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
51556             Bruno Haible  <bruno@clisp.org>
51557
51558         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
51559         if compiling with "gcc -ansi".
51560
51561 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
51562
51563         Fix some incompatibilities with gcc -ansi -pedantic.
51564         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
51565         if compiling pedantically with GCC, unless it's C99 or later.
51566         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
51567         it mishandles gcc -ansi -pedantic as well.
51568         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
51569         if gcc -pedantic.
51570         * lib/regexec.c (check_node_accept_bytes): Don't use auto
51571         initializers for struct if -pedantic, unless it's C99 or later.
51572
51573 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
51574
51575         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
51576         Don't close an fd more than once. Identical atimes indicate
51577         success, not failure.
51578
51579 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
51580
51581         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
51582
51583 2006-11-23  Jim Meyering  <jim@meyering.net>
51584
51585         * build-aux/announce-gen: New file.  From coreutils.
51586
51587 2006-11-22  Jim Meyering  <jim@meyering.net>
51588
51589         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
51590         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
51591         (fts_read): Use a temporary to narrow the overused st_size member
51592         before using it in a switch statement.  Reported by Matthew Woehlke.
51593
51594         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
51595         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
51596
51597 2006-11-20  Bruno Haible  <bruno@clisp.org>
51598
51599         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
51600         changequote instead of pairs of brackets.
51601         Reported by Andreas Schwab <schwab@suse.de>.
51602
51603 2006-11-21  Jim Meyering  <jim@meyering.net>
51604
51605         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
51606         so as to remain compatible with older compilers.
51607         Patch from Michael Deutschmann.
51608
51609 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
51610
51611         * MODULES.html.sh (File system functions): Add openat.
51612
51613         * lib/openat.h (rpl_fstatat): New macro, if
51614         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
51615         (fstatat): Define to rpl_fstatat under the same conditions,
51616         unless COMPILING_FSTATAT.
51617         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
51618         seems to have the bug.
51619         * lib/fstatat.c: New file.
51620         * modules/openat (Files): Add it.
51621
51622 2006-11-20  Bruno Haible  <bruno@clisp.org>
51623
51624         * Makefile: New file.
51625
51626 2006-11-20  Jim Meyering  <jim@meyering.net>
51627
51628         The beginnings of syntax-related checks for gnulib.
51629         * lib/Makefile: New file.
51630         * lib/t-idcache: New script.  Ensure that the two halves of
51631         idcache.c stay in sync.
51632
51633         * lib/idcache.c: Adjust comments in user- and group- portions to
51634         be more accurate, and to be consistent with one another.
51635
51636 2006-11-20  Jim Meyering  <jim@meyering.net>
51637
51638         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
51639         continue using the flexible array member (thus, this module performs
51640         half as many malloc calls), with the addition that...
51641         (getgroup, getuser): Consistently record a non-match via an empty
51642         "name" string, and map an empty string match to a NULL return value.
51643         * modules/idcache (Depends-on): Re-add flexmember.
51644
51645         * lib/idcache.c (getuser): Remove all uses of the register keyword.
51646         (getuidbyname, getgroup, getgidbyname): Likewise.
51647
51648         Use cleaner syntax: NULL rather than 0.
51649         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
51650
51651 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
51652
51653         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
51654         It mishandled the case where the group was missing.
51655         Problem reported by Greg Schafer.
51656         * modules/idcache: Likewise.
51657
51658 2006-11-18  Jim Meyering  <jim@meyering.net>
51659
51660         * check-module (%exempt_header): Add exception for some
51661         conditionally-included headers.
51662
51663         * modules/i-ring (Depends-on): Add verify.
51664         (License): Change to LGPL.
51665
51666 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
51667
51668         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
51669         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
51670         and inttostr.h.  Use snprintf rather than uinttostr, so that
51671         LGPLed code doesn't depend on GPLed.
51672
51673 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
51674
51675         * modules/inline (License): Change from GPL to LGPL.
51676
51677 2006-11-17  Jim Meyering  <jim@meyering.net>
51678
51679         * modules/d-type (License): Switch to LGPL.
51680
51681 2006-11-15  Bruno Haible  <bruno@clisp.org>
51682
51683         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
51684
51685 2006-11-15  Eric Blake  <ebb9@byu.net>
51686
51687         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
51688         the module dependency.
51689
51690 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51691             Bruno Haible  <bruno@clisp.org>
51692
51693         * gnulib-tool (func_create_testdir): Add license consistency check.
51694
51695 2006-11-15  Eric Blake  <ebb9@byu.net>
51696
51697         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
51698         random "(cached)" in configure output.
51699
51700 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51701
51702         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
51703         test for conforming inttypes.h is both announced and cached.
51704
51705         * MODULES.html.sh (seen_modules, seen_files): New variables.
51706         (func_module): Rewrite to use a few less gnulib-tool and sed
51707         invocations.  Avoid a couple of quadratic algorithms for ...
51708         (missed_modules, missed_files): ... these, with ...
51709         (func_append, func_tmpdir): ... these new functions, from
51710         gnulib-tool.  Analogously, install traps for cleanup.
51711
51712         * tests/test-gc.c (main): Remove unused variables.
51713         * tests/test-read-file.c: Include stdlib.h, for 'free'.
51714
51715 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
51716
51717         * modules/inttostr (License): Change to LGPL.
51718
51719 2006-11-14  Eric Blake  <ebb9@byu.net>
51720
51721         * modules/tempname (License): Change to LGPL.
51722
51723 2006-11-14  Eric Blake  <ebb9@byu.net>
51724
51725         * doc/functions.texi (Function Portability): *printf functions on
51726         Cygwin now understand all POSIX size specifiers.
51727
51728 2006-11-14  Bruno Haible  <bruno@clisp.org>
51729
51730         * modules/c-ctype (License): Change to LGPL.
51731
51732 2006-11-12  Bruno Haible  <bruno@clisp.org>
51733
51734         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51735         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
51736         for GNOME libraries, for which the include files are installed in
51737         subdirectories of $prefix/include.
51738
51739 2006-11-12  Bruno Haible  <bruno@clisp.org>
51740
51741         * m4/lib-link.m4: Require at least autoconf-2.54.
51742         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
51743         name to underscores for the --with option.
51744
51745 2006-11-13  Bruno Haible  <bruno@clisp.org>
51746
51747         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
51748         the tests directory.
51749         Reported by Ralf Wildenhues.
51750
51751 2006-11-13  Bruno Haible  <bruno@clisp.org>
51752
51753         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
51754         (func_emit_initmacro_end): Undo the override here.
51755         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
51756         Works around the famous automake error in coreutils.
51757
51758 2006-11-13  Eric Blake  <ebb9@byu.net>
51759
51760         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
51761         element, not its node.
51762
51763 2006-11-12  Bruno Haible  <bruno@clisp.org>
51764
51765         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
51766         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
51767
51768 2006-11-12  Bruno Haible  <bruno@clisp.org>
51769
51770         * gnulib-tool: New option --local-symlink.
51771         (func_usage): Document it.
51772         (lsymbolic): New variable.
51773         (func_import, func_create_testdir): If --symlink was not specified,
51774         test whether --local-symlink was specified and the file comes from
51775         the local_gnulib_dir.
51776
51777 2006-11-12  Bruno Haible  <bruno@clisp.org>
51778
51779         * gnulib-tool (func_ln): New function.
51780         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
51781
51782 2006-11-12  Bruno Haible  <bruno@clisp.org>
51783
51784         Finish support for source files in subdirectories.
51785         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
51786         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
51787         AUTOMAKE_OPTIONS.
51788         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
51789
51790 2006-11-12  Bruno Haible  <bruno@clisp.org>
51791
51792         * gnulib-tool (func_get_automake_snippet): Synthesize also an
51793         EXTRA_lib_SOURCES augmentation.
51794         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
51795
51796 2006-11-12  Jim Meyering  <jim@meyering.net>
51797
51798         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
51799         file descriptors.  This also averts a failure on systems with
51800         native openat support when a traversed directory lacks "x" access.
51801         * lib/fts_.h: Include "i-ring.h"
51802         (struct FTS) [fts_fd_ring]: New member.
51803         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
51804         (FCHDIR): Add parentheses.
51805         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
51806         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
51807         When descending, rather than simply closing the previous
51808         fts_cwd_fd value, push that file descriptor onto the ring.
51809         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
51810         (fts_open): Initialize the new fd_ring member.
51811         (fts_close): Clear the ring.
51812         (fts_safe_changedir): When possible, use our new fd_ring to skip
51813         the diropen and fstat and dev/ino comparison that would normally
51814         accompany a virtual `chdir ("..")'.
51815
51816         * modules/fts (Depends-on): Add i-ring.
51817         * modules/i-ring: New module.
51818         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
51819         * m4/i-ring.m4: New file.
51820
51821 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51822
51823         * gnulib-tool (func_create_testdir): Fix replacement of
51824         `build-aux' in configure.ac.  Run autotools in gltests
51825         subdirectory.
51826         (func_create_testdir, func_create_megatestdir, test): There is
51827         no need for '--force' in most autotool invocations in a new
51828         tree.  Actually fail the whole test if any of the tools, or the
51829         configure or make stages fail.
51830
51831         Sync from Automake.
51832         * build-aux/gnupload: Revert last change.  Add pointer to upload
51833         instructions of the GNU Maintenance Instructions.
51834         Suggestion by Karl Berry.
51835
51836 2006-11-10  Jim Meyering  <jim@meyering.net>
51837
51838         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
51839
51840 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51841
51842         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
51843         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
51844         (bind_textdomain_codeset) [! ENABLE_NLS]:
51845         Evaluate all the arguments.  That way, callers get compatible behavior
51846         if the arguments have side effects.  Also, it avoids some GCC
51847         diagnostics in some cases; Joel E. Denny reported problems when Bison
51848         was configured with --enable-gcc-warnigs.
51849
51850 2006-11-10  Jim Meyering  <jim@meyering.net>
51851
51852         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
51853         relevant options in CFLAGS (like -O, -fno-inline) are taken into
51854         account.
51855
51856 2006-11-10  Jim Meyering  <jim@meyering.net>
51857
51858         * modules/inline: New file/module.
51859         * modules/xalloc (Files): Remove m4/inline.m4.
51860         (Depends-on): Add inline, instead.
51861         * modules/oset: Likewise.
51862         * modules/list: Likewise.
51863
51864 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
51865
51866         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
51867         Problem reported by Matthew Woehlke.
51868
51869 2006-11-09  Bruno Haible  <bruno@clisp.org>
51870
51871         * lib/tempname.c (gen_tempname): Remove variant that invokes
51872         __gen_tempname.
51873         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
51874         __gen_tempname.
51875
51876 2006-11-08  Bruno Haible  <bruno@clisp.org>
51877
51878         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
51879         to 'yes' instead of 'cross-compiling'.
51880
51881 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
51882
51883         * lib/quotearg.h (quotearg_free): New decl.
51884         * lib/quotearg.c (quotearg_free): New function.
51885         (slot0, nslots, slotvec0, slotvec):
51886         Now file-scope so that quotearg_free can get at them.
51887
51888 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51889
51890         Sync from Automake.
51891         * build-aux/gnupload: Add missing 'gnu' to example URL.
51892         Report by Karl Berry.
51893
51894 2006-11-08  Bruno Haible  <bruno@clisp.org>
51895
51896         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
51897         Suggested by Paul Eggert.
51898
51899 2006-11-08  Jim Meyering  <jim@meyering.net>
51900
51901         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
51902         It's already included if !_LIBC.
51903         (fts_safe_changedir): Add a comment.
51904
51905 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
51906
51907         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
51908         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
51909         Matthew Woehlke.
51910
51911         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
51912         definitions up, to avoid colliding with change below.
51913         (static_inline) [HAVE_INLINE]: New macro.
51914         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
51915         Provide extern decls when !HAVE_INLINE.  Do not define unless
51916         static_inline is defined, either by us or by xmalloc.c.  Use
51917         static_inline rather than static inline.
51918         (XCALLOC): Optimize sizeof(T) = 1 case.
51919         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
51920
51921 2006-11-07  Bruno Haible  <bruno@clisp.org>
51922
51923         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
51924         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
51925         AC_C_INLINE.
51926         * modules/xalloc (Files): Add m4/inline.m4.
51927
51928 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51929
51930         * README: Fix typo.
51931         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
51932         (Miscellanous Notes): ...from this.
51933
51934 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
51935
51936         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
51937         Mention that offsetof should be used instead of sizeof.
51938         From Bruno Haible.
51939
51940 2006-11-07  Bruno Haible  <bruno@clisp.org>
51941
51942         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
51943
51944 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
51945
51946         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
51947         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
51948         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
51949         (gl_tree_add_before, gl_tree_add_after):
51950         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
51951         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
51952         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
51953         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
51954         (gl_linked_add_after, gl_linked_add_at): Likewise.
51955         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
51956         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
51957         (gl_tree_add_before, gl_tree_add_after): Likewise.
51958         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
51959         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
51960         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
51961
51962 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51963
51964         * lib/gl_oset.h: Use C comment style, not C++ comment style.
51965
51966 2006-11-06  Bruno Haible  <bruno@clisp.org>
51967
51968         * m4/inline.m4: New file.
51969         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
51970         * modules/list (Files): Add m4/inline.m4.
51971         * modules/oset (Files): Likewise.
51972
51973 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
51974
51975         * lib/idcache.c: Include <stddef.h>, for offsetof.
51976         (struct userid.name): Change from char * to a flexible array member.
51977         All uses changed.
51978         * modules/idcache (Depends-on): Add flexmember.
51979
51980         * MODULES.html.sh (Core language properties): New module flexmember.
51981         * modules/flexmember, m4/flexmember.m4: New files.
51982
51983         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
51984         inline functions that are identical with the old xnmalloc_inline,
51985         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
51986         that we can avoid some unnecessary integer multiplications and
51987         divisions in the common case where the element size is known at
51988         compile time.
51989         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
51990         needed.
51991         (xnboundedmalloc): Remove.
51992         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
51993         arguments, for consistency with rest of this header.
51994         (xcharalloc): Rewrite using XNMALLOC.
51995         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
51996         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
51997         versions have been moved to lib/xalloc.h and renamed to be the
51998         non-*_inline versions.
51999         (xmalloc, xrealloc): Implement without reference to the xnmalloc
52000         and xnrealloc functions, since those functions are now inline and
52001         now call us.
52002         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
52003         renaming described above.
52004         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
52005         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
52006         captures the dependency in AC_C_INLINE.
52007
52008         New module canonicalize-lgpl, proposed by Charles Wilson in
52009         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
52010         with a few small changes afterwards.
52011         * MODULES.html.sh (File system functions): New module
52012         canonicalize-lgpl.
52013         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
52014         and canonicalize_file_name.
52015         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
52016         * modules/canonicalize-lgpl: New files.
52017
52018 2006-11-05  Bruno Haible  <bruno@clisp.org>
52019
52020         * gnulib-tool (func_import, func_create_testdir): Create directories
52021         also for files in subdirectories of lib/.
52022
52023 2006-11-05  Bruno Haible  <bruno@clisp.org>
52024
52025         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
52026         ANSI C compliant.
52027
52028 2006-11-03  Bruno Haible  <bruno@clisp.org>
52029
52030         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
52031         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
52032         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
52033         (xnboundedmalloc): New inline function.
52034         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
52035         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
52036         xmalloc.
52037         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
52038         xmalloc.
52039         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
52040         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
52041         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
52042         xmalloc.
52043         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
52044         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
52045         xmalloc.
52046         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
52047         gl_tree_add_after): Use XMALLOC instead of xmalloc.
52048         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
52049         xmalloc.
52050         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
52051         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
52052         gl_tree_add_after): Use XMALLOC instead of xmalloc.
52053         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
52054         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
52055         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
52056         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
52057
52058 2006-11-03  Bruno Haible  <bruno@clisp.org>
52059
52060         * lib/c-ctype.h [C++]: Define functions without name mangling.
52061         * lib/fwriteerror.h [C++]: Likewise.
52062         * lib/gcd.h [C++]: Likewise.
52063         * lib/linebreak.h [C++]: Likewise.
52064
52065 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
52066
52067         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
52068         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
52069         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
52070         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
52071         Check for functions and headers just once.
52072         Check for declaration of canonicalize_file_name.
52073         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
52074
52075 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
52076
52077         * gnulib-tool (func_import): Fix typo in actioncmd.
52078
52079 2006-11-02  Bruno Haible  <bruno@clisp.org>
52080
52081         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
52082         newline sequence in the Makefile.am snippet as a space, like "make"
52083         does.
52084         Reported by Roger Persson <perrog@gmail.com>.
52085
52086 2006-11-01  Bruno Haible  <bruno@clisp.org>
52087
52088         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
52089         already declared in <string.h>.
52090         * lib/strcase.h (strncasecmp): Don't declare it if yes.
52091
52092 2006-11-01  Bruno Haible  <bruno@clisp.org>
52093
52094         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
52095         * lib/strcase.h: Include <string.h>.
52096         (strcasecmp): Define to rpl_strcasecmp here.
52097
52098 2006-11-01  Bruno Haible  <bruno@clisp.org>
52099
52100         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
52101
52102 2006-11-01  Eric Blake  <ebb9@byu.net>
52103
52104         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
52105
52106         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
52107
52108 2006-10-29  Bruno Haible  <bruno@clisp.org>
52109
52110         Make it compile in C++ mode.
52111         * lib/full-write.c (full_rw): Add a cast.
52112
52113 2006-11-01  Bruno Haible  <bruno@clisp.org>
52114
52115         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
52116         be POSIX compliant.
52117         Reported by Roger Persson <perrog@gmail.com>.
52118
52119 2006-11-01  Eric Blake  <ebb9@byu.net>
52120
52121         * lib/getopt_.h: Fix comments.
52122
52123 2006-10-31  Eric Blake  <ebb9@byu.net>
52124
52125         * modules/tmpdir (Depends-on): Add sys_stat.
52126         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
52127         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
52128         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
52129         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
52130         tempname.
52131
52132 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
52133
52134         Avoid some C++ diagnostics reported by Bruno Haible.
52135         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
52136         xmalloc.
52137         (quotearg_alloc): Use xcharalloc rather than xmalloc.
52138         (struct slotvec): Move to top level.
52139         (quotearg_n_options): Rewrite to avoid xmalloc.
52140         * lib/xalloc.h (xcharalloc): New function.
52141         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
52142         [defined __cplusplus]: Add function template that provides result
52143         type propagation.  This part of the change is from Bruno Haible.
52144
52145 2006-10-29  Bruno Haible  <bruno@clisp.org>
52146
52147         Make it compile in C++ mode.
52148         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
52149         * lib/strnlen1.c (strnlen1): Cast memchr result.
52150         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
52151         * lib/clean-temp.c (string_equals, string_hash): Add casts.
52152         (create_temp_dir): Rename local variable 'template'.
52153         (compile_csharp_using_sscli): Add cast.
52154         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
52155         * lib/findprog.c (find_in_path): Likewise.
52156         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
52157         * lib/wait-process.c (register_slave_subprocess): Likewise.
52158
52159 2006-10-22  Bruno Haible  <bruno@clisp.org>
52160
52161         * modules/tsearch: New file.
52162         * lib/tsearch.h: New file.
52163         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
52164         * m4/tsearch.m4: New file.
52165         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
52166
52167 2006-10-29  Eric Blake  <ebb9@byu.net>
52168
52169         * lib/arcfour.c: Assume config.h.
52170         * lib/arctwo.c: Likewise.
52171         * lib/base64.c: Likewise.
52172         * lib/check-version.c: Likewise.
52173         * lib/crc.c: Likewise.
52174         * lib/des.c: Likewise.
52175         * lib/gc-gnulib.c: Likewise.
52176         * lib/gc-libgcrypt.c: Likewise.
52177         * lib/gc-pbkdf2-sha1.c: Likewise.
52178         * lib/getaddrinfo.c: Likewise.
52179         * lib/getdelim.c: Likewise.
52180         * lib/getline.c: Likewise.
52181         * lib/hmac-md5.c: Likewise.
52182         * lib/hmac-sha1.c: Likewise.
52183         * lib/iconvme.c: Likewise.
52184         * lib/md2.c: Likewise.
52185         * lib/md4.c: Likewise.
52186         * lib/memxor.c: Likewise.
52187         * lib/read-file.c: Likewise.
52188         * lib/readline.c: Likewise.
52189         * lib/rijndael-alg-fst.c: Likewise.
52190         * lib/rijndael-api-fst.c: Likewise.
52191         * lib/xgetdomainname.c: Likewise.
52192
52193 2006-10-28  Eric Blake  <ebb9@byu.net>
52194
52195         * lib/xstrndup.c: Assume config.h.
52196
52197 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
52198
52199         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
52200         stat-macros.h is now for our own macros, whereas stat_h is for
52201         macros in the <sys/stat.h> name space.
52202         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
52203         (STAT_MACROS_H): Remove.
52204         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
52205         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
52206         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
52207         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
52208         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
52209         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
52210         Move these macros to ...
52211         * lib/stat_.h: here.  Don't include stat-macros.h.
52212         * lib/canonicalize.c: Don't include stat-macros.h.
52213         * lib/chown.c: Likewise.
52214         * lib/euidaccess.c: Likewise.
52215         * lib/file-type.c: Likewise.
52216         * lib/filemode.c: Likewise.
52217         * lib/glob.c: Likewise.
52218         * lib/isapipe.c: Likewise.
52219         * lib/lchown.c: Likewise.
52220         * lib/lstat.c: Likewise.
52221         * lib/mkdir-p.c: Likewise.
52222         * lib/rmdir.c: Likewise.
52223         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
52224         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
52225         unless mkdir isn't declared, to speed up 'configure'.
52226         Always create sys/stat.h, since it's unlikely any real sys/stat.h
52227         would define all the S_* symbols.
52228         * modules/canonicalize (Depends-on):
52229         Depend on sys_stat, not stat-macros.
52230         * modules/chown: Likewise.
52231         * modules/euidaccess: Likewise.
52232         * modules/filemode: Likewise.
52233         * modules/file-type: Likewise.
52234         * modules/glob: Likewise.
52235         * modules/isapipe: Likewise.
52236         * modules/lchown: Likewise.
52237         * modules/lstat: Likewise.
52238         * modules/mkancesdirs: Likewise.
52239         * modules/rmdir: Likewise.
52240         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
52241         * modules/modechange: Likewise.
52242         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
52243         (configure.ac): Remove gl_STAT_MACROS.
52244         * modules/sys_stat (Depends-on): Remove stat-macros.
52245
52246 2006-10-27  Bruno Haible  <bruno@clisp.org>
52247
52248         * m4/signed.m4: Remove file.
52249         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
52250         invocation.
52251         * modules/vasnprintf (Files): Remove m4/signed.m4.
52252
52253 2006-10-27  Bruno Haible  <bruno@clisp.org>
52254
52255         Update to GNU gettext 0.16.
52256         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
52257         m4/inttypes-h.m4, m4/signed.m4.
52258         * m4/gettext.m4: Update to GNU gettext 0.16.
52259         * m4/intl.m4: New file, from GNU gettext.
52260         * m4/intldir.m4: New file, from GNU gettext.
52261         * config/srclist.txt: Update
52262
52263 2006-10-27  Eric Blake  <ebb9@byu.net>
52264
52265         * MODULES.html.sh: Document tempname.
52266         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
52267         dependencies.
52268         (Files): Move lib/tempname.c...
52269         * modules/tempname: ...to this new module.
52270         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
52271         (gl_PREREQ_TEMPNAME): Move...
52272         * m4/tempname.m4: ...to this new file.
52273         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
52274         * modules/sys_stat (Depends-on): Add stat-macros.
52275         * lib/stat_.h (includes): Pick up stat macros.
52276         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
52277         if stat macros are broken.
52278         * lib/tempname.c (includes): No need to include "stat-macros.h".
52279         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
52280         (direxists, __path_search) [!_LIBC]: Don't compile these in
52281         gnulib; the tmpdir module covers that.
52282         * lib/tempname.h: New file.
52283
52284 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
52285
52286         * COPYING: Explain how gnulib-tool converts licence headers.
52287         Almost all wording by Eric Blake.
52288
52289 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
52290
52291         * lib/mbchar.h (is_basic_table): Make read-only.
52292         * lib/mbchar.c (is_basic_table): Likewise.
52293         Reported by John Darrington.
52294
52295 2006-10-25  Bruno Haible  <bruno@clisp.org>
52296
52297         * lib/progname.h (set_program_name): Undefine before defining.
52298
52299 2006-10-25  Bruno Haible  <bruno@clisp.org>
52300
52301         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
52302         false for non-gcc C++ compilers.
52303         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
52304
52305 2006-10-24  Bruno Haible  <bruno@clisp.org>
52306
52307         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
52308         iconv implementations like Irix iconv.
52309
52310 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52311
52312         * modules/vararrays: New file.
52313         * m4/vararrays.m4: New file, taken from diffutils.
52314         * MODULES.html.sh: New module vararrays.
52315
52316 2006-10-24  Karl Berry  <karl@gnu.org>
52317
52318         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
52319         Don't call GNU Unix.
52320
52321 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52322
52323         * users.txt: Add Libtool.
52324
52325         Sync from Libtool:
52326
52327         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52328
52329         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
52330         to gnulib's policy of including config.h unconditionally.
52331
52332 2006-10-24  Bruno Haible  <bruno@clisp.org>
52333
52334         * modules/wcwidth (Files): Add m4/wint_t.m4.
52335         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
52336         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
52337
52338 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
52339
52340         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
52341         to pacify GCC with some -W flags enabled.  Problem reported by
52342         Bruno Haible.
52343
52344 2006-10-24  Jim Meyering  <jim@meyering.net>
52345
52346         * MODULES.html.sh: Remove uinttostr.  It's not a module.
52347         Reported by Karl Berry.
52348
52349 2006-10-23  Bruno Haible  <bruno@clisp.org>
52350
52351         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
52352
52353 2006-10-24  Bruno Haible  <bruno@clisp.org>
52354
52355         * lib/gl_list.h: Use C comment style, not C++ comment style.
52356
52357 2006-10-23  Eric Blake  <ebb9@byu.net>
52358
52359         * lib/getaddrinfo.c (includes): Add missing include.
52360
52361 2006-10-23  Bruno Haible  <bruno@clisp.org>
52362             Paul Eggert  <eggert@cs.ucla.edu>
52363
52364         Ability to rename obstack_free.
52365         * lib/obstack.h (__obstack_free): New macro. Declare instead of
52366         obstack_free.
52367         (obstack_free): Invoke the __obstack_free macro.
52368         * lib/obstack.c (obstack_free): Use __obstack_free macro.
52369
52370 2006-10-23  Bruno Haible  <bruno@clisp.org>
52371             Paul Eggert  <eggert@cs.ucla.edu>
52372
52373         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
52374         __argc, __argv from the declaration. (They are defined as macros on
52375         mingw.)
52376
52377 2006-10-22  Bruno Haible  <bruno@clisp.org>
52378
52379         * doc/gnulib-intro.texi: New file.
52380         * doc/gnulib.texi: Include it.
52381
52382 2006-10-21  Bruno Haible  <bruno@clisp.org>
52383
52384         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
52385         "Introduction", "Miscellanous Notes", "Particular Modules".
52386
52387 2006-10-21  Bruno Haible  <bruno@clisp.org>
52388
52389         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52390         Change mostlyclean-local rule to avoid sh syntax error from bash
52391         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
52392
52393 2006-10-23  Jim Meyering  <jim@meyering.net>
52394
52395         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
52396         in place of snprintf.
52397
52398         * modules/inttostr (Files): Add lib/uinttostr.c.
52399         * lib/uinttostr.c (inttostr): New file/function.
52400         * lib/inttostr.h (uinttostr): Declare.
52401         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
52402         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
52403         Add uinttostr.
52404         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
52405
52406 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
52407
52408         * lib/canonicalize.c (ELOOP): Define if not already defined.
52409         Problem reported by Bruno Haible in
52410         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
52411
52412 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
52413
52414         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
52415         Problem reported by Perry Smith and Ville Laurikari.
52416
52417         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
52418         uses.
52419
52420 2006-10-19  Bruno Haible  <bruno@clisp.org>
52421
52422         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
52423         for mingw.
52424
52425 2006-10-19  Bruno Haible  <bruno@clisp.org>
52426
52427         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
52428         Needed for mingw.
52429
52430 2006-10-19  Bruno Haible  <bruno@clisp.org>
52431
52432         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
52433
52434 2006-10-19  Bruno Haible  <bruno@clisp.org>
52435
52436         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
52437         it.
52438
52439 2006-10-19  Bruno Haible  <bruno@clisp.org>
52440
52441         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
52442         invocation.
52443
52444 2006-10-19  Bruno Haible  <bruno@clisp.org>
52445
52446         * gnulib-tool (func_create_testdir): Don't include ftruncate and
52447         mountlist by default.
52448
52449 2006-10-16  Bruno Haible  <bruno@clisp.org>
52450
52451         * lib/c-strstr.c: Include c-strstr.h.
52452
52453 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
52454
52455         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
52456         in a slash.
52457
52458 2006-10-18  Bruno Haible  <bruno@clisp.org>
52459
52460         * lib/lock.h [C++]: Wrap definitions in extern "C".
52461
52462 2006-10-18  Bruno Haible  <bruno@clisp.org>
52463
52464         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
52465         gl_LIBOBJS list.
52466
52467 2006-10-18  Bruno Haible  <bruno@clisp.org>
52468
52469         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
52470
52471 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
52472
52473         * lib/xstrtol.h: Include gettext.h.
52474         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
52475         Problem reported by Eric Blake.
52476         * modules/xstrtol (Depends-on): Add gettext-h.
52477
52478 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
52479
52480         * lib/strftime.c (advance): New macro.
52481         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
52482         incomplete type, so you can't add 0 to it.  Problem and patch
52483         reported by Eelco Dolstra for dietlibc.
52484
52485 2006-10-18  Jim Meyering  <jim@meyering.net>
52486
52487         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
52488         type for a local, and rename it: s/up/user_proc/.
52489
52490 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
52491
52492         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
52493         READ_UTMP_USER_PROCESS.
52494         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
52495
52496 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
52497
52498         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
52499         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
52500
52501 2006-10-17  Eric Blake  <ebb9@byu.net>
52502
52503         * lib/sigprocmask.c (sigprocmask): Fix typo.
52504
52505         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
52506
52507         * modules/clean-temp (Makefile.am): Don't add to make output...
52508         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
52509         config.h.
52510
52511 2006-10-17  Bruno Haible  <bruno@clisp.org>
52512
52513         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
52514         differently if DEFAULT_TEXT_DOMAIN is set.
52515
52516 2006-10-16  Bruno Haible  <bruno@clisp.org>
52517
52518         * lib/clean-temp.c: Include fwriteerror.h.
52519
52520 2006-10-16  Bruno Haible  <bruno@clisp.org>
52521
52522         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
52523
52524 2006-10-16  Bruno Haible  <bruno@clisp.org>
52525
52526         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
52527         * lib/sigprocmask.h: Include <sys/types.h>.
52528         (sigset_t): Use the system's definition if present.
52529
52530 2006-10-17  Eric Blake  <ebb9@byu.net>
52531
52532         * lib/xvasprintf.c (includes): Assume config.h.
52533         * lib/xasprintf.c (includes): Likewise.
52534
52535 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52536
52537         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
52538         at least as wide as intmax_t.
52539
52540 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
52541
52542         (Imported from Automake.)
52543         * build-aux/gnupload: Update to version 1.1 of directive file.
52544
52545 2006-10-16  Eric Blake  <ebb9@byu.net>
52546
52547         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
52548         match Automake 1.10a.
52549
52550 2006-10-14  Bruno Haible  <bruno@clisp.org>
52551
52552         * modules/sigprocmask: New file.
52553         * lib/sigprocmask.h: New file.
52554         * lib/sigprocmask.c: New file.
52555         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
52556         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
52557         request sigprocmask.o.
52558         (gl_PREREQ_SIGPROCMASK): New macro.
52559         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
52560         (Depends-on): Add sigprocmask.
52561         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
52562         gt_SIGNALBLOCKING. Test for 'raise' only once.
52563         * lib/fatal-signal.c: Include sigprocmask.h.
52564         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
52565         unblock_fatal_signals): Define always.
52566         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52567         sigprocmask.
52568
52569 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
52570
52571         Sync from Automake.
52572         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
52573         which incorrectly sets the mode of an existing destination
52574         directory.  In some cases the unpatched install-sh could do the
52575         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
52576         system.  We hope this is rare in practice, but it's clearly worth
52577         fixing.  Problem reported by Alex Unleashed in
52578         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
52579         Also, don't bother to check for -m bugs unless we're using -m;
52580         suggested by Stepan Kasal.
52581
52582 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52583
52584         Sync from Automake.
52585         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
52586         `-c' flag, so they appear at the same position as in %FASTDEP%
52587         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
52588         which ignores unknown options only after the first non-option.
52589         Bug report against M4 by Nelson H. F. Beebe.
52590
52591 2006-10-13  Jim Meyering  <jim@meyering.net>
52592
52593         Fix a bug in yesterday's change.
52594         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
52595         p->fts_statp->st_dev would be used uninitialized.
52596         Ensures that we always call fts_stat on the very first entry.
52597         Miklos Szeredi reported that find -xdev stopped working.
52598
52599 2006-10-12  Bruno Haible  <bruno@clisp.org>
52600
52601         * gnulib-tool (func_get_automake_snippet): Append an automatically
52602         computed EXTRA_DIST augmentation.
52603         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
52604         * modules/alloca-opt (Makefile.am): Likewise.
52605         * modules/allocsa (Makefile.am): Likewise.
52606         * modules/arcfour (Makefile.am): Likewise.
52607         * modules/arctwo (Makefile.am): Likewise.
52608         * modules/argmatch (Makefile.am): Likewise.
52609         * modules/argz (Makefile.am): Likewise.
52610         * modules/atexit (Makefile.am): Likewise.
52611         * modules/backupfile (Makefile.am): Likewise.
52612         * modules/byteswap (Makefile.am): Likewise.
52613         * modules/c-strtod (Makefile.am): Likewise.
52614         * modules/c-strtold (Makefile.am): Likewise.
52615         * modules/calloc (Makefile.am): Likewise.
52616         * modules/canon-host (Makefile.am): Likewise.
52617         * modules/canonicalize (Makefile.am): Likewise.
52618         * modules/chdir-long (Makefile.am): Likewise.
52619         * modules/chdir-safer (Makefile.am): Likewise.
52620         * modules/check-version (Makefile.am): Likewise.
52621         * modules/chown (Makefile.am): Likewise.
52622         * modules/cloexec (Makefile.am): Likewise.
52623         * modules/close-stream (Makefile.am): Likewise.
52624         * modules/closeout (Makefile.am): Likewise.
52625         * modules/crc (Makefile.am): Likewise.
52626         * modules/csharpexec (Makefile.am): Likewise.
52627         * modules/cycle-check (Makefile.am): Likewise.
52628         * modules/des (Makefile.am): Likewise.
52629         * modules/dev-ino (Makefile.am): Likewise.
52630         * modules/dirfd (Makefile.am): Likewise.
52631         * modules/dirname (Makefile.am): Likewise.
52632         * modules/dup2 (Makefile.am): Likewise.
52633         * modules/eealloc (Makefile.am): Likewise.
52634         * modules/error (Makefile.am): Likewise.
52635         * modules/euidaccess (Makefile.am): Likewise.
52636         * modules/exclude (Makefile.am): Likewise.
52637         * modules/exitfail (Makefile.am): Likewise.
52638         * modules/fcntl-safer (Makefile.am): Likewise.
52639         * modules/fcntl (Makefile.am): Likewise.
52640         * modules/file-type (Makefile.am): Likewise.
52641         * modules/fileblocks (Makefile.am): Likewise.
52642         * modules/filemode (Makefile.am): Likewise.
52643         * modules/filenamecat (Makefile.am): Likewise.
52644         * modules/fnmatch (Makefile.am): Likewise.
52645         * modules/fopen-safer (Makefile.am): Likewise.
52646         * modules/fpending (Makefile.am): Likewise.
52647         * modules/fprintftime (Makefile.am): Likewise.
52648         * modules/free (Makefile.am): Likewise.
52649         * modules/fsusage (Makefile.am): Likewise.
52650         * modules/ftruncate (Makefile.am): Likewise.
52651         * modules/fts (Makefile.am): Likewise.
52652         * modules/gc-arcfour (Makefile.am): Likewise.
52653         * modules/gc-des (Makefile.am): Likewise.
52654         * modules/gc-hmac-md5 (Makefile.am): Likewise.
52655         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
52656         * modules/gc-md4 (Makefile.am): Likewise.
52657         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
52658         * modules/gc-sha1 (Makefile.am): Likewise.
52659         * modules/gc (Makefile.am): Likewise.
52660         * modules/getaddrinfo (Makefile.am): Likewise.
52661         * modules/getcwd (Makefile.am): Likewise.
52662         * modules/getdelim (Makefile.am): Likewise.
52663         * modules/getdomainname (Makefile.am): Likewise.
52664         * modules/getgroups (Makefile.am): Likewise.
52665         * modules/gethostname (Makefile.am): Likewise.
52666         * modules/gethrxtime (Makefile.am): Likewise.
52667         * modules/getline (Makefile.am): Likewise.
52668         * modules/getloadavg (Makefile.am): Likewise.
52669         * modules/getlogin_r (Makefile.am): Likewise.
52670         * modules/getndelim2 (Makefile.am): Likewise.
52671         * modules/getopt (Makefile.am): Likewise.
52672         * modules/getpagesize (Makefile.am): Likewise.
52673         * modules/getpass-gnu (Makefile.am): Likewise.
52674         * modules/getpass (Makefile.am): Likewise.
52675         * modules/getsubopt (Makefile.am): Likewise.
52676         * modules/gettime (Makefile.am): Likewise.
52677         * modules/gettimeofday (Makefile.am): Likewise.
52678         * modules/getugroups (Makefile.am): Likewise.
52679         * modules/getusershell (Makefile.am): Likewise.
52680         * modules/glob (Makefile.am): Likewise.
52681         * modules/group-member (Makefile.am): Likewise.
52682         * modules/hard-locale (Makefile.am): Likewise.
52683         * modules/hash (Makefile.am): Likewise.
52684         * modules/hmac-md5 (Makefile.am): Likewise.
52685         * modules/hmac-sha1 (Makefile.am): Likewise.
52686         * modules/human (Makefile.am): Likewise.
52687         * modules/idcache (Makefile.am): Likewise.
52688         * modules/imaxabs (Makefile.am): Likewise.
52689         * modules/imaxdiv (Makefile.am): Likewise.
52690         * modules/inet_ntop (Makefile.am): Likewise.
52691         * modules/inet_pton (Makefile.am): Likewise.
52692         * modules/intprops (Makefile.am): Likewise.
52693         * modules/inttostr (Makefile.am): Likewise.
52694         * modules/inttypes (Makefile.am): Likewise.
52695         * modules/isapipe (Makefile.am): Likewise.
52696         * modules/javaversion (Makefile.am): Likewise.
52697         * modules/lchmod (Makefile.am): Likewise.
52698         * modules/lchown (Makefile.am): Likewise.
52699         * modules/localcharset (Makefile.am): Likewise.
52700         * modules/long-options (Makefile.am): Likewise.
52701         * modules/lstat (Makefile.am): Likewise.
52702         * modules/malloc (Makefile.am): Likewise.
52703         * modules/mathl (Makefile.am): Likewise.
52704         * modules/mbchar (Makefile.am): Likewise.
52705         * modules/md2 (Makefile.am): Likewise.
52706         * modules/md4 (Makefile.am): Likewise.
52707         * modules/md5 (Makefile.am): Likewise.
52708         * modules/memcasecmp (Makefile.am): Likewise.
52709         * modules/memchr (Makefile.am): Likewise.
52710         * modules/memcmp (Makefile.am): Likewise.
52711         * modules/memcoll (Makefile.am): Likewise.
52712         * modules/memcpy (Makefile.am): Likewise.
52713         * modules/memmem (Makefile.am): Likewise.
52714         * modules/memmove (Makefile.am): Likewise.
52715         * modules/mempcpy (Makefile.am): Likewise.
52716         * modules/memrchr (Makefile.am): Likewise.
52717         * modules/memset (Makefile.am): Likewise.
52718         * modules/memxor (Makefile.am): Likewise.
52719         * modules/mkancesdirs (Makefile.am): Likewise.
52720         * modules/mkdir-p (Makefile.am): Likewise.
52721         * modules/mkdir (Makefile.am): Likewise.
52722         * modules/mkdtemp (Makefile.am): Likewise.
52723         * modules/mkstemp (Makefile.am): Likewise.
52724         * modules/mktime (Makefile.am): Likewise.
52725         * modules/modechange (Makefile.am): Likewise.
52726         * modules/mountlist (Makefile.am): Likewise.
52727         * modules/nanosleep (Makefile.am): Likewise.
52728         * modules/obstack (Makefile.am): Likewise.
52729         * modules/openat (Makefile.am): Likewise.
52730         * modules/pagealign_alloc (Makefile.am): Likewise.
52731         * modules/pathmax (Makefile.am): Likewise.
52732         * modules/physmem (Makefile.am): Likewise.
52733         * modules/poll (Makefile.am): Likewise.
52734         * modules/posixtm (Makefile.am): Likewise.
52735         * modules/posixver (Makefile.am): Likewise.
52736         * modules/putenv (Makefile.am): Likewise.
52737         * modules/quote (Makefile.am): Likewise.
52738         * modules/quotearg (Makefile.am): Likewise.
52739         * modules/raise (Makefile.am): Likewise.
52740         * modules/read-file (Makefile.am): Likewise.
52741         * modules/readline (Makefile.am): Likewise.
52742         * modules/readlink (Makefile.am): Likewise.
52743         * modules/readtokens (Makefile.am): Likewise.
52744         * modules/readutmp (Makefile.am): Likewise.
52745         * modules/realloc (Makefile.am): Likewise.
52746         * modules/regex (Makefile.am): Likewise.
52747         * modules/rename-dest-slash (Makefile.am): Likewise.
52748         * modules/rename (Makefile.am): Likewise.
52749         * modules/rijndael (Makefile.am): Likewise.
52750         * modules/rmdir (Makefile.am): Likewise.
52751         * modules/rpmatch (Makefile.am): Likewise.
52752         * modules/safe-read (Makefile.am): Likewise.
52753         * modules/safe-write (Makefile.am): Likewise.
52754         * modules/same-inode (Makefile.am): Likewise.
52755         * modules/same (Makefile.am): Likewise.
52756         * modules/save-cwd (Makefile.am): Likewise.
52757         * modules/savedir (Makefile.am): Likewise.
52758         * modules/setenv (Makefile.am): Likewise.
52759         * modules/settime (Makefile.am): Likewise.
52760         * modules/sha1 (Makefile.am): Likewise.
52761         * modules/sig2str (Makefile.am): Likewise.
52762         * modules/snprintf (Makefile.am): Likewise.
52763         * modules/stat-macros (Makefile.am): Likewise.
52764         * modules/stat-time (Makefile.am): Likewise.
52765         * modules/stdbool (Makefile.am): Likewise.
52766         * modules/stdint (Makefile.am): Likewise.
52767         * modules/stdlib-safer (Makefile.am): Likewise.
52768         * modules/stpcpy (Makefile.am): Likewise.
52769         * modules/stpncpy (Makefile.am): Likewise.
52770         * modules/strcase (Makefile.am): Likewise.
52771         * modules/strcasestr (Makefile.am): Likewise.
52772         * modules/strchrnul (Makefile.am): Likewise.
52773         * modules/strcspn (Makefile.am): Likewise.
52774         * modules/strdup (Makefile.am): Likewise.
52775         * modules/strerror (Makefile.am): Likewise.
52776         * modules/strftime (Makefile.am): Likewise.
52777         * modules/strndup (Makefile.am): Likewise.
52778         * modules/strnlen (Makefile.am): Likewise.
52779         * modules/strpbrk (Makefile.am): Likewise.
52780         * modules/strsep (Makefile.am): Likewise.
52781         * modules/strstr (Makefile.am): Likewise.
52782         * modules/strtod (Makefile.am): Likewise.
52783         * modules/strtoimax (Makefile.am): Likewise.
52784         * modules/strtok_r (Makefile.am): Likewise.
52785         * modules/strtol (Makefile.am): Likewise.
52786         * modules/strtoll (Makefile.am): Likewise.
52787         * modules/strtoul (Makefile.am): Likewise.
52788         * modules/strtoull (Makefile.am): Likewise.
52789         * modules/strtoumax (Makefile.am): Likewise.
52790         * modules/strverscmp (Makefile.am): Likewise.
52791         * modules/sys_socket (Makefile.am): Likewise.
52792         * modules/sys_stat (Makefile.am): Likewise.
52793         * modules/sysexits (Makefile.am): Likewise.
52794         * modules/time_r (Makefile.am): Likewise.
52795         * modules/timegm (Makefile.am): Likewise.
52796         * modules/timespec (Makefile.am): Likewise.
52797         * modules/tmpfile-safer (Makefile.am): Likewise.
52798         * modules/trim (Makefile.am): Likewise.
52799         * modules/unistd-safer (Makefile.am): Likewise.
52800         * modules/unlinkdir (Makefile.am): Likewise.
52801         * modules/unlocked-io (Makefile.am): Likewise.
52802         * modules/userspec (Makefile.am): Likewise.
52803         * modules/utime (Makefile.am): Likewise.
52804         * modules/utimecmp (Makefile.am): Likewise.
52805         * modules/utimens (Makefile.am): Likewise.
52806         * modules/vasnprintf (Makefile.am): Likewise.
52807         * modules/vasprintf (Makefile.am): Likewise.
52808         * modules/vsnprintf (Makefile.am): Likewise.
52809         * modules/xalloc (Makefile.am): Likewise.
52810         * modules/xgetcwd (Makefile.am): Likewise.
52811         * modules/xnanosleep (Makefile.am): Likewise.
52812         * modules/xreadlink (Makefile.am): Likewise.
52813         * modules/xstrtod (Makefile.am): Likewise.
52814         * modules/xstrtol (Makefile.am): Likewise.
52815         * modules/xstrtold (Makefile.am): Likewise.
52816         * modules/yesno (Makefile.am): Likewise.
52817         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
52818
52819 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
52820
52821         * modules/error (Makefile.am): Distribute files through
52822         EXTRA_DIST, not lib_SOURCES.
52823
52824 2006-10-12  Eric Blake  <ebb9@byu.net>
52825
52826         * modules/error (Makefile.am): Distribute files in /lib.
52827         * modules/obstack (Makefile.am): Likewise.
52828
52829 2006-10-12  Bruno Haible  <bruno@clisp.org>
52830
52831         * modules/acl (Makefile.am): Distribute all files in lib/ through
52832         EXTRA_DIST.
52833         * modules/arcfour (Makefile.am): Likewise.
52834         * modules/arctwo (Makefile.am): Likewise.
52835         * modules/argmatch (Makefile.am): Likewise.
52836         * modules/argz (Makefile.am): Likewise.
52837         * modules/atexit (Makefile.am): Likewise.
52838         * modules/backupfile (Makefile.am): Likewise.
52839         * modules/c-strtod (Makefile.am): Likewise.
52840         * modules/c-strtold (Makefile.am): Likewise.
52841         * modules/calloc (Makefile.am): Likewise.
52842         * modules/canon-host (Makefile.am): Likewise.
52843         * modules/canonicalize (Makefile.am): Likewise.
52844         * modules/chdir-long (Makefile.am): Likewise.
52845         * modules/chdir-safer (Makefile.am): Likewise.
52846         * modules/check-version (Makefile.am): Likewise.
52847         * modules/chown (Makefile.am): Likewise.
52848         * modules/cloexec (Makefile.am): Likewise.
52849         * modules/close-stream (Makefile.am): Likewise.
52850         * modules/closeout (Makefile.am): Likewise.
52851         * modules/crc (Makefile.am): Likewise.
52852         * modules/cycle-check (Makefile.am): Likewise.
52853         * modules/des (Makefile.am): Likewise.
52854         * modules/dirfd (Makefile.am): Likewise.
52855         * modules/dirname (Makefile.am): Likewise.
52856         * modules/dup2 (Makefile.am): Likewise.
52857         * modules/euidaccess (Makefile.am): Likewise.
52858         * modules/exclude (Makefile.am): Likewise.
52859         * modules/exitfail (Makefile.am): Likewise.
52860         * modules/fcntl-safer (Makefile.am): Likewise.
52861         * modules/file-type (Makefile.am): Likewise.
52862         * modules/fileblocks (Makefile.am): Likewise.
52863         * modules/filemode (Makefile.am): Likewise.
52864         * modules/filenamecat (Makefile.am): Likewise.
52865         * modules/fnmatch (Makefile.am): Likewise.
52866         * modules/fopen-safer (Makefile.am): Likewise.
52867         * modules/fpending (Makefile.am): Likewise.
52868         * modules/fprintftime (Makefile.am): Likewise.
52869         * modules/free (Makefile.am): Likewise.
52870         * modules/fsusage (Makefile.am): Likewise.
52871         * modules/ftruncate (Makefile.am): Likewise.
52872         * modules/fts (Makefile.am): Likewise.
52873         * modules/gc (Makefile.am): Likewise.
52874         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
52875         * modules/getaddrinfo (Makefile.am): Likewise.
52876         * modules/getcwd (Makefile.am): Likewise.
52877         * modules/getdelim (Makefile.am): Likewise.
52878         * modules/getdomainname (Makefile.am): Likewise.
52879         * modules/getgroups (Makefile.am): Likewise.
52880         * modules/gethostname (Makefile.am): Likewise.
52881         * modules/gethrxtime (Makefile.am): Likewise.
52882         * modules/getline (Makefile.am): Likewise.
52883         * modules/getloadavg (Makefile.am): Likewise.
52884         * modules/getlogin_r (Makefile.am): Likewise.
52885         * modules/getopt (Makefile.am): Likewise.
52886         * modules/getpass (Makefile.am): Likewise.
52887         * modules/getpass-gnu (Makefile.am): Likewise.
52888         * modules/getsubopt (Makefile.am): Likewise.
52889         * modules/gettime (Makefile.am): Likewise.
52890         * modules/gettimeofday (Makefile.am): Likewise.
52891         * modules/getugroups (Makefile.am): Likewise.
52892         * modules/getusershell (Makefile.am): Likewise.
52893         * modules/glob (Makefile.am): Likewise.
52894         * modules/group-member (Makefile.am): Likewise.
52895         * modules/hard-locale (Makefile.am): Likewise.
52896         * modules/hash (Makefile.am): Likewise.
52897         * modules/hmac-md5 (Makefile.am): Likewise.
52898         * modules/hmac-sha1 (Makefile.am): Likewise.
52899         * modules/human (Makefile.am): Likewise.
52900         * modules/idcache (Makefile.am): Likewise.
52901         * modules/imaxabs (Makefile.am): Likewise.
52902         * modules/imaxdiv (Makefile.am): Likewise.
52903         * modules/inet_ntop (Makefile.am): Likewise.
52904         * modules/inet_pton (Makefile.am): Likewise.
52905         * modules/inttostr (Makefile.am): Likewise.
52906         * modules/isapipe (Makefile.am): Likewise.
52907         * modules/lchown (Makefile.am): Likewise.
52908         * modules/long-options (Makefile.am): Likewise.
52909         * modules/lstat (Makefile.am): Likewise.
52910         * modules/malloc (Makefile.am): Likewise.
52911         * modules/mathl (Makefile.am): Likewise.
52912         * modules/mbchar (Makefile.am): Likewise.
52913         * modules/md2 (Makefile.am): Likewise.
52914         * modules/md4 (Makefile.am): Likewise.
52915         * modules/md5 (Makefile.am): Likewise.
52916         * modules/memcasecmp (Makefile.am): Likewise.
52917         * modules/memchr (Makefile.am): Likewise.
52918         * modules/memcmp (Makefile.am): Likewise.
52919         * modules/memcoll (Makefile.am): Likewise.
52920         * modules/memcpy (Makefile.am): Likewise.
52921         * modules/memmem (Makefile.am): Likewise.
52922         * modules/memmove (Makefile.am): Likewise.
52923         * modules/mempcpy (Makefile.am): Likewise.
52924         * modules/memrchr (Makefile.am): Likewise.
52925         * modules/memset (Makefile.am): Likewise.
52926         * modules/memxor (Makefile.am): Likewise.
52927         * modules/mkancesdirs (Makefile.am): Likewise.
52928         * modules/mkdir (Makefile.am): Likewise.
52929         * modules/mkdir-p (Makefile.am): Likewise.
52930         * modules/mkdtemp (Makefile.am): Likewise.
52931         * modules/mkstemp (Makefile.am): Likewise.
52932         * modules/mktime (Makefile.am): Likewise.
52933         * modules/modechange (Makefile.am): Likewise.
52934         * modules/mountlist (Makefile.am): Likewise.
52935         * modules/nanosleep (Makefile.am): Likewise.
52936         * modules/openat (Makefile.am): Likewise.
52937         * modules/pagealign_alloc (Makefile.am): Likewise.
52938         * modules/physmem (Makefile.am): Likewise.
52939         * modules/poll (Makefile.am): Likewise.
52940         * modules/posixtm (Makefile.am): Likewise.
52941         * modules/posixver (Makefile.am): Likewise.
52942         * modules/putenv (Makefile.am): Likewise.
52943         * modules/quote (Makefile.am): Likewise.
52944         * modules/quotearg (Makefile.am): Likewise.
52945         * modules/raise (Makefile.am): Likewise.
52946         * modules/read-file (Makefile.am): Likewise.
52947         * modules/readline (Makefile.am): Likewise.
52948         * modules/readlink (Makefile.am): Likewise.
52949         * modules/readtokens (Makefile.am): Likewise.
52950         * modules/readutmp (Makefile.am): Likewise.
52951         * modules/realloc (Makefile.am): Likewise.
52952         * modules/regex (Makefile.am): Likewise.
52953         * modules/rename (Makefile.am): Likewise.
52954         * modules/rename-dest-slash (Makefile.am): Likewise.
52955         * modules/rijndael (Makefile.am): Likewise.
52956         * modules/rmdir (Makefile.am): Likewise.
52957         * modules/rpmatch (Makefile.am): Likewise.
52958         * modules/safe-read (Makefile.am): Likewise.
52959         * modules/safe-write (Makefile.am): Likewise.
52960         * modules/same (Makefile.am): Likewise.
52961         * modules/save-cwd (Makefile.am): Likewise.
52962         * modules/savedir (Makefile.am): Likewise.
52963         * modules/setenv (Makefile.am): Likewise.
52964         * modules/settime (Makefile.am): Likewise.
52965         * modules/sha1 (Makefile.am): Likewise.
52966         * modules/sig2str (Makefile.am): Likewise.
52967         * modules/snprintf (Makefile.am): Likewise.
52968         * modules/stdlib-safer (Makefile.am): Likewise.
52969         * modules/stpcpy (Makefile.am): Likewise.
52970         * modules/stpncpy (Makefile.am): Likewise.
52971         * modules/strcase (Makefile.am): Likewise.
52972         * modules/strcasestr (Makefile.am): Likewise.
52973         * modules/strchrnul (Makefile.am): Likewise.
52974         * modules/strcspn (Makefile.am): Likewise.
52975         * modules/strdup (Makefile.am): Likewise.
52976         * modules/strerror (Makefile.am): Likewise.
52977         * modules/strftime (Makefile.am): Likewise.
52978         * modules/strndup (Makefile.am): Likewise.
52979         * modules/strnlen (Makefile.am): Likewise.
52980         * modules/strpbrk (Makefile.am): Likewise.
52981         * modules/strsep (Makefile.am): Likewise.
52982         * modules/strstr (Makefile.am): Likewise.
52983         * modules/strtod (Makefile.am): Likewise.
52984         * modules/strtoimax (Makefile.am): Likewise.
52985         * modules/strtok_r (Makefile.am): Likewise.
52986         * modules/strtol (Makefile.am): Likewise.
52987         * modules/strtoll (Makefile.am): Likewise.
52988         * modules/strtoul (Makefile.am): Likewise.
52989         * modules/strtoull (Makefile.am): Likewise.
52990         * modules/strtoumax (Makefile.am): Likewise.
52991         * modules/strverscmp (Makefile.am): Likewise.
52992         * modules/time_r (Makefile.am): Likewise.
52993         * modules/timegm (Makefile.am): Likewise.
52994         * modules/tmpfile-safer (Makefile.am): Likewise.
52995         * modules/unistd-safer (Makefile.am): Likewise.
52996         * modules/unlinkdir (Makefile.am): Likewise.
52997         * modules/userspec (Makefile.am): Likewise.
52998         * modules/utime (Makefile.am): Likewise.
52999         * modules/utimecmp (Makefile.am): Likewise.
53000         * modules/utimens (Makefile.am): Likewise.
53001         * modules/vasnprintf (Makefile.am): Likewise.
53002         * modules/vasprintf (Makefile.am): Likewise.
53003         * modules/vsnprintf (Makefile.am): Likewise.
53004         * modules/xalloc (Makefile.am): Likewise.
53005         * modules/xgetcwd (Makefile.am): Likewise.
53006         * modules/xnanosleep (Makefile.am): Likewise.
53007         * modules/xreadlink (Makefile.am): Likewise.
53008         * modules/xstrtod (Makefile.am): Likewise.
53009         * modules/xstrtol (Makefile.am): Likewise.
53010         * modules/xstrtold (Makefile.am): Likewise.
53011         * modules/yesno (Makefile.am): Likewise.
53012
53013 2006-10-12  Jim Meyering  <jim@meyering.net>
53014
53015         * m4/getloadavg.m4: Revert the change below.
53016
53017         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
53018         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
53019         fail with a symlink, which is what coreutils' ./bootstrap now
53020         creates by default.
53021
53022 2006-10-12  Bruno Haible  <bruno@clisp.org>
53023
53024         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
53025         mingw.
53026         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
53027         MSVC and mingw explicitly.
53028
53029 2006-10-11  Simon Josefsson  <jas@extundo.com>
53030             Bruno Haible  <bruno@clisp.org>
53031
53032         Add support for multiple gnulib-tool invocations in the scope of a
53033         single configure.ac file.
53034         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
53035         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
53036         with the same contents as the _LIBADD variable.
53037         (func_emit_initmacro_start, func_emit_initmacro_end,
53038         func_emit_initmacro_done): New functions.
53039         (func_import, func_create_testdir): Invoke them. Allow the identifiers
53040         gl_LIBOBJS and gl_LTLIBOBJS.
53041
53042 2006-10-11  Bruno Haible  <bruno@clisp.org>
53043
53044         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
53045         (func_create_testdir): Don't create po/Makefile.am, don't invoke
53046         autoreconf. Instead, invoke autopoint explicitly but move back the
53047         *.m4 files from gnulib.
53048
53049 2006-10-11  Bruno Haible  <bruno@clisp.org>
53050
53051         * gnulib-tool (func_usage): Make module names after --create-testdir
53052         optional.
53053         (func_create_testdir): If no module was specified, use nearly all
53054         modules.
53055
53056 2006-10-12  Jim Meyering  <jim@meyering.net>
53057
53058         Big performance improvement for fts-based tools that use FTS_NOSTAT.
53059         Avoid spurious inode-mismatch problems on non-POSIX file systems.
53060         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
53061         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
53062         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
53063         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
53064         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
53065         (fts_set_stat_required): New function.
53066         (fts_open): Defer the calls to fts_stat, if possible or requested.
53067         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
53068         into fts_stat itself.
53069         (fts_read): Perform any required (deferred) fts_stat call.
53070         (fts_build): Likewise, for the directory we're about to open and read.
53071         In the readdir loop, carefully decide whether each entry will require
53072         an eventual call to fts_stat, using dirent.d_type info if available.
53073         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
53074         a command line argument into this function.  Update all callers.
53075         Map a return value of FTS_DOT to FTS_D for a command line argument.
53076         * modules/fts (Depends-on): Add d-type.  Alphabetize.
53077         Thanks to Miklos Szeredi for his tenacity and for the initial
53078         bug report about "find" failing on a FUSE-based file system.
53079
53080         * lib/fts.c (fts_open): Use consistent indentation.
53081
53082 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
53083
53084         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
53085         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
53086         reported by Jim Meyering.  All uses of cache variables renamed
53087         to match Autoconf's.
53088         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
53089         the other one.
53090
53091         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
53092         Fix misspelling in diagnostic.
53093
53094 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
53095
53096         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
53097         defined.  Problem reported by Matthew Woehlke.
53098
53099         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
53100         Add support for Tandem NonStop R series.
53101         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
53102         Use new macro.
53103
53104         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
53105         (has_trailing_slash): Omit size arg; all callers changed.
53106         Omit 'inline', since it doesn't help performance and we'd
53107         need to configure it.
53108         Don't count //, ///, etc. as having a trailing slash.
53109         As a side effect, this removes a C99ism reported by Matthew Woehlke.
53110         (rpl_rename_dest_slash): On failure, use rename's errno rather
53111         than (in some cases) an incorrect or junk errno.
53112         Simplify code by removing need to compute length; this does
53113         cause it to make two passes instead of one over the file name,
53114         but it's worth it.
53115
53116         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
53117         change, since Autoconf's version may no longer be appropriate now
53118         that we are using CVS Autoconf's version.  Add support for Tandem.
53119
53120 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
53121             Bruno Haible  <bruno@clisp.org>
53122
53123         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
53124         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
53125         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
53126         gl_AC_TYPE_LONG_LONG.
53127
53128         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
53129         instead of HAVE_LONG_LONG.
53130         * lib/printf-args.c (printf_fetchargs): Likewise.
53131         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
53132         * lib/vasnprintf.c (VASNPRINTF): Likewise.
53133         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
53134         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
53135         gl_AC_TYPE_LONG_LONG.
53136
53137 2006-10-11  Bruno Haible  <bruno@clisp.org>
53138
53139         * m4/longlong.m4: Add comments.
53140         * m4/ulonglong.m4: Likewise.
53141
53142 2006-10-10  Bruno Haible  <bruno@clisp.org>
53143
53144         Make it possible to #define stpcpy, strdup to aliases.
53145         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
53146         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
53147
53148 2006-10-10  Bruno Haible  <bruno@clisp.org>
53149
53150         Make it possible to #define gcd to an alias.
53151         * lib/gcd.c: Include config.h.
53152
53153 2006-10-10  Bruno Haible  <bruno@clisp.org>
53154
53155         Make it possible to #define c_isascii to an alias.
53156         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
53157         defined. Undefine the macros before defining them, to avoid gcc
53158         warnings.
53159         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
53160         define NO_C_CTYPE_MACROS early.
53161
53162 2006-10-10  Bruno Haible  <bruno@clisp.org>
53163
53164         Make it possible to #define set_program_name to an alias.
53165         * lib/progname.c: Don't undefine set_program_name; instead, undefine
53166         ENABLE_RELOCATABLE early.
53167
53168 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
53169
53170         Port to Tandem NSK OSS, which has 64-bit signed int but at most
53171         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
53172         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
53173         More generally, don't assume that 64-bit signed int is available
53174         if unsigned int is, and vice versa.
53175         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
53176         unsigned symbols, not on their signed counterparts.
53177         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
53178         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
53179         (UINT64_C, UINTMAX_C):
53180         Likewise.
53181         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
53182         unsigned counterparts.
53183         (Have_long_long, Unsigned): New macros.
53184         (Int): Renamed from INT.
53185         (strtoimax): Use the new macros.
53186         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
53187         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
53188         * modules/inttypes (inttypes.h): Substitute
53189         HAVE_UNSIGNED_LONG_LONG_INT.
53190         * modules/stdint (stdint.h): Likewise.
53191         (Files): Add m4/ulonglong.m4.
53192
53193 2006-10-10  Bruno Haible  <bruno@clisp.org>
53194
53195         Fix a gcc -Wshadow warning.
53196         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
53197         to 'bucket'.
53198         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
53199         gl_linked_indexof_from_to): Likewise.
53200         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
53201         Likewise.
53202         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
53203         Likewise.
53204         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
53205         Reported by Eric Blake.
53206
53207 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
53208
53209         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
53210         for NetBSD.  Problem reported by Bruno Haible.
53211
53212 2006-10-09  Jim Meyering  <jim@meyering.net>
53213
53214         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
53215         Patch from Bruno Haible.
53216
53217 2006-10-09  Jim Meyering  <jim@meyering.net>
53218
53219         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
53220         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
53221         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
53222
53223 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53224
53225         Don't include <config.h> twice; this doesn't work in some cases,
53226         e.g., when config.h has "#define intmax_t long long int" and
53227         we include <config.h>, <inttypes.h>, <config.h> in that order.
53228         Problem reported by Matthew Woehlke in:
53229         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
53230         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
53231         * lib/fts-cycle.c: Don't include config.h.
53232         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
53233         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
53234         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
53235         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
53236         inttypes.h.
53237         * lib/xstrtoumax.c: Likewise.
53238         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
53239         __strtol and the like, so that this module is more like its siblings.
53240         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
53241         Remove; no longer needed now that we assume gnulib inttypes.h.
53242
53243 2006-10-08  Bruno Haible  <bruno@clisp.org>
53244
53245         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
53246         option.
53247
53248 2006-10-07  Jim Meyering  <jim@meyering.net>
53249
53250         * modules/inttypes (inttypes.h): Revert what seems to have been
53251         an inadvertent part of today's change: use "|", not "/" in the
53252         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
53253
53254 2006-10-07  Bruno Haible  <bruno@clisp.org>
53255
53256         * modules/sublist: New file.
53257
53258 2006-10-07  Bruno Haible  <bruno@clisp.org>
53259
53260         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
53261         * modules/argz (argz.h): Likewise.
53262         * modules/arpa_inet (arpa/inet.h): Likewise.
53263         * modules/byteswap (byteswap.h): Likewise.
53264         * modules/configmake (configmake.h): Likewise.
53265         * modules/fcntl (fcntl.h): Likewise.
53266         * modules/fnmatch (fnmatch.h): Likewise.
53267         * modules/getopt (getopt.h): Likewise.
53268         * modules/glob (glob.h): Likewise.
53269         * modules/inttypes (inttypes.h): Likewise.
53270         * modules/netinet_in (netinet/in.h): Likewise.
53271         * modules/poll (poll.h): Likewise.
53272         * modules/stdbool (stdbool.h): Likewise.
53273         * modules/stdint (stdint.h): Likewise.
53274         * modules/sys_select (sys/select.h): Likewise.
53275         * modules/sys_socket (sys/socket.h): Likewise.
53276         * modules/sys_stat (sys/stat.h): Likewise.
53277         * modules/sysexits (sysexits.h): Likewise.
53278         * modules/unistd (unistd.h): Likewise.
53279         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53280         Add a "DO NOT EDIT" comment to the generated file.
53281         (func_import): Likewise for gnulib-comp.m4.
53282
53283 2006-10-07  Bruno Haible  <bruno@clisp.org>
53284
53285         * lib/gl_sublist.h: New file.
53286         * lib/gl_sublist.c: New file.
53287
53288 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53289
53290         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
53291         name (relative to the original working directory) and the file
53292         name component (relative to the temporary working directory).  All
53293         callers changed.
53294         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
53295         * lib/mkdir-p.c (make_dir_parents): Likewise.
53296         * lib/mkdir-p.h (make_dir_parents): Likewise.
53297
53298 2006-10-06  Eric Blake  <ebb9@byu.net>
53299
53300         Define several macros for use by the clean-temp module.
53301         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
53302         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
53303         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
53304
53305         * lib/clean-temp.h (close_stream_temp): New declaration.
53306         * lib/clean-temp.c (includes): Pull in headers according to what
53307         other modules are in use.
53308         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
53309
53310 2006-10-06  Bruno Haible  <bruno@clisp.org>
53311
53312         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
53313         instead of fopen, fwriteerror.
53314
53315 2006-10-06  Bruno Haible  <bruno@clisp.org>
53316
53317         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
53318         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
53319         int.
53320         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
53321         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
53322         Return an error indicator.
53323         Suggested by Eric Blake.
53324
53325 2006-10-06  Bruno Haible  <bruno@clisp.org>
53326
53327         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
53328         Reported by Eric Blake.
53329
53330 2006-10-06  Bruno Haible  <bruno@clisp.org>
53331
53332         * modules/closeout (Description): Mention stderr too.
53333
53334 2006-10-06  Bruno Haible  <bruno@clisp.org>
53335         and Paul Eggert  <eggert@cs.ucla.edu>
53336
53337         * lib/closeout.c (close_stdout): Also close stderr.
53338         * lib/closeout.h: Update comment.
53339
53340 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
53341
53342         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
53343         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
53344         * lib/dirchownmod.c: Include lchown.h.
53345         * lib/lchown.c: Don't include files that lchown.h now includes.
53346         Don't declare chown, since lchown.h now does that.
53347         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
53348         (lchown): Define to rpl_chown if lchown is declared but
53349         does not exist.  Declare using a prototype if lchown is not
53350         declared.  Add a copyright notice.
53351         * lib/mkstemp.h: Include <unistd.h>.
53352         * lib/openat.c: Include lchown.h.
53353
53354         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
53355         we now test for that separately.
53356         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
53357         rather than O_NOFOLLOW, when testing whether it's possible to
53358         avoid a race condition reliably.
53359         * lib/savewd.c (savewd_chdir): Likewise.
53360
53361         Remove macros that are no longer needed now that stdint.h is
53362         reliable.
53363         * lib/fsusage.c (UINTMAX_MAX): Remove.
53364         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
53365         * lib/utimecmp.c (SIZE_MAX): Remove.
53366
53367         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
53368
53369         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
53370         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
53371         O_NOATIME works.
53372
53373 2006-10-05  Bruno Haible  <bruno@clisp.org>
53374
53375         * lib/gl_list.h (gl_sortedlist_search_from_to,
53376         gl_sortedlist_indexof_from_to): New declarations.
53377         (gl_list_implementation): New fields sortedlist_search_from_to,
53378         sortedlist_indexof_from_to.
53379         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
53380         inline functions.
53381         * lib/gl_list.c (gl_sortedlist_search_from_to,
53382         gl_sortedlist_indexof_from_to): New functions.
53383         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
53384         function.
53385         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
53386         (gl_array_sortedlist_search_from_to): New function.
53387         (gl_array_list_implementation): Update.
53388         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
53389         function.
53390         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
53391         (gl_carray_sortedlist_search_from_to): New function.
53392         (gl_carray_list_implementation): Update.
53393         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
53394         gl_linked_sortedlist_indexof_from_to): New functions.
53395         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
53396         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
53397         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
53398         gl_tree_sortedlist_indexof_from_to): New functions.
53399         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
53400         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
53401         Update.
53402         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
53403         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
53404         Update.
53405
53406 2006-10-05  Bruno Haible  <bruno@clisp.org>
53407
53408         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
53409         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
53410         (struct gl_list_implementation): Add fields search_from_to,
53411         indexof_from_to. Remove fields search, indexof.
53412         (gl_list_search): Use the search_from_to method.
53413         (gl_list_search_from, gl_list_search_from_to): New functions.
53414         (gl_list_indexof): Use the indexof_from_to method.
53415         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
53416         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
53417         (gl_list_search_from, gl_list_search_from_to): New functions.
53418         (gl_list_indexof): Use the indexof_from_to method.
53419         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
53420         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
53421         gl_array_indexof. Add start_index, end_index arguments.
53422         (gl_array_search_from_to): Renamed from gl_array_search. Add
53423         start_index, end_index arguments.
53424         (gl_array_remove, gl_array_list_implementation): Update.
53425         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
53426         gl_carray_indexof. Add start_index, end_index arguments.
53427         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
53428         start_index, end_index arguments.
53429         (gl_carray_remove, gl_carray_list_implementation): Update.
53430         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
53431         gl_linked_search. Add start_index, end_index arguments.
53432         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
53433         start_index, end_index arguments.
53434         (gl_linked_remove): Update.
53435         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
53436         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
53437         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
53438         field to 'size_t'.
53439         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
53440         gl_tree_search. Add start_index, end_index arguments.
53441         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
53442         start_index, end_index arguments.
53443         (gl_tree_remove): Update.
53444         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
53445         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
53446         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
53447         function.
53448         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
53449         gl_tree_search. Add start_index, end_index arguments.
53450         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
53451         start_index, end_index arguments.
53452         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
53453         Update.
53454         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
53455
53456 2006-10-05  Bruno Haible  <bruno@clisp.org>
53457
53458         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
53459
53460         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
53461         fwriteerror_temp): New declarations.
53462         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
53463         (descriptors): New variable.
53464         (cleanup): First, close the descriptors.
53465         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
53466         fclose_temp, fwriteerror_temp): New functions.
53467
53468 2006-10-04  Jim Meyering  <jim@meyering.net>
53469
53470         * lib/fts.c (fts_open): Tiny comment change.
53471
53472 2006-10-04  Bruno Haible  <bruno@clisp.org>
53473
53474         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
53475         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
53476         gl_LOCK_BODY.
53477         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
53478         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
53479         gl_LOCK_EARLY_BODY.
53480         (gl_LOCK): Require gl_LOCK_BODY.
53481
53482 2006-10-04  Bruno Haible  <bruno@clisp.org>
53483
53484         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
53485         (gl_oset_search_atleast): New declaration.
53486         (struct gl_oset_implementation): Add field 'search_atleast'.
53487         (gl_oset_search_atleast): New inline function.
53488         * lib/gl_oset.c (gl_oset_search_atleast): New function.
53489         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
53490         (gl_array_oset_implementation): Update.
53491         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
53492         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
53493         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
53494
53495 2006-10-04  Bruno Haible  <bruno@clisp.org>
53496
53497         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
53498
53499 2006-10-03  Bruno Haible  <bruno@clisp.org>
53500
53501         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
53502         from gl_avltreehash_list_implementation.
53503
53504 2006-10-03  Bruno Haible  <bruno@clisp.org>
53505
53506         * lib/gl_oset.c (gl_oset_add): Fix return type.
53507
53508 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
53509
53510         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
53511
53512 2006-10-02  Eric Blake  <ebb9@byu.net>
53513
53514         * modules/strnlen (Depends-on): Add extensions.
53515
53516 2006-10-02  Eric Blake  <ebb9@byu.net>
53517
53518         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
53519         definition in 2.60+.
53520
53521 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
53522
53523         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
53524         checks.
53525
53526 2006-10-02  Bruno Haible  <bruno@clisp.org>
53527
53528         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
53529         to the AUTOMAKE_OPTIONS.
53530         Reported by Jim Meyering.
53531
53532 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
53533
53534         Work around bug in Solaris 10 /proc file system:
53535         /proc/self/fd/NNN/.. isn't the parent directory of
53536         the directory whose file descriptor is NNN.  This needs to
53537         be worked around at run time, not compile time, since a
53538         program might be built on Solaris 8, where things work, and
53539         run on Solaris 10.
53540         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
53541         to use the following interface instead:
53542         (OPENAT_BUFFER_SIZE): New macro.
53543         (openat_proc_name): New function.
53544         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
53545         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
53546         Likewise.
53547         * lib/openat-proc.c: New file.
53548         * modules/openat (Files): Add lib/openat-proc.c.
53549         (Depends-on): Add same-inode, stdbool.
53550         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
53551
53552 2006-09-29  Bruno Haible  <bruno@clisp.org>
53553
53554         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
53555         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
53556         argument. Set stdout_closed before testing for ferror, not after.
53557         (fwriteerror, fwriteerror_no_ebadf): New functions.
53558
53559 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53560
53561         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
53562
53563 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
53564
53565         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
53566         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
53567
53568 2006-09-28  Jim Meyering  <jim@meyering.net>
53569
53570         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
53571         Include <unistd.h>.
53572
53573 2006-09-28  Bruno Haible  <bruno@clisp.org>
53574
53575         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
53576         * modules/linkedhash-list (Depends-on): Likewise.
53577         * modules/rbtreehash-list (Depends-on): Likewise.
53578
53579 2006-09-28  Bruno Haible  <bruno@clisp.org>
53580
53581         * lib/strndup.h: Simplify the redefinition of strndup.
53582         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
53583         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
53584
53585 2006-09-28  Bruno Haible  <bruno@clisp.org>
53586
53587         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
53588         * lib/gl_linkedhash_list.c: Likewise.
53589         * lib/gl_rbtreehash_list.c: Likewise.
53590
53591 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
53592
53593         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
53594         getaddrinfo.
53595
53596         * lib/__fpending.h: Don't include <stdio_ext.h> unless
53597         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
53598         it causes <stdio_ext.h> to cause a compile-time error.
53599         Problem reported by Nelson H. F. Beebe.
53600         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
53601         of HAVE_DECL___PENDING.
53602
53603         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
53604         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
53605         declaration.
53606
53607 2006-09-27  Jim Meyering  <jim@meyering.net>
53608
53609         This file could end up with a definition for a function
53610         named __strndup, rather than rpl_strndup on a system with
53611         incomplete weak_alias support.
53612         * lib/strndup.c (strndup): Rename from __strndup.
53613         Remove #defines that used to map __strndup to strndup.
53614         Don't use K&R prototypes.
53615         Remove LIBC-related code, since this file is not sync'd with glibc.
53616         * lib/strndup.h: Revamp, accordingly.
53617         * m4/strndup.m4: Modernize.
53618
53619 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
53620
53621         * modules/savewd (Depends-on): Add 'raise'.
53622         * lib/savewd.c: Include <signal.h>, for 'raise'.
53623
53624 2006-09-26  Jim Meyering  <jim@meyering.net>
53625
53626         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
53627         when we detect Darwin 8.7.0's acl_get_file bug.
53628         Rearrange to perform the new (below) run-test while $LIBS
53629         contains any acl-related library.  Set USE_ACL at the end.
53630         (gl_ACL_GET_FILE): New function.
53631
53632 2006-09-26  Eric Blake  <ebb9@byu.net>
53633
53634         * lib/verror.c: Include <config.h> unconditionally.
53635
53636 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
53637
53638         * modules/clock-time (Maintainer): Add self.
53639         * modules/getlogin_r (Depends-on): Add extensions.
53640
53641 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53642
53643         * modules/clock-time: New module.
53644         * modules/nanosleep (Depends-on): Add clock-time.
53645         * modules/gethrxtime (Depends-on): Likewise.
53646         * modules/gettime (Depends-on): Likewise.
53647         * modules/settime (Depends-on): Likewise.
53648
53649         * modules/fts-lgpl: Depend on openat.
53650         * modules/mkancesdirs: Depend on savewd.
53651         * modules/mkdir-p: Likewise.
53652
53653 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53654
53655         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
53656
53657         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
53658         `gl_have_arbitrary_file_name_length_limit' to
53659         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
53660         actually works between configure runs.
53661
53662 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53663             Bruno Haible  <bruno@clisp.org>
53664
53665         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
53666
53667 2006-09-25  Jim Meyering  <jim@meyering.net>
53668
53669         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
53670         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
53671
53672 2006-09-25  Eric Blake  <ebb9@byu.net>
53673
53674         * gnulib-tool (func_import, func_create_testdir): Fix typos in
53675         exec's in 2006-09-18 patch when shuffling fds.
53676
53677 2006-09-25  Bruno Haible  <bruno@clisp.org>
53678
53679         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
53680         Reported by Jim Meyering.
53681
53682 2006-09-24  Jim Meyering  <jim@meyering.net>
53683
53684         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
53685         compare a pointer against a literal "0".  That caused failures with
53686         at least HP-UX's hpcc.
53687
53688 2006-09-22  Simon Josefsson  <jas@extundo.com>
53689
53690         * modules/gc-sha1:
53691         * modules/gc-md4:
53692         * modules/gc-hmac-sha1:
53693         * modules/gc-hmac-md5:
53694         * modules/gc-des:
53695         * modules/gc-arcfour: Distribute more files.
53696
53697 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53698
53699         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
53700         (gl_linked_iterator_from_to): Initialize struct completely.
53701         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
53702         (gl_tree_iterator_from_to): Likewise
53703         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
53704         * lib/gl_array_list.c [lint] (gl_array_iterator)
53705         (gl_array_iterator_from_to): Likewise.
53706         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
53707         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
53708         (gl_carray_iterator_from_to): Likewise.
53709
53710         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
53711         * lib/md4.c (md4_process_block): Remove unused variable.
53712         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
53713         parentheses for clarity.
53714
53715 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53716
53717         * modules/bison-i18n (Depends-on): Add gettext.
53718
53719 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53720
53721         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
53722         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
53723         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
53724         also add missing comma that caused broken test.
53725         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
53726         stdlib.h, for `abort'.
53727         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
53728         variables.
53729         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
53730         include unistd.h if present, for `rmdir'.
53731         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
53732         variables.
53733         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
53734         in the process include standard headers for prototypes.
53735         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
53736         gets declared on GNU/Linux.
53737         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
53738         unistd.h, for `rmdir'.
53739         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
53740
53741         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
53742         always true.
53743         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
53744
53745         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
53746
53747 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53748
53749         * gnulib-tool (func_version): Create output all at once.  This
53750         may help avoid triggering unnecessary SIGPIPEs, and at any
53751         rate it doesn't hurt.
53752
53753 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53754             Bruno Haible  <bruno@clisp.org>
53755
53756         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
53757         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53758         * m4/signed.m4 (bh_C_SIGNED): Likewise.
53759
53760         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
53761         (gl_FUNC_VASPRINTF): Invoke it.
53762
53763 2006-09-22  Bruno Haible  <bruno@clisp.org>
53764
53765         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
53766         getloadavg.c as first argument.
53767
53768 2006-09-22  Bruno Haible  <bruno@clisp.org>
53769
53770         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
53771         at the beginning of the gl_INIT macro.
53772         * modules/getloadavg (configure.ac): Pass $gl_source_base to
53773         gl_GETLOADAVG.
53774
53775 2006-09-22  Bruno Haible  <bruno@clisp.org>
53776
53777         * gnulib-tool (func_create_megatestdir): Don't include the config-h
53778         module.
53779         Suggested by Ralf Wildenhues.
53780
53781 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
53782
53783         Import this patch from libc:
53784
53785         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
53786
53787         * lib/regex_internal.c (re_string_reconstruct): Handle
53788         offset < pstr->valid_raw_len && pstr->offsets_needed case.
53789         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
53790         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
53791         re_string_context_at.
53792
53793         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
53794         now requires it.
53795         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
53796         gl_REGEX now does it for us.
53797         (gl_REGEX): Add test taken from
53798         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
53799
53800         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
53801         Check that large offsets work.  Modernize Autoconf usages.
53802         Prefer "yes" to mean a good thing rather than a bad.
53803         Don't put "#define mkstemp" in config.h, as this might interfere
53804         with standard system headers that "#define mkstemp mkstemp64".
53805
53806         * modules/mkstemp (Depends-on): Add extensions, so that
53807         mkstemp is visible on some platforms.
53808         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
53809         (Include): Change to "mkstemp.h" from <stdlib.h>.
53810         (Files): Add mkstemp.h.
53811
53812         * lib/mkstemp.h: New file, since some standard headers
53813         #define mkstemp.
53814         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
53815         Include "mkstemp.h".
53816         Make the _LIBC code resemble glibc original more,
53817         e.g., use K&R style.
53818         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
53819         (mkstemp): Remove, since mkstemp.h does this for us.
53820         * lib/stdlib--.h: Include mkstemp.h.
53821
53822         Import this patch from libc:
53823
53824         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
53825
53826         * lib/tempname.c (__gen_tempname): Change attempts_min
53827         into a macro.  Use preprocessor to decide how to initialize
53828         attempts [Coverity CID 67].
53829
53830 2006-09-20  Bruno Haible  <bruno@clisp.org>
53831
53832         * lib/mkdtemp.c: Import from libc.
53833         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
53834                 * sysdeps/posix/tempname.c (__gen_tempname): Change
53835                 attempts_min into a macro.  Use preprocessor to decide how to
53836                 initialize attempts [Coverity CID 67].
53837         2001-11-27  Paul Eggert  <eggert@twinsun.com>
53838                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
53839                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
53840
53841 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53842
53843         * gnulib-tool (func_exit): New function, to allow to pass the
53844         exit status portably through the trap.  Use everywhere.
53845         (--help, --version): Signal a write error.
53846         (trap): catch SIGPIPE, for write errors.
53847         Exit at the end of the trap, with the correct exit status.
53848
53849 2006-09-19  Karl Berry  <karl@gnu.org>
53850
53851         * doc/gnulib.texi: note about the license texinfo files.
53852
53853 2006-09-19  Eric Blake  <ebb9@byu.net>
53854
53855         * gnulib-tool: Avoid space-tab.
53856
53857 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
53858
53859         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
53860         that prevented coreutils 6.1 from building.  Problem reported
53861         by Petter Reinholdtsen.
53862
53863 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
53864
53865         * gnulib-tool (avoidlist): Fix typo that broke options like
53866         --avoid=lock that are used by coreutils bootstrap.
53867
53868 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
53869
53870         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
53871         more systematically.
53872
53873 2006-09-18  Jim Meyering  <jim@meyering.net>
53874
53875         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
53876
53877 2006-09-18  Bruno Haible  <bruno@clisp.org>
53878
53879         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
53880
53881 2006-09-18  Bruno Haible  <bruno@clisp.org>
53882
53883         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
53884         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
53885         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
53886         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
53887         * m4/gettext.m4: Require autoconf >= 2.52.
53888         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
53889         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
53890         of gl_cv_header_inttypes_h.
53891
53892 2006-09-18  Bruno Haible  <bruno@clisp.org>
53893
53894         * lib/javaversion.c: Include configmake.h.
53895
53896 2006-09-18  Bruno Haible  <bruno@clisp.org>
53897
53898         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
53899         avoid that the while loops be executed in a subshell.
53900
53901 2006-09-18  Bruno Haible  <bruno@clisp.org>
53902
53903         * MODULES.html.sh (func_module): Break long lines.
53904         Suggested by Bruce Korb <bkorb@gnu.org>.
53905
53906 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53907
53908         Speed up by a factor of 1.12.
53909         * gnulib-tool (nl): New variable.
53910         (func_import): Rewrite include directive extraction to only read each
53911         directive once.
53912
53913 2006-09-17  Bruno Haible  <bruno@clisp.org>
53914
53915         * modules/javaversion (Makefile.am): Remove DEFS setting.
53916         (Depends-on): Add configmake, for PKGDATADIR definition.
53917
53918 2006-09-17  Bruno Haible  <bruno@clisp.org>
53919
53920         * gnulib-tool (func_create_testdir): Rewrite all files at once.
53921
53922 2006-09-17  Bruno Haible  <bruno@clisp.org>
53923
53924         * gnulib-tool (func_append): New function, stolen from libtool.m4.
53925         (func_modules_transitive_closure, func_modules_add_dummy,
53926         func_modules_to_filelist, func_import, func_create_testdir,
53927         func_create_megatestdir, ...): Use it wherever possible.
53928         Suggested by Ralf Wildenhues.
53929
53930 2006-09-16  Karl Berry  <karl@gnu.org>
53931
53932         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
53933         to avoid sectioning errors.
53934         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
53935         [ifinfo]: blank line after @center-ed titles.
53936         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
53937         Spell FSF address consistently with others.
53938         (These changes approved by rms.)
53939
53940 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53941
53942         Speed up by a factor of 1.61.
53943         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
53944         already checked module names again.
53945
53946 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53947
53948         Speed up by a factor of 1.13.
53949         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
53950         for new_files, and the input to func_add_or_update.
53951
53952 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53953
53954         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
53955         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
53956
53957 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53958
53959         * modules/mkancesdirs (Depends-on): Add fcntl.
53960         * modules/savewd: New file.
53961         * MODULES.html.sh (File system functions): Add savewd.
53962
53963         * modules/configmake (Makefile.am): Add support for the
53964         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
53965
53966 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53967
53968         * m4/savewd.m4: New file.
53969
53970 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
53971
53972         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
53973         (dirchownmod): New arg FD.  All callers changed.
53974         Use FD rather than opening the directory ourself, as opening is
53975         now the caller's responsibility.
53976         * lib/dirchownmod.h: Likewise.
53977         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
53978         hosts that require <sys/types.h> before <sys/stat.h>.  Include
53979         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
53980         (test_dir): Remove.
53981         (mkancesdirs): Return length of prefix of FILE that has already
53982         been made, or -2 if there is a child doing the work.  Redo
53983         algorithm so that it is O(N) rather than O(N**2).  Optimize away
53984         ".", and treat ".." specially since it might stray back into
53985         already-created areas.  Use a subprocess if necessary.  New arg
53986         WD; all users changed.  MAKE_DIR function should now return 1
53987         if it creates a directory that is not readable.  Return -2 if
53988         a child process is spun off.
53989         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
53990         Adjust signature to match code.
53991         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
53992         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
53993         all users changed.
53994         * lib/savewd.c, lib/savewd.h: New files.
53995
53996 2006-09-15  Jim Meyering  <jim@meyering.net>
53997
53998         * modules/rename-dest-slash: New module.
53999         * MODULES.html.sh (posix_compat): Add it here.
54000
54001         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
54002
54003 2006-09-15  Jim Meyering  <jim@meyering.net>
54004
54005         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
54006         file.
54007
54008         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
54009
54010 2006-09-15  Jim Meyering  <jim@meyering.net>
54011
54012         * lib/rename-dest-slash.c (has_trailing_slash): Use
54013         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
54014         (rpl_rename_dest_slash): Perform the cheaper trailing slash
54015         test before testing whether SRC is a directory.
54016         Suggestions from Bruno Haible.
54017
54018         Avoid a warning about an unused variable.
54019         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
54020         into the #ifdef block where it's used.
54021
54022         * lib/rename-dest-slash.c: New file.
54023
54024 2006-09-14  Bruno Haible  <bruno@clisp.org>
54025
54026         * lib/allocsa.c: Include <config.h> unconditionally.
54027         * lib/asnprintf.c: Likewise.
54028         * lib/asprintf.c: Likewise.
54029         * lib/c-strcasecmp.c: Likewise.
54030         * lib/c-strcasestr.c: Likewise.
54031         * lib/c-strncasecmp.c: Likewise.
54032         * lib/c-strstr.c: Likewise.
54033         * lib/classpath.c: Likewise.
54034         * lib/clean-temp.c: Likewise.
54035         * lib/concatpath.c: Likewise.
54036         * lib/copy-file.c: Likewise.
54037         * lib/csharpcomp.c: Likewise.
54038         * lib/csharpexec.c: Likewise.
54039         * lib/execute.c: Likewise.
54040         * lib/fatal-signal.c: Likewise.
54041         * lib/findprog.c: Likewise.
54042         * lib/fwriteerror.c: Likewise.
54043         * lib/gl_array_list.c: Likewise.
54044         * lib/gl_array_oset.c: Likewise.
54045         * lib/gl_avltree_list.c: Likewise.
54046         * lib/gl_avltree_oset.c: Likewise.
54047         * lib/gl_avltreehash_list.c: Likewise.
54048         * lib/gl_carray_list.c: Likewise.
54049         * lib/gl_linked_list.c: Likewise.
54050         * lib/gl_linkedhash_list.c: Likewise.
54051         * lib/gl_list.c: Likewise.
54052         * lib/gl_oset.c: Likewise.
54053         * lib/gl_rbtree_list.c: Likewise.
54054         * lib/gl_rbtree_oset.c: Likewise.
54055         * lib/gl_rbtreehash_list.c: Likewise.
54056         * lib/imaxabs.c: Likewise.
54057         * lib/imaxdiv.c: Likewise.
54058         * lib/javacomp.c: Likewise.
54059         * lib/javaexec.c: Likewise.
54060         * lib/javaversion.c: Likewise.
54061         * lib/linebreak.c: Likewise.
54062         * lib/localcharset.c: Likewise.
54063         * lib/lock.c: Likewise.
54064         * lib/mbchar.c: Likewise.
54065         * lib/mbswidth.c: Likewise.
54066         * lib/mkdtemp.c: Likewise.
54067         * lib/pipe.c: Likewise.
54068         * lib/printf-args.c: Likewise.
54069         * lib/printf-parse.c: Likewise.
54070         * lib/progname.c: Likewise.
54071         * lib/progreloc.c: Likewise.
54072         * lib/readlink.c: Likewise.
54073         * lib/sh-quote.c: Likewise.
54074         * lib/stpcpy.c: Likewise.
54075         * lib/stpncpy.c: Likewise.
54076         * lib/strcasecmp.c: Likewise.
54077         * lib/strcasestr.c: Likewise.
54078         * lib/strcspn.c: Likewise.
54079         * lib/striconv.c: Likewise.
54080         * lib/strncasecmp.c: Likewise.
54081         * lib/strnlen1.c: Likewise.
54082         * lib/strstr.c: Likewise.
54083         * lib/strtok_r.c: Likewise.
54084         * lib/tls.c: Likewise.
54085         * lib/tmpdir.c: Likewise.
54086         * lib/unicodeio.c: Likewise.
54087         * lib/unsetenv.c: Likewise.
54088         * lib/vasnprintf.c: Likewise.
54089         * lib/vasprintf.c: Likewise.
54090         * lib/wait-process.c: Likewise.
54091         * lib/xallocsa.c: Likewise.
54092         * lib/xsetenv.c: Likewise.
54093         * lib/xstriconv.c: Likewise.
54094
54095 2006-09-13  Simon Josefsson  <jas@extundo.com>
54096
54097         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
54098         that internally, suggested by Ralf Wildenhues
54099         <Ralf.Wildenhues@gmx.de>.
54100
54101 2006-09-13  Simon Josefsson  <jas@extundo.com>
54102
54103         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
54104         @LIBOBJS@.
54105         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54106
54107 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
54108
54109         * lib/_fpending.c: Include <config.h> unconditionally, since we no
54110         longer worry about uses that don't define HAVE_CONFIG_H.
54111         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
54112         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
54113         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
54114         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
54115         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
54116         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
54117         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
54118         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
54119         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
54120         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
54121         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
54122         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
54123         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
54124         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
54125         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
54126         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
54127         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
54128         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
54129         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
54130         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
54131         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
54132         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
54133         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
54134         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
54135         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
54136         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
54137         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
54138         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
54139         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
54140         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
54141         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
54142         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
54143         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
54144         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
54145         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
54146         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
54147         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
54148         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
54149         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
54150         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
54151         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
54152         Likewise.
54153
54154 2006-09-13  Eric Blake  <ebb9@byu.net>
54155
54156         * lib/getopt.c: Fix typo in last commit.
54157
54158 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54159
54160         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
54161         dgettext.
54162
54163 2006-09-12  Jim Meyering  <jim@meyering.net>
54164
54165         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
54166         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
54167         Reported by Nelson H. F. Beebe.
54168
54169 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54170
54171         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
54172         program_invocation_name and program_invocation_short_name are
54173         initialized.
54174         * lib/argp-namefrob.h: Move declarations of program_invocation_name
54175         and program_invocation_short_name to argp.h, so they are visible
54176         to user programs.
54177         * lib/argp.h: Likewise
54178
54179 2006-09-10  Bruno Haible  <bruno@clisp.org>
54180
54181         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
54182         m4/inttypes_h.m4, m4/uintmax_t.m4.
54183
54184 2006-09-10  Bruno Haible  <bruno@clisp.org>
54185
54186         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
54187         gl_AC_TYPE_UINTMAX_T.
54188
54189 2006-09-10  Bruno Haible  <bruno@clisp.org>
54190
54191         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
54192
54193 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54194
54195         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
54196         convention.  Text proposed by Bruno Haible.
54197         (struct argp_option): Document the use of N_() wrappers.
54198
54199         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
54200         '\v', and translate the two parts separately, instead of feeding
54201         the whole string to gettext.  This allows to exclude
54202         '\v' from the strings visible to the translator by writing doc
54203         strings as N_("..") "\v" N_("..").
54204
54205 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
54206
54207         * config/srclist.txt: Undo latest change; the bug was fixed.
54208
54209 2006-09-09  Bruno Haible  <bruno@clisp.org>
54210
54211         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
54212         assignments if building a library without libtool.
54213         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
54214         in func_emit_lib_Makefile_am.
54215         (func_import): When building a static library libfoo.a, arrange to
54216         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
54217         (func_create_testdir): Likewise.
54218         * modules/gc (configure.ac, Makefile.am): If building statically,
54219         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
54220         * modules/iconvme (configure.ac, Makefile.am): Likewise.
54221         * modules/striconv (configure.ac, Makefile.am): Likewise.
54222         Based on a suggestion by Ralf Wildenhues.
54223
54224 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54225
54226         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54227         Check for unistd.h too, since Autoconf doesn't assume POSIX.
54228         Also:
54229
54230         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54231         Add year_2050_test to catch glibc bug 2821
54232         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
54233
54234         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
54235         Prefer #ifdef to #if.
54236
54237         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
54238         Return from 'main' instead of calling 'exit'.
54239
54240 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54241
54242         * lib/mktime.c (guess_time_tm): Fix bug where mktime
54243         returned the maximum time_t value rather than (time_t) -1.
54244         Problem originally reported by William Bardwell
54245         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
54246
54247         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
54248         Moved to here ...
54249         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
54250         ... from here.
54251
54252 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54253
54254         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
54255         2821 is fixed.
54256
54257 2006-09-08  Jim Meyering  <jim@meyering.net>
54258
54259         Don't make generated files read-only.  That would bother too many
54260         people.  However, do retain the ability to work when targets are
54261         read-only: remove the destination and temporary files before writing
54262         them (when generated via sed or echo), or by using the -f option for
54263         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
54264         * modules/alloca-opt, modules/argz, modules/arpa_inet:
54265         * modules/byteswap, modules/configmake, modules/fcntl:
54266         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
54267         * modules/localcharset, modules/netinet_in, modules/poll:
54268         * modules/stdbool, modules/stdint, modules/sys_select:
54269         * modules/sys_socket, modules/sys_stat, modules/sysexits:
54270
54271 2006-09-08  Jim Meyering  <jim@meyering.net>
54272
54273         Avoid new build failure on FreeBSD 6.0.
54274         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
54275         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
54276         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
54277
54278 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54279
54280         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
54281
54282 2006-09-07  Jim Meyering  <jim@meyering.net>
54283
54284         Fix global typo in last change: use chmod u-w, not chmod u-x.
54285         Spotted by Paul Eggert and Bruce Korb.
54286         * modules/alloca-opt, modules/argz, modules/arpa_inet:
54287         * modules/byteswap, modules/configmake, modules/fcntl:
54288         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
54289         * modules/localcharset, modules/netinet_in, modules/poll:
54290         * modules/stdbool, modules/stdint, modules/sys_select:
54291         * modules/sys_socket, modules/sys_stat, modules/sysexits:
54292
54293 2006-09-06  Jim Meyering  <jim@meyering.net>
54294
54295         Make generated files be read-only.
54296         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
54297         Ensure that each generated file is now read-only.
54298         * modules/argz: Likewise.
54299         * modules/arpa_inet: Likewise.
54300         * modules/byteswap: Likewise.
54301         * modules/configmake: Likewise.
54302         * modules/fcntl: Likewise.
54303         * modules/fnmatch: Likewise.
54304         * modules/getopt: Likewise.
54305         * modules/glob: Likewise.
54306         * modules/inttypes: Likewise.
54307         * modules/netinet_in: Likewise.
54308         * modules/poll: Likewise.
54309         * modules/stdbool: Likewise.
54310         * modules/stdint: Likewise.
54311         * modules/sys_select: Likewise.
54312         * modules/sys_socket: Likewise.
54313         * modules/sys_stat: Likewise.
54314         * modules/sysexits: Likewise.
54315         * modules/localcharset: Same as above, but continue using temporary
54316         file named "t-$@" (why different?) rather than the "$@-t" used
54317         everywhere else.
54318
54319         * modules/sysexits (Makefile.am): Replace literal occurrences
54320         of "sysexit.h" more readable, and more consistent, "$@".
54321
54322 2006-09-06  Bruno Haible  <bruno@clisp.org>
54323
54324         * modules/striconv: New file.
54325         * modules/xstriconv: New file.
54326         * MODULES.html.sh (Internationalization functions): Add striconv,
54327         xstriconv.
54328
54329 2006-09-06  Bruno Haible  <bruno@clisp.org>
54330
54331         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
54332         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
54333         not using libtool correctly.
54334
54335 2006-09-06  Bruno Haible  <bruno@clisp.org>
54336
54337         * lib/striconv.h: New file.
54338         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
54339         iconvstring.c.
54340         * lib/xstriconv.h: New file.
54341         * lib/xstriconv.c: New file.
54342
54343 2006-09-06  Bruno Haible  <bruno@clisp.org>
54344
54345         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54346         lib_..._LDFLAGS.
54347
54348 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54349
54350         * lib/argz_.h: Sync from Libtool.
54351
54352         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
54353                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
54354
54355         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
54356
54357 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
54358
54359         * modules/trim: New file.
54360
54361 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
54362
54363         * lib/trim.h: New file.
54364         * lib/trim.c: New file.
54365
54366 2006-09-05  Bruno Haible  <bruno@clisp.org>
54367
54368         * MODULES.html.sh (String handling): Add trim.
54369
54370 2006-09-04  Karl Berry  <karl@gnu.org>
54371
54372         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
54373         until next release.
54374
54375 2006-09-03  Bruno Haible  <bruno@clisp.org>
54376
54377         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
54378         correctly.
54379
54380 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54381
54382         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
54383         not gl_GETLOADAVG.  Omit unneeded semicolons.
54384         Problems reported by Ralf Wildenhues in
54385         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
54386         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
54387         at the end, which is the usual gnulib style.
54388
54389         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
54390         of doing all the work ourselves.
54391         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
54392         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
54393
54394 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54395
54396         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
54397         Problem reported by Ralf Wildenhues in
54398         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
54399
54400         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
54401         HAVE_STRUCT_STATFS_F_FSTYPENAME.
54402
54403 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54404
54405         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
54406         yesterday's patch by changing test -n to test -z.
54407
54408 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54409
54410         * modules/getloadavg (Files): Add m4/getloadavg.m4.
54411         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
54412         the former is now obsolescent.
54413
54414         * modules/chdir-long (Depends-on): Add fcntl.
54415
54416 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54417
54418         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
54419         obsolescent, and programs should use gnulib instead.
54420         * m4/getloadavg.m4: New file, with contents taken from Autoconf
54421         but with prefixes changed.
54422
54423 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54424
54425         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
54426         or stdbool.h, because they might not exist while configuring.
54427
54428         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
54429         Don't include unistd.h or limits.h; not needed, since chdir-long.h
54430         does that for us.
54431         (O_DIRECTORY): Remove.
54432
54433 2006-08-31  Eric Blake  <ebb9@byu.net>
54434
54435         * gnulib-tool: Don't let emacs change spaces to TAB.
54436
54437 2006-08-31  Bruno Haible  <bruno@clisp.org>
54438
54439         * gnulib-tool: When calling func_import more than once, do it in a
54440         subshell.
54441         Reported by Eric Blake <ebb9@byu.net>.
54442
54443 2006-08-31  Bruno Haible  <bruno@clisp.org>
54444
54445         * gnulib-tool (nl): Remove variable.
54446         (sed_transform_lib_file): Use more robust test for config-h module.
54447         (func_import): Fix typo in 2006-08-25 patch.
54448
54449 2006-08-31  Bruno Haible  <bruno@clisp.org>
54450
54451         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
54452         specified, augment Makefile.am variables instead of assigning them.
54453
54454 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54455
54456         Work around a bug in both the Linux and SunOS 64-bit kernels:
54457         nanosleep mishandles sleeps for longer than 2**31 seconds.
54458         Problem reported by Frank v Waveren in
54459         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
54460         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
54461         Check for nanosleep bug.
54462         (LIB_NANOSLEEP): Append clock_gettime library if needed.
54463
54464 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54465
54466         Work around a bug in both the Linux and SunOS 64-bit kernels:
54467         nanosleep mishandles sleeps for longer than 2**31 seconds.
54468         Problem reported by Frank v Waveren in
54469         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
54470         * lib/nanosleep.c (BILLION): New constant.
54471         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
54472         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
54473         implementation.
54474
54475 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54476
54477         * modules/nanosleep (Depends-on): Add gettime.
54478
54479 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
54480         and Simon Josefsson  <jas@extundo.com>
54481         and Oskar Liljeblad  <oskar@osk.mine.nu>
54482
54483         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
54484         * gnulib-tool (func_import): New license type 'unmodifiable license
54485         text'.
54486         * modules/fdl: Use it.  Longer description.
54487         * module/gpl, module/lgpl: New files.
54488
54489 2006-08-30  Jim Meyering  <jim@meyering.net>
54490
54491         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
54492         shadowing the parameter.
54493
54494 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54495
54496         Sync from Libtool:
54497
54498         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54499
54500         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
54501         sharing with gnulib.  Report by Eric Blake.
54502
54503 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54504
54505         * modules/isapipe: New file.
54506         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
54507
54508 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54509
54510         * modules/configmake (Makefile.am): Add a comment, and omit
54511         the CONFIGMAKE_ prefix from generated macro names.  Suggested
54512         by Bruno Haible.
54513
54514 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54515
54516         * m4/isapipe.m4: New file.
54517
54518 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
54519
54520         * lib/isapipe.c, lib/isapipe.h: New files.
54521
54522 2006-08-29  Jim Meyering  <jim@meyering.net>
54523
54524         * modules/configmake (Makefile.am): Make configmake.h depend on
54525         Makefile.  Otherwise, a stale configmake.h could hang around.
54526
54527 2006-08-29  Eric Blake  <ebb9@byu.net>
54528
54529         * lib/error.c (error_at_line, print_errno_message): Match libc, after
54530         resolution of upstream bug 3044.
54531
54532 2006-08-29  Bruno Haible  <bruno@clisp.org>
54533
54534         * modules/localcharset (Depends-on): Add configmake.
54535         (Makefile.am): Remove setting of LIBDIR through DEFS.
54536
54537 2006-08-29  Bruno Haible  <bruno@clisp.org>
54538
54539         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
54540         defined.
54541
54542 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54543
54544         * modules/fcntl: New file.
54545         * modules/chdir-safer (Depends-on): Add fcntl.
54546         * modules/fts: Likewise.
54547         * modules/mkdir-p: Likewise.
54548
54549         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
54550         This undoes the most recent change, since we're now addressing the
54551         problem in a different way.
54552
54553         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
54554         into output, since the output might be called Makefile.am even
54555         if $makefile_name is something different.
54556         (func_import): Use $makefile_am rather than
54557         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
54558         empty.
54559
54560         * modules/inttypes (Files): Add m4/inttypes-h.m4.
54561
54562 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54563
54564         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
54565         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
54566         recent change to stdint.m4, since we're now addressing the problem in a
54567         different way.
54568
54569 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54570
54571         * m4/fcntl_h.m4: New file.
54572
54573 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
54574
54575         * lib/fcntl_.h: New file.
54576         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
54577         the fcntl module.
54578         * lib/dirchownmod.c: Likewise.
54579         * lib/fts.c: Likewise.
54580
54581         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
54582         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
54583         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
54584         just before including <inttypes.h>, to avoid circular inclusion.
54585
54586 2006-08-28  Jim Meyering  <jim@meyering.net>
54587
54588         * doc/visibility.texi: Actually read and correct the grammar of the
54589         sentence affected by yesterday's change.
54590
54591 2006-08-28  Eric Blake  <ebb9@byu.net>
54592
54593         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
54594         needs wrapper.
54595
54596 2006-08-28  Eric Blake  <ebb9@byu.net>
54597
54598         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
54599
54600 2006-08-28  Eric Blake  <ebb9@byu.net>
54601
54602         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
54603
54604 2006-08-28  Bruno Haible  <bruno@clisp.org>
54605
54606         * modules/c-strstr: New file, from GNU gettext.
54607         * MODULES.html.sh (String handling): Add c-strstr.
54608
54609 2006-08-28  Bruno Haible  <bruno@clisp.org>
54610
54611         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
54612         macros.
54613         Reported by Eric Blake.
54614
54615 2006-08-28  Bruno Haible  <bruno@clisp.org>
54616
54617         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
54618         (VASNPRINTF): Return a string of length > INT_MAX without failing.
54619         * lib/vasprintf.c: Include errno.h, limits.h.
54620         (EOVERFLOW): New fallback definition.
54621         (vasprintf): Test here whether the string length is > INT_MAX.
54622         * lib/vsnprintf.c: Include errno.h, limits.h.
54623         (EOVERFLOW): New fallback definition.
54624         (vsnprintf): Fix bug when generated string was too long for the buffer.
54625         Test here whether the string length is > INT_MAX.
54626
54627 2006-08-28  Bruno Haible  <bruno@clisp.org>
54628
54629         * lib/inttypes_.h (SCNX*): Remove definitions.
54630         Reported by Eric Blake.
54631
54632 2006-08-28  Bruno Haible  <bruno@clisp.org>
54633
54634         * lib/c-strstr.h: New file, from GNU gettext.
54635         * lib/c-strstr.c: New file, from GNU gettext.
54636
54637 2006-08-28  Bruno Haible  <bruno@clisp.org>
54638
54639         * gnulib-tool: Reorder some statements.
54640
54641 2006-08-28  Bruno Haible  <bruno@clisp.org>
54642
54643         * gnulib-tool: New option --makefile-name.
54644         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
54645         $makefile_name.
54646         (func_import): Write $makefile_name to the cache file, and read it from
54647         there unless explicitly specified. Use $makefile_name as file name
54648         instead of Makefile.am. Adjust the recommendations accordingly.
54649
54650 2006-08-28  Bruno Haible  <bruno@clisp.org>
54651
54652         * gnulib-tool (func_verify_module): Check against misapplying patch.
54653
54654 2006-08-28  Bruno Haible  <bruno@clisp.org>
54655
54656         * gnulib-tool (func_relativize, func_relconcat): New functions.
54657         Give an error if --local-dir is given with --update.
54658         Remove trailing slashes from $local_gnulib_dir.
54659         (func_import): Store the relativized $local_gnulib_dir in
54660         gnulib-cache.m4, and read it from there if not specified explicitly.
54661
54662 2006-08-28  Bruno Haible  <bruno@clisp.org>
54663
54664         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
54665         is the current directory. Respect also $local_gnulib_dir.
54666
54667 2006-08-28  Bruno Haible  <bruno@clisp.org>
54668             Simon Josefsson  <jas@extundo.com>
54669
54670         BeOS portability.
54671         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
54672
54673 2006-08-27  Jim Meyering  <jim@meyering.net>
54674
54675         * doc/visibility.texi: Remove duplicate word: "pointer".
54676
54677 2006-08-26  Bruno Haible  <bruno@clisp.org>
54678
54679         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
54680         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
54681         (Makefile.am): Create inttypes.h from inttypes_.h.
54682         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
54683
54684         * modules/imaxabs: New file.
54685
54686         * modules/imaxdiv: New file.
54687
54688 2006-08-26  Bruno Haible  <bruno@clisp.org>
54689
54690         * m4/inttypes.m4: New file.
54691         * m4/_inttypes_h.m4: Remove file.
54692         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
54693         PRI_MACROS_BROKEN.
54694         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
54695
54696         * m4/imaxabs.m4: New file.
54697
54698         * m4/imaxdiv.m4: New file.
54699
54700 2006-08-26  Bruno Haible  <bruno@clisp.org>
54701
54702         * lib/inttypes_.h: New file.
54703         * lib/inttypes.h: Remove file.
54704         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
54705
54706         * lib/imaxabs.c: New file.
54707
54708         * lib/imaxdiv.c: New file.
54709
54710 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54711
54712         New config-h module, so that "make" output needn't be cluttered
54713         by -DHAVE_CONFIG_H.
54714         * MODULES.html.sh (Support for building libraries and executables):
54715         Add config-h.
54716         * modules/config-h: New file.
54717         * gnulib-tool (nl, sed_transform_lib_file): New vars.
54718         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
54719         the config-h module is used.
54720
54721         New configmake module, so that "make" output needn't be cluttered
54722         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
54723         * MODULES.html.sh (Support for building libraries and executables):
54724         Add configmake.
54725         * modules/configmake: New file.
54726
54727 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
54728
54729         * m4/config-h.m4: New file.
54730
54731 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54732
54733         * config/srclist.txt: Add elisp-comp.
54734
54735 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
54736
54737         * MODULES.html.sh (Support for building libraries and executables):
54738         Add elisp-comp.
54739         * build-aux/elisp-comp: New file.
54740         * modules/elisp-comp: New file.
54741
54742 2006-08-24  Bruno Haible  <bruno@clisp.org>
54743
54744         * gnulib-tool (func_create_testdir): Use non-default values of
54745         sourcebase and m4base.
54746
54747 2006-08-24  Bruno Haible  <bruno@clisp.org>
54748
54749         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
54750         HTML structure.
54751
54752 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
54753
54754         * modules/openat (Depends-on): Add lchown.
54755
54756 2006-08-23  Bruno Haible  <bruno@clisp.org>
54757
54758         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
54759         of gl_LOCK_EARLY instead of gl_LOCK.
54760
54761 2006-08-23  Bruno Haible  <bruno@clisp.org>
54762
54763         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
54764         on OSF/1 to no.
54765         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
54766
54767 2006-08-23  Bruno Haible  <bruno@clisp.org>
54768
54769         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
54770         as unusable.
54771
54772         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
54773         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
54774         (gl_LOCK): New macro.
54775
54776 2006-08-22  Simon Josefsson  <jas@extundo.com>
54777
54778         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
54779         to md5 module.
54780
54781 2006-08-22  Simon Josefsson  <jas@extundo.com>
54782
54783         * MODULES.html.sh: Add "Support for maintaining and release
54784         projects".
54785
54786         * build-aux/gnupload: New file, from coreutils.
54787
54788 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
54789
54790         Avoid the need for AC_LIBSOURCES in m4 macros.
54791         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
54792         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
54793         * modules/check-version (EXTRA_DIST): Add check-version.h.
54794         * modules/crc (EXTRA_DIST): Add crc.h.
54795         * modules/des (EXTRA_DIST): Add des.h.
54796         * modules/gc (EXTRA_DIST): Add gc.h.
54797         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
54798         * modules/getline (EXTRA_DIST): Add getline.h.
54799         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
54800         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
54801         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
54802         * modules/md2 (EXTRA_DIST): Add md2.h.
54803         * modules/md4 (EXTRA_DIST): Add md4.h.
54804         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
54805         * modules/read-file (EXTRA_DIST): Add read-file.h.
54806         * modules/readline (EXTRA_DIST): Add readline.h.
54807         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
54808         rijndael-api-fst.h.
54809
54810 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
54811
54812         * m4/rijndael.m4 (gl_ARCFOUR):
54813         * m4/arctwo.m4 (gl_ARCTWO):
54814         * m4/check-version.m4 (gl_CHECK_VERSION):
54815         * m4/crc.m4 (gl_CRC):
54816         * m4/des.m4 (gl_DES):
54817         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
54818         * m4/gc.m4 (gl_GC):
54819         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
54820         * m4/getline.m4 (gl_FUNC_GETLINE):
54821         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
54822         * m4/hmac-md5.m4 (gl_HMAC_MD5):
54823         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
54824         * m4/md2.m4 (gl_MD2):
54825         * m4/md4.m4 (gl_MD4):
54826         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
54827         * m4/read-file.m4 (gl_FUNC_READ_FILE):
54828         * m4/readline.m4 (gl_FUNC_READLINE):
54829         * m4/rijndael.m4 (gl_RIJNDAEL):
54830         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
54831         to get the necessary .h files and whatnot.
54832
54833 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
54834
54835         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
54836         gnulib rather than the other way around.
54837         * config/srclistvars.sh (COREUTILS): Remove.
54838
54839 2006-08-22  Jim Meyering  <jim@meyering.net>
54840
54841         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
54842
54843         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
54844
54845 2006-08-22  Eric Blake  <ebb9@byu.net>
54846
54847         * modules/regexprops-generic: New file.
54848         * MODULES.html.sh (Support for building documentation): List it.
54849
54850 2006-08-22  Eric Blake  <ebb9@byu.net>
54851
54852         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
54853         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
54854         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
54855         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
54856
54857 2006-08-22  Bruno Haible  <bruno@clisp.org>
54858
54859         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
54860         and lib_LTLIBRARIES like the other lib_* variables.
54861
54862 2006-08-22  Bruno Haible  <bruno@clisp.org>
54863
54864         * build-aux/x-to-1.in: New file, from GNU gettext.
54865
54866 2006-08-22  Bruno Haible  <bruno@clisp.org>
54867
54868         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
54869         <utmpx.h> exists.
54870
54871 2006-08-22  Bruno Haible  <bruno@clisp.org>
54872
54873         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
54874         <utmpx.h> exists.
54875
54876 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
54877
54878         BeOS portability.
54879         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
54880         exist.
54881         Problem reported by Bruno Haible.
54882
54883 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
54884
54885         Avoid the need for AC_LIBSOURCES in m4 macros.
54886         * modules/acl (EXTRA_DIST): Add acl.h.
54887         * modules/argmatch (Files): Add m4/argmatch.m4.
54888         (configure.ac): Add gl_ARGMATCH.
54889         (EXTRA_DIST): Renamed from lib_SOURCES, for
54890         consistency with the other modules.  Remove argmatch.c.
54891         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
54892         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
54893         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
54894         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
54895         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
54896         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
54897         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
54898         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
54899         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
54900         * modules/closeout (EXTRA_DIST): Add closeout.h.
54901         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
54902         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
54903         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
54904         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
54905         dirname.h; remove basename.c and stripslash.c.
54906         * modules/exclude (EXTRA_DIST): Add exclude.h.
54907         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
54908         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
54909         * modules/file-type (EXTRA_DIST): Add file-type.h.
54910         * modules/filemode (EXTRA_DIST): Add filemode.h.
54911         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
54912         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
54913         * modules/fpending (EXTRA_DIST): Add __fpending.h.
54914         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
54915         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
54916         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
54917         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
54918         * modules/getdate (EXTRA_DIST): Add getdate.c.
54919         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
54920         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
54921         * modules/getpass (EXTRA_DIST): Add getpass.h.
54922         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
54923         * modules/group-member (EXTRA_DIST): Add group-member.h.
54924         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
54925         * modules/hash (EXTRA_DIST): Add hash.h.
54926         * modules/human (EXTRA_DIST): Add human.h.
54927         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
54928         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
54929         * modules/lchown (EXTRA_DIST): Add lchown.h.
54930         * modules/long-options (EXTRA_DIST): Add long-options.h.
54931         * modules/lstat (EXTRA_DIST): Add lstat.h.
54932         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
54933         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
54934         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
54935         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
54936         * modules/memxor (EXTRA_DIST): Add memxor.h.
54937         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
54938         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
54939         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
54940         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
54941         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
54942         * modules/physmem (EXTRA_DIST): Add physmem.h.
54943         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
54944         * modules/posixver (EXTRA_DIST): Add posixver.h.
54945         * modules/quote (EXTRA_DIST): Add quote.h.
54946         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
54947         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
54948         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
54949         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
54950         regex_internal.h regexec.c.
54951         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
54952         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
54953         * modules/same (EXTRA_DIST): Add same.h.
54954         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
54955         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
54956         * modules/savedir (EXTRA_DIST): Add savedir.h.
54957         * modules/sha1 (EXTRA_DIST): Add sha1.h.
54958         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
54959         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
54960         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
54961         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
54962         * modules/strdup (EXTRA_DIST): Add strdup.h.
54963         * modules/strftime (EXTRA_DIST): Add strftime.h.
54964         * modules/strndup (EXTRA_DIST): Add strndup.h.
54965         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
54966         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
54967         * modules/time_r (EXTRA_DIST): Add time_r.h.
54968         * modules/timespec (EXTRA_DIST): Add timespec.h.
54969         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
54970         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
54971         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
54972         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
54973         * modules/userspec (EXTRA_DIST): Add userspec.h.
54974         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
54975         * modules/utimens (EXTRA_DIST): Add utimens.h.
54976         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
54977         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
54978         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
54979         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
54980         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
54981         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
54982         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
54983         * modules/yesno (EXTRA_DIST): Add yesno.h.
54984
54985 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
54986
54987         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
54988
54989         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
54990         * m4/dev-ino.m4, same-inode.m4: Remove.
54991
54992         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
54993         * m4/acl.m4 (AC_FUNC_ACL):
54994         * m4/backupfile.m4 (gl_BACKUPFILE):
54995         * m4/c-strtod.m4 (gl_C99_STRTOLD):
54996         * m4/canon-host.m4 (gl_CANON_HOST):
54997         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
54998         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
54999         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
55000         * m4/cloexec.m4 (gl_CLOEXEC):
55001         * m4/close-stream.m4 (gl_CLOSE_STREAM):
55002         * m4/closeout.m4 (gl_CLOSEOUT):
55003         * m4/dirfd.m4 (gl_FUNC_DIRFD):
55004         * m4/dirname.m4 (gl_DIRNAME):
55005         * m4/exclude.m4 (gl_EXCLUDE):
55006         * m4/exitfail.m4 (gl_EXITFAIL):
55007         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
55008         * m4/file-type.m4 (gl_FILE_TYPE):
55009         * m4/filemode.m4 (gl_FILEMODE):
55010         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
55011         * m4/fpending.m4 (gl_FUNC_FPENDING):
55012         * m4/fprintftime.m4 (gl_FPRINTFTIME):
55013         * m4/fts.m4 (gl_FUNC_FTS):
55014         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
55015         * m4/getdate.m4 (gl_GETDATE):
55016         * m4/gethrxtime.m4 (gl_GETHRXTIME):
55017         * m4/getpagesize.m4 (gl_GETPAGESIZE):
55018         * m4/getpass.m4 (gl_FUNC_GETPASS):
55019         * m4/gettime.m4 (gl_GETTIME):
55020         * m4/getugroups.m4 (gl_GETUGROUPS):
55021         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
55022         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
55023         * m4/hard-locale.m4 (gl_HARD_LOCALE):
55024         * m4/hash.m4 (gl_HASH):
55025         * m4/idcache.m4 (gl_IDCACHE):
55026         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
55027         * m4/lchown.m4 (gl_FUNC_LCHOWN):
55028         * m4/long-options.m4 (gl_LONG_OPTIONS):
55029         * m4/lstat.m4 (gl_FUNC_LSTAT):
55030         * m4/md5.m4 (gl_MD5):
55031         * m4/memcasecmp.m4 (gl_MEMCASECMP):
55032         * m4/memcoll.m4 (gl_MEMCOLL):
55033         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
55034         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
55035         * m4/memxor.m4 (gl_MEMXOR):
55036         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
55037         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
55038         * m4/modechange.m4 (gl_MODECHANGE):
55039         * m4/mountlist.m4 (gl_MOUNTLIST):
55040         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
55041         * m4/openat.m4 (gl_FUNC_OPENAT):
55042         * m4/pathmax.m4 (gl_PATHMAX):
55043         * m4/physmem.m4 (gl_PHYSMEM):
55044         * m4/posixtm.m4 (gl_POSIXTM):
55045         * m4/posixver.m4 (gl_POSIXVER):
55046         * m4/quote.m4 (gl_QUOTE):
55047         * m4/quotearg.m4 (gl_QUOTEARG):
55048         * m4/readtokens.m4 (gl_READTOKENS):
55049         * m4/readutmp.m4 (gl_READUTMP):
55050         * m4/regex.m4 (gl_REGEX):
55051         * m4/safe-read.m4 (gl_SAFE_READ):
55052         * m4/safe-write.m4 (gl_SAFE_WRITE):
55053         * m4/same.m4 (gl_SAME):
55054         * m4/save-cwd.m4 (gl_SAVE_CWD):
55055         * m4/savedir.m4 (gl_SAVEDIR):
55056         * m4/settime.m4 (gl_SETTIME):
55057         * m4/sha1.m4 (gl_SHA1):
55058         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
55059         * m4/stat-macros.m4 (gl_STAT_MACROS):
55060         * m4/stat-time.m4 (gl_STAT_TIME):
55061         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
55062         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
55063         * m4/strdup.m4 (gl_FUNC_STRDUP):
55064         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
55065         * m4/strndup.m4 (gl_FUNC_STRNDUP):
55066         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
55067         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
55068         * m4/time_r.m4 (gl_TIME_R):
55069         * m4/timespec.m4 (gl_TIMESPEC):
55070         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
55071         * m4/unlinkdir.m4 (gl_UNLINKDIR):
55072         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
55073         * m4/userspec.m4 (gl_USERSPEC):
55074         * m4/utimecmp.m4 (gl_UTIMECMP):
55075         * m4/utimens.m4 (gl_UTIMENS):
55076         * m4/xalloc.m4 (gl_XALLOC):
55077         * m4/xgetcwd.m4 (gl_XGETCWD):
55078         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
55079         * m4/xreadlink.m4 (gl_XREADLINK):
55080         * m4/xstrtod.m4 (gl_XSTRTOD):
55081         * m4/yesno.m4 (gl_YESNO):
55082         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
55083         to get the necessary .h files and whatnot.
55084
55085 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
55086             Bruno Haible  <bruno@clisp.org>
55087
55088         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
55089         /bin/sh understanding of '!' conditional negation.
55090
55091 2006-08-21  Jim Meyering  <jim@meyering.net>
55092
55093         * modules/openat (Depends-on): Really alphabetize.
55094
55095         * modules/acl (Depends-on): Add error and quote.
55096
55097         * check-module (find_included_lib_files): Add at-func.c to the
55098         ok-to-include-more-than-once white list.
55099
55100         * modules/openat (Depends-on): Add lstat.  Alphabetize.
55101
55102 2006-08-21  Bruno Haible  <bruno@clisp.org>
55103
55104         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55105         Emit a pkgdata_DATA variable only if some snippets add contents to it.
55106         Reported by Martin Lambers <marlam@marlam.de>.
55107
55108 2006-08-21  Bruno Haible  <bruno@clisp.org>
55109
55110         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
55111         specify an installation location, don't emit a noinst_LIBRARIES or
55112         noinst_LTLIBRARIES assignment.
55113
55114 2006-08-21  Bruno Haible  <bruno@clisp.org>
55115
55116         BeOS portability.
55117         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
55118         BeOS has mbrtowc() but no <wctype.h>.
55119
55120 2006-08-21  Bruno Haible  <bruno@clisp.org>
55121
55122         BeOS portability.
55123         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
55124         exist.
55125
55126 2006-08-21  Bruno Haible  <bruno@clisp.org>
55127
55128         BeOS portability.
55129         * lib/mbchar.h: Include <wctype.h> only if it exists.
55130
55131 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55132
55133         Remove files that are no longer needed by their respective modules.
55134         * m4/obstack.m4: Remove.
55135         * m4/strerror_r.m4: Remove.
55136         * m4/uint32_t.m4: Remove.
55137         * m4/uintptr_t.m4: Remove.
55138         * m4/ullong_max.m4: Remove.
55139         * m4/xstrtoimax.m4: Remove.
55140         * m4/xstrtoumax.m4: Remove.
55141
55142         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
55143         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
55144         dependencies now capture this.
55145
55146         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
55147         Do not use AC_LIBSOURCES, since gnulib modules now do this.
55148         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
55149         * m4/human.m4 (gl_HUMAN): Likewise.
55150         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
55151         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
55152
55153         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
55154
55155         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
55156         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
55157         stdint.
55158         * m4/human.m4 (gl_HUMAN): Likewise.
55159         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
55160         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
55161         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
55162         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
55163         * m4/xstrtol (gl_XSTRTOL): Likewise.
55164
55165         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
55166         AC_TYPE_LONG_LONG_INT.
55167         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
55168         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
55169         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
55170         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
55171
55172         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
55173         on stdbool.
55174
55175         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
55176         (gl_PREREQ_XSTRTOUL): Remove.
55177
55178         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
55179
55180         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
55181         mode.
55182
55183 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55184
55185         Add and change modules to make it easier for coreutils to use
55186         gnulib-tool.
55187         * modules/backupfile (Files): Remove m4/d-ino.m4.
55188         (Depends-on): Add d-ino.
55189         * modules/cycle-check (Depends-on): Add stdint.
55190         (lib_SOURCES): Add cycle-check.h.
55191         * modules/d-ino: New module.
55192         * modules/d-type: New module.
55193         * modules/error (Files): Remove m4/strerror_r.m4.
55194         * modules/filemode (Files): Add m4/st_dm_mode.m4.
55195         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
55196         m4/inttypes_h.m4, m4/uintmax_t.m4.
55197         (Depends-on): Add stdint.
55198         (lib_SOURCES): Add fsusage.h.
55199         * modules/getcwd (Files): Remove d-ino.m4.
55200         (Depends-on): Add d-ino.
55201         * modules/getndelim2 (Depends-on): Add stdint.
55202         * modules/glob (Files): Remove m4/d-type.m4.
55203         (Depends-on): Add d-type.
55204         * modules/host-os: New module.
55205         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
55206         m4/inttypes_h.m4, m4/uintmax_t.m4.
55207         * Depends-on: Add stdint.
55208         (lib_SOURCES): Add human.h.
55209         * modules/inttostr (Files): Remove m4/intmax_t.m4,
55210         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
55211         m4/uintmax_t.m4, m4/ulonglong.m4.
55212         (Depends-on): Add stdint.
55213         (EXTRA_DIST): Add inttostr.h.
55214         * modules/lchmod: New module.
55215         * modules/link-follow: New module.
55216         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
55217         (Depends-on): Add lchmod.
55218         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
55219         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
55220         (Depends-on): Add stdint.
55221         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
55222         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
55223         (Depends-on): Add stdint.
55224         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
55225         * modules/perl: New module.
55226         * modules/regex (Depends-on): Add stdint.
55227         * modules/rmdir-errno: New module.
55228         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
55229         m4/intmax_t.m4.
55230         (Depends-on): Add stdint.
55231         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
55232         m4/uintmax_t.m4.
55233         (Depends-on): Add stdint.
55234         * modules/unlink-busy: New module.
55235         * modules/utimecmp (Depends-on): Add stdint.
55236         * modules/uptime: New module.
55237         * modules/winsz-ioctl: New module.
55238         * modules/winsz-termios: New module.
55239         * modules/xnanosleep (Depends-on): Add nanosleep.
55240         * modules/ullong_max: Remove.
55241         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
55242         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
55243         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
55244         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
55245         (Depends-on): Add inttypes.
55246         (lib_SOURCES): Add xstrtol.h.
55247         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
55248         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
55249         * MODULES.html.sh: Move 'assert' into the assert section.
55250         Move 'dummy' into the linking section.
55251         Remove ullong_max.
55252         Add section for compatibility checks for POSIX:2001 functions,
55253         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
55254         winsz-ioctl, and winsz-termios into it.
55255         Add lchmod.
55256         Add top-level Misc section and put host-os, perl, and uptime
55257         into it.
55258
55259 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55260
55261         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
55262         now assume the stdint module.  Do not include inttypes.h.
55263         * lib/fsusage.h: Likewise.
55264         * lib/getndelim2.c: Likewise.
55265         * lib/human.h: Likewise.
55266         * lib/inttostr.h: Likewise.
55267         * lib/obstack.c: Likewise.
55268         * lib/regex_internal.h: Likewise.
55269         * lib/tempname.c: Likewise.
55270         * lib/utimecmp.c: Likewise.
55271         * lib/xstrtol.h: Likewise.
55272
55273         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
55274
55275         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
55276         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
55277         * lib/xtime.h: Likewise.
55278
55279 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55280
55281         * modules/openat (Files): Add lib/fchmodat.c.
55282         Fixes problem reported by Jay Youngman.
55283
55284 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55285
55286         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
55287         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
55288
55289 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
55290             Bruno Haible  <bruno@clisp.org>
55291
55292         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
55293         and is a script that invokes bison. Tighten the code. Add comments.
55294
55295 2006-08-18  Jim Meyering  <jim@meyering.net>
55296
55297         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
55298         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
55299         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
55300         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
55301
55302 2006-08-18  Bruno Haible  <bruno@clisp.org>
55303
55304         * modules/bison-i18n: New file.
55305         * MODULES.html.sh (Internationalization functions): Add it.
55306
55307 2006-08-18  Bruno Haible  <bruno@clisp.org>
55308
55309         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
55310         sys/statvfs.h. When getmntinfo was found, check its declaration and
55311         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
55312
55313 2006-08-18  Bruno Haible  <bruno@clisp.org>
55314
55315         * m4/bison-i18n.m4: New file, from bison.
55316
55317 2006-08-18  Bruno Haible  <bruno@clisp.org>
55318
55319         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
55320         (ME_DUMMY): Treat "kernfs" as a dummy.
55321         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
55322
55323 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55324
55325         Update from coreutils.
55326
55327         2006-08-15  Jim Meyering  <jim@meyering.net>
55328
55329         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
55330
55331         2006-01-17  Jim Meyering  <jim@meyering.net>
55332
55333         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
55334
55335         2006-01-11  Jim Meyering  <jim@meyering.net>
55336
55337         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
55338         Check for the lchmod function.
55339
55340 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55341
55342         Update from coreutils.
55343
55344         * lib/__fpending.h: Add copyright notice.
55345         * lib/fprintftime.h: Likewise.
55346         * lib/savedir.c: Use (C) in copyright notice.
55347         * lib/savedir.h: Likewise.
55348
55349         2006-08-15  Jim Meyering  <jim@meyering.net>
55350
55351         * lib/at-func.c: New file, with the logic of all emulated at-functions.
55352         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
55353         in support of the EXPECTED_ERRNO macro.
55354         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
55355         definitions.  Instead, define the appropriate symbols and include
55356         "at-func.c".
55357         * lib/mkdirat.c (mkdirat): Likewise.
55358         * lib/fchmodat.c (fchmodat): Likewise.
55359         (ENOSYS): Remove definition.
55360         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
55361         it.  Don't include "unistd--.h" -- it wasn't ever used.
55362
55363         2006-01-17  Jim Meyering  <jim@meyering.net>
55364
55365         Rewrite fts.c not to change the current working directory,
55366         by using openat, fstatat, fdopendir, etc..
55367
55368         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
55369         (HAVE_OPENAT_SUPPORT): Define.
55370         [_LIBC] (fchdir): Don't undef or define; no longer used.
55371         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
55372         Now, this `function' always succeeds, and consumes its file descriptor
55373         parameter -- so callers must not close such FDs.  Update callers.
55374         (diropen_fd, opendirat, cwd_advance_fd): New functions.
55375         (diropen): Add parameter, SP.  Adjust all callers.
55376         Implement using diropen_fd, rather than open.
55377         (fts_open): Initialize new member, fts_cwd_fd.
55378         Remove fts_rft-setting code.
55379         (fts_close): Close fts_cwd_fd, if necessary.
55380         (__opendir2): Define in terms of opendir or opendirat,
55381         depending on whether the FST_NOCHDIR flag is set.
55382         (fts_build): Since fts_safe_changedir consumes its FD, and since
55383         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
55384         and close the dup'd file descriptor upon failure.
55385         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
55386         (fts_safe_changedir): Tweak semantics to reflect that this function
55387         now calls cwd_advance_fd and hence consumes its FD argument.
55388         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
55389         [struct FTS] (fts_rft): Remove now-unused member.
55390         [struct FTS] (fts_cycle.state): Improve comment.
55391
55392         * lib/openat.c (openat_needs_fchdir): New function.
55393         * lib/openat.h (openat_needs_fchdir): Declare it.
55394
55395 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
55396
55397         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
55398         Problem and fix reported by Pádraig Brady in
55399         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
55400
55401 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55402
55403         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
55404
55405 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55406
55407         * lib/memcoll.c (memcoll): Optimize for the common case where the
55408         arguments are bytewise equal.
55409
55410 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55411
55412         * doc/regexprops-generic.texi: Add a copyright notice.
55413
55414 2006-08-15  Bruno Haible  <bruno@clisp.org>
55415
55416         * modules/tmpdir (License): Change to LGPL.
55417
55418 2006-08-15  Bruno Haible  <bruno@clisp.org>
55419
55420         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
55421         module.
55422
55423 2006-08-14  Simon Josefsson  <jas@extundo.com>
55424
55425         * config/srclist.txt: Add gnupload.
55426
55427 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55428
55429         Change copyright notice from LGPL 2 to GPL 2, since that's the
55430         standard form used in the gnulib repository.
55431         * tests/test-lock.c: Likewise.
55432         * tests/test-stdint.c: Likewise.
55433         * tests/test-tls.c: Likewise.
55434
55435         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
55436         prelude-manager.  User shorter URLs for GNU projects, without '?'.
55437         Add copyright notice.
55438
55439         * check-module: Add copyright notice.  Output a copyright
55440         notice if "--version" is specified.
55441         * modules/COPYING: New file.
55442         * tests/test-getaddrinfo.c: Add copyright notice.
55443         * tests/test-verify.c: Likewise.
55444
55445 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55446
55447         Change copyright notice from LGPL 2 to GPL 2, since that's the
55448         standard form used in the gnulib repository.
55449         * lib/lock.c: LGPL -> GPL.
55450         * lib/lock.h: Likewise.
55451         * lib/strnlen1.c: Likewise.
55452         * lib/strnlen1.h: Likewise.
55453         * lib/tls.c: Likewise.
55454         * lib/tls.h: Likewise.
55455         * lib/tmpdir.c: Likewise.
55456
55457         * lib/TODO: Remove; this belongs only in coreutils.
55458
55459 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55460
55461         Add copyright notices to long-enough files that lack them, since
55462         otherwise the files aren't clearly free.  Use the same notice that
55463         getdate.texi already uses.
55464         * doc/alloca-opt.texi: Add copyright notice.
55465         * doc/alloca.texi: Likewise.
55466         * doc/ctime.texi: Likewise.
55467         * doc/functions.texi: Likewise.
55468         * doc/gcd.texi: Likewise.
55469         * doc/gnulib-tool.texi: Likewise.
55470         * doc/inet_ntoa.texi: Likewise.
55471         * doc/visibility.texi: Likewise.
55472
55473         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
55474         * doc/quote.texi: Add copyright notice.
55475
55476         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
55477         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
55478         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
55479         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
55480         is now obsolete, and give a pointer to the Sun list.
55481         Add copyright notice.
55482
55483 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
55484
55485         * config/srclistvars.sh: Add copyright notice.
55486
55487 2006-08-14  Eric Blake  <ebb9@byu.net>
55488
55489         Import the following change from libc:
55490
55491         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
55492
55493         Upstream bug 2997.
55494         * lib/misc/error.c: Add space between program name and message if file
55495         name is missing.
55496
55497 2006-08-12  Karl Berry  <karl@gnu.org>
55498
55499         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
55500         remove, these originate in gnulib now.
55501
55502 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55503
55504         * doc/Makefile (standards.info standards.html standards.dvi):
55505         Also depend on make-stds.texi.
55506
55507 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
55508
55509         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
55510         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
55511
55512         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
55513         in wchar_t.  Problem reported by Eric Blake.
55514
55515         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
55516         LEN is smaller than SIZE.  Suggested by Bruno Haible.
55517         Also, help the compiler to keep LEN in a register.
55518
55519 2006-08-11  Eric Blake  <ebb9@byu.net>
55520
55521         * users.txt: Sort.  Add tar.
55522
55523 2006-08-11  Bruno Haible  <bruno@clisp.org>
55524
55525         * users.txt: New file.
55526
55527 2006-08-11  Bruno Haible  <bruno@clisp.org>
55528
55529         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
55530         before <wchar.h>. Needed for OSF/1 and BSD/OS.
55531
55532 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
55533
55534         * modules/snprintf (Depends-on): Remove minmax.
55535         (Maintainer): Add self and Bruno.
55536
55537 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
55538
55539         * lib/.cppi-disable: Add snprintf.h, socket_.h.
55540         * lib/snprintf.c: Include <errno.h> and <limits.h>.
55541         (EOVERFLOW): Define if the system does not.
55542         Do not include "minmax.h"; it wasn't used.
55543         (snprintf): Don't assume size_t promotes to an unsigned type.
55544         Fix bug when generated string was too long for the buffer: the
55545         buffer's contents are supposed to be the initial prefix of the
55546         output.  Don't assume vasnprintf returns EOVERFLOW if the size
55547         exceeds INT_MAX; do the check ourselves.
55548
55549         Import the following changes from libc:
55550
55551         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
55552
55553         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
55554         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
55555         set wc to the byte which couldn't be converted.
55556         (re_string_reconstruct): Don't clear valid_raw_len before calling
55557         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
55558         tip_context using re_string_context_at.
55559
55560         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
55561
55562         * lib/posix/regex.h: g++ still cannot handled [restrict].
55563
55564         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
55565
55566         * lib/posix/regex.h: Remove special handling for VMS.
55567
55568 2006-08-10  Jim Meyering  <jim@meyering.net>
55569
55570         * modules/same-inode: New module.
55571         * modules/dev-ino: New module.
55572         * modules/cycle-check: Depend on these modules, rather than simply
55573         including their .h files.
55574         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
55575         required via m4/cycle-check.m4.
55576         * modules/same: Depend on new same-inode module, rather than
55577         including same-inode.h.
55578         * modules/chdir-safer: New file.
55579
55580         * modules/chown (Depends-on): Add stat-macros.
55581
55582 2006-08-10  Jim Meyering  <jim@meyering.net>
55583
55584         * m4/cycle-check.m4: New file.
55585         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
55586         * m4/dev-ino.m4, m4/same-inode.m4: New files.
55587
55588 2006-08-10  Eric Blake  <ebb9@byu.net>
55589
55590         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
55591         in from original proposal.
55592
55593 2006-08-10  Eric Blake  <ebb9@byu.net>
55594         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
55595
55596         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
55597         namespace.
55598
55599 2006-08-10  Bruno Haible  <bruno@clisp.org>
55600
55601         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
55602         as well.
55603
55604 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55605
55606         Sync from coreutils.
55607
55608         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
55609
55610         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
55611         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
55612
55613 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55614
55615         * modules/restrict: Remove; no longer needed now that we assume
55616         Autoconf 2.59 or later.
55617         * MODULES.html.sh: Remove 'restrict'.
55618         * modules/argp (Depends-on): Remove 'restrict'.
55619         * modules/base64 (Depends-on): Likewise.
55620         * modules/gc (Depends-on): Likewise.
55621         * modules/getaddrinfo (Depends-on): Likewise.
55622         * modules/glob (Depends-on): Likewise.
55623         * modules/inet_ntop (Depends-on): Likewise.
55624         * modules/inet_pton (Depends-on): Likewise.
55625         * modules/memxor (Depends-on): Likewise.
55626         * modules/regex (Depends-on): Likewise.
55627         * modules/strtok_r (Depends-on): Likewise.
55628         * modules/time_r (Depends-on): Likewise.
55629
55630 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
55631
55632         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
55633         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
55634         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
55635         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
55636         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
55637         * m4/memxor.m4 (gl_MEMXOR): Likewise.
55638         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
55639         gl_C_RESTRICT replaced by AC_C_RESTRICT.
55640
55641         Merge from coreutils.
55642         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
55643         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
55644         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
55645         * m4/time_r.m4 (gl_TIME_R): Likewise.
55646
55647 2006-08-09  Karl Berry  <karl@gnu.org>
55648
55649         * config/srclist.txt: no more gettext-tools, per Bruno.
55650
55651 2006-08-08  Eric Blake  <ebb9@byu.net>
55652
55653         * modules/verror: New module.
55654         * MODULES.html.sh: Document it.
55655
55656 2006-08-08  Eric Blake  <ebb9@byu.net>
55657
55658         * lib/verror.h, lib/verror.c: New files.
55659
55660 2006-08-08  Eric Blake  <ebb9@byu.net>
55661
55662         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
55663         verror_at_line output complies with GNU Coding Standards even when
55664         file is NULL.
55665
55666 2006-08-07  Bruno Haible  <bruno@clisp.org>
55667
55668         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
55669         versions of AIX.
55670         Reported by Ralf Wildenhues.
55671
55672 2006-08-07  Bruno Haible  <bruno@clisp.org>
55673
55674         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
55675         in an AC_DEFUN. Needed so that the autoconf snippets can use
55676         AC_REQUIRE.
55677
55678 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55679
55680         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55681         Initialize pkgdata_DATA.
55682         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
55683         overriding it.
55684
55685 2006-08-06  Eric Blake  <ebb9@byu.net>
55686
55687         * lib/error.h: Fold in some upstream changes from glibc.
55688         * lib/error.c: Likewise.
55689
55690 2006-08-04  Bruno Haible  <bruno@clisp.org>
55691
55692         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55693         Make the mostlyclean-local rule depend on mostlyclean-generic.
55694         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
55695
55696 2006-07-31  Bruno Haible  <bruno@clisp.org>
55697
55698         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
55699         <stdlib.h>, <string.h>.
55700
55701 2006-07-30  Bruno Haible  <bruno@clisp.org>
55702
55703         * modules/readlink (License): Change to LGPL.
55704
55705 2006-07-30  Bruno Haible  <bruno@clisp.org>
55706
55707         * modules/javaversion (Makefile.am): Distribute javaversion.java and
55708         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
55709         set PKGDATADIR to point to it.
55710
55711 2006-07-30  Bruno Haible  <bruno@clisp.org>
55712
55713         * modules/csharpexec (configure.ac): Comment out macro invocation.
55714         * modules/javaexec (configure.ac): Likewise.
55715         * modules/javacomp-script (configure.ac): Likewise.
55716
55717         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
55718
55719 2006-07-30  Bruno Haible  <bruno@clisp.org>
55720
55721         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
55722         linked-list.
55723
55724 2006-07-30  Bruno Haible  <bruno@clisp.org>
55725
55726         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
55727
55728 2006-07-30  Bruno Haible  <bruno@clisp.org>
55729
55730         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55731         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
55732         get removed.
55733
55734 2006-07-29  Bruno Haible  <bruno@clisp.org>
55735
55736         Make it possible for gnulib-tool to work with locally modified or
55737         augmented gnulib repositories.
55738         * gnulib-tool (func_usage): Document --local-dir option.
55739         (local_gnulib_dir): New variable.
55740         Handle --local-dir option.
55741         (func_lookup_file): New function.
55742         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
55743         (func_get_description, func_get_filelist, func_get_description,
55744         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
55745         func_get_automake_snippet, func_get_include_directive,
55746         func_get_license, func_get_maintainer): Use func_lookup_file.
55747         (func_import, func_create_testdir): Use func_lookup_file.
55748
55749 2006-07-29  Bruno Haible  <bruno@clisp.org>
55750
55751         * modules/setenv (Depends-on): Add unistd.
55752
55753 2006-07-29  Bruno Haible  <bruno@clisp.org>
55754
55755         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
55756
55757 2006-07-29  Bruno Haible  <bruno@clisp.org>
55758
55759         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
55760
55761 2006-07-29  Bruno Haible  <bruno@clisp.org>
55762
55763         * gnulib-tool (import, update): If there is no Makefile.am, look at
55764         aclocal.m4, instead of bailing out.
55765
55766 2006-07-29  Bruno Haible  <bruno@clisp.org>
55767
55768         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
55769         Categorize the options by when they are useful.
55770
55771 2006-07-29  Bruno Haible  <bruno@clisp.org>
55772
55773         * gnulib-tool (func_usage): Document option --no-libtool.
55774         Handle option --no-libtool.
55775         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
55776         for changed semantics of $libtool variable.
55777         (func_import): Likewise. If libtool is not used, show this through
55778         an option --no-libtool.
55779         (func_create_testdir): Update.
55780
55781 2006-07-29  Bruno Haible  <bruno@clisp.org>
55782
55783         * gnulib-tool (func_import): Extend error message about missing
55784         --doc-base.
55785
55786 2006-07-29  Bruno Haible  <bruno@clisp.org>
55787
55788         * gnulib-tool (func_import): Don't create the $docbase directory if
55789         there is no file to store there.
55790
55791 2006-07-29  Bruno Haible  <bruno@clisp.org>
55792
55793         * gnulib-tool (autoconf_minversion): If a --dir option is given and
55794         relevant, look for configure.ac there, not in the current directory.
55795         Also use a simple search for AC_PREREQ, not "autoconf --trace".
55796
55797 2006-07-29  Bruno Haible  <bruno@clisp.org>
55798
55799         * gnulib-tool (SORT): New variable.
55800         (func_usage): Undocument --assume-autoconf option.
55801         Remove --assume-autoconf option handling.
55802         (autoconf_minversion): Determine from the contents of configure.ac.
55803         (func_import): Remove autoconf_minversion handling.
55804         Suggested by Eric Blake.
55805
55806 2006-07-29  Bruno Haible  <bruno@clisp.org>
55807
55808         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
55809
55810 2006-07-29  Bruno Haible  <bruno@clisp.org>
55811
55812         * config/srclist.txt (*setenv.[ch]): Remove rules.
55813
55814 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55815
55816         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
55817
55818 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55819
55820         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
55821         arpa/inet.h.
55822
55823 2006-07-28  Simon Josefsson  <jas@extundo.com>
55824
55825         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
55826         * modules/inet_pton (Depends-on): Likewise.
55827
55828 2006-07-28  Simon Josefsson  <jas@extundo.com>
55829
55830         * m4/netinet_in_h.m4: New file.
55831
55832 2006-07-28  Simon Josefsson  <jas@extundo.com>
55833
55834         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
55835         #include's.
55836
55837 2006-07-28  Simon Josefsson  <jas@extundo.com>
55838
55839         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
55840         #include's.
55841
55842 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
55843
55844         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
55845         setgid on directories only if they set these bits.
55846         * lib/modechange.h: Remove obsolete comment about masks.
55847
55848 2006-07-28  Eric Blake  <ebb9@byu.net>
55849
55850         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
55851         macro expansion.
55852
55853 2006-07-28  Bruno Haible  <bruno@clisp.org>
55854
55855         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
55856
55857 2006-07-28  Bruno Haible  <bruno@clisp.org>
55858
55859         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
55860
55861 2006-07-28  Bruno Haible  <bruno@clisp.org>
55862
55863         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
55864         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
55865         Define fallbacks.
55866         Avoids link error on FreeBSD 4.x.
55867         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55868
55869         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
55870         encoding.
55871         * lib/mbswidth.c (iswcntrl): Likewise.
55872
55873 2006-07-27  Bruno Haible  <bruno@clisp.org>
55874
55875         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
55876         test.
55877
55878 2006-07-27  Bruno Haible  <bruno@clisp.org>
55879
55880         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
55881         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
55882         defined.
55883
55884 2006-07-26  Eric Blake  <ebb9@byu.net>
55885
55886         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
55887
55888 2006-07-26  Eric Blake  <ebb9@byu.net>
55889
55890         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
55891         like mingw that lack mkstemp.
55892         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
55893         avoid compilation warning on mingw.
55894
55895 2006-07-26  Bruno Haible  <bruno@clisp.org>
55896
55897         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
55898         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
55899         INT_FAST*_MIN, INTPTR_MIN.
55900
55901 2006-07-25  Bruno Haible  <bruno@clisp.org>
55902
55903         * modules/version-etc (Depends-on): Add stdarg.
55904
55905 2006-07-25  Bruno Haible  <bruno@clisp.org>
55906
55907         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
55908         complex commands.
55909
55910 2006-07-25  Bruno Haible  <bruno@clisp.org>
55911
55912         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
55913         defined in <stdarg.h> or config.h.
55914
55915 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
55916
55917         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
55918         (gl_STDIO_SAFER): Remove.
55919
55920 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
55921
55922         * MODULES.html.sh (File stream based Input/Output):
55923         Add fopen-safer, tmpfile-safer; remove stdio-safer.
55924         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
55925         * modules/fopen-safer, modules/tmpfile-safer: New files.
55926         * modules/stdio-safer: Remove.
55927
55928 2006-07-24  Bruno Haible  <bruno@clisp.org>
55929
55930         * modules/tmpdir: New file.
55931         * MODULES.html.sh (File system functions): Add it.
55932
55933 2006-07-24  Bruno Haible  <bruno@clisp.org>
55934
55935         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
55936         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
55937
55938 2006-07-24  Bruno Haible  <bruno@clisp.org>
55939
55940         * modules/clean-temp: New file.
55941
55942 2006-07-24  Bruno Haible  <bruno@clisp.org>
55943
55944         * m4/tmpdir.m4: New file, from GNU gettext.
55945
55946 2006-07-24  Bruno Haible  <bruno@clisp.org>
55947
55948         * lib/tmpdir.h: New file, from GNU gettext.
55949         * lib/tmpdir.c: New file, from GNU gettext.
55950
55951 2006-07-24  Bruno Haible  <bruno@clisp.org>
55952
55953         * lib/clean-temp.h: New file, from GNU gettext.
55954         * lib/clean-temp.c: New file, from GNU gettext.
55955
55956 2006-07-23  Eric Blake  <ebb9@byu.net>
55957
55958         * modules/stdio-safer (Files): Add tmpfile-safer.c.
55959         (Depends-on): Add binary-io.
55960
55961 2006-07-23  Eric Blake  <ebb9@byu.net>
55962
55963         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
55964
55965 2006-07-23  Eric Blake  <ebb9@byu.net>
55966
55967         * lib/tmpfile-safer.c: New file.
55968         * lib/stdio-safer.h (fopen_safer): Add prototype.
55969         * lib/stdio--.h (tmpfile): Make safer.
55970
55971 2006-07-23  Bruno Haible  <bruno@clisp.org>
55972
55973         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
55974         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
55975         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
55976         gl_linked_remove_at): Use it.
55977
55978 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55979         and Simon Josefsson <jas@extundo.com>
55980
55981         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
55982
55983         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
55984
55985 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55986
55987         * modules/close-stream: New file.
55988         * modules/closeout (Description): Make it clear that it exits
55989         with a diagnostic on error.
55990         (Depends-on): Add close-stream.  Remove fpending, stdbool.
55991         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
55992
55993 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55994
55995         * m4/close-stream.m4: New file.
55996
55997 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
55998
55999         * lib/close-stream.c, lib/close-stream.h: New files.
56000
56001 2006-07-22  Bruno Haible  <bruno@clisp.org>
56002
56003         Merge from GNU gettext 0.15.
56004
56005         2006-05-01  Bruno Haible  <bruno@clisp.org>
56006
56007                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
56008
56009         2006-07-22  Bruno Haible  <bruno@clisp.org>
56010
56011                 * modules/javaversion: New file.
56012                 * MODULES.html.sh (Java): Add javaversion.
56013
56014         2006-03-12  Bruno Haible  <bruno@clisp.org>
56015
56016                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
56017
56018         2005-12-04  Bruno Haible  <bruno@clisp.org>
56019
56020                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
56021                 (untested).
56022
56023         2006-06-21  Bruno Haible  <bruno@clisp.org>
56024
56025                 Avoid warnings from recent versions of mcs.
56026                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
56027                 -o, -L, -r any more. Use options documented since mcs-1.0
56028                 instead. Similarly for -g.
56029
56030         2005-12-04  Bruno Haible  <bruno@clisp.org>
56031
56032                 * build-aux/csharpcomp.sh.in: Suffix for resources is
56033                 .resources, not .resource.
56034
56035         2005-07-09  Bruno Haible  <bruno@clisp.org>
56036
56037                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
56038                 add a .dll suffix.
56039                 Reported by Mark Junker <mjscod@gmx.de>.
56040
56041         2006-07-22  Bruno Haible  <bruno@clisp.org>
56042
56043                 * modules/gettext: Upgrade to gettext-0.15.
56044                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
56045                 m4/visibility.m4.
56046                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
56047
56048 2006-07-22  Bruno Haible  <bruno@clisp.org>
56049
56050         Merge from GNU gettext 0.15.
56051
56052         2006-03-25  Bruno Haible  <bruno@clisp.org>
56053
56054                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
56055
56056         2006-07-21  Bruno Haible  <bruno@clisp.org>
56057
56058                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
56059                 "1.1".
56060
56061         2006-05-09  Bruno Haible  <bruno@clisp.org>
56062
56063                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
56064                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
56065                 for the conftestver execution.
56066
56067         2006-05-01  Bruno Haible  <bruno@clisp.org>
56068
56069                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
56070                 optional target-version argument. Verify that the compiler
56071                 groks source of the specified source-version, or add -source
56072                 option as necessary. Verify that the compiler produces
56073                 bytecode in the specified target-version, or add -target and
56074                 -source options as necessary. Make the result of the test
56075                 available as variable CONF_JAVAC. Also log error output in
56076                 config.log.
56077
56078         2006-03-11  Bruno Haible  <bruno@clisp.org>
56079
56080                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
56081
56082         2006-05-09  Bruno Haible  <bruno@clisp.org>
56083
56084                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
56085                 CLASSPATH_SEPARATOR to a semicolon.
56086
56087         2006-03-12  Bruno Haible  <bruno@clisp.org>
56088
56089                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
56090                 available as variable CONF_JAVA, for subsequent autoconf
56091                 tests. Also log error output in config.log.
56092
56093         2006-07-19  Bruno Haible  <bruno@clisp.org>
56094
56095                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
56096                 that getline works on glibc2 systems. Needed to avoid trouble
56097                 in relocatable.c.
56098                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
56099
56100         2005-12-04  Bruno Haible  <bruno@clisp.org>
56101
56102                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
56103                 launcher (untested).
56104
56105         2005-12-04  Bruno Haible  <bruno@clisp.org>
56106
56107                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
56108
56109         2006-07-22  Bruno Haible  <bruno@clisp.org>
56110
56111                 * gettext.m4: Update from GNU gettext-0.15.
56112                 * nls.m4: Likewise.
56113                 * po.m4: Likewise.
56114                 * inttypes-pri.m4: Likewise.
56115                 * inttypes-h.m4: Renamed from inttypes.m4.
56116                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
56117
56118 2006-07-22  Bruno Haible  <bruno@clisp.org>
56119
56120         Merge from GNU gettext 0.15.
56121
56122         2005-07-05  Bruno Haible  <bruno@clisp.org>
56123
56124                 * printf-args.c (printf_fetchargs): Work around broken
56125                 definition of wint_t on mingw.
56126
56127         2005-02-12  Bruno Haible  <bruno@clisp.org>
56128
56129                 * xallocsa.h: Add extern "C" for C++.
56130
56131         2006-05-17  Bruno Haible  <bruno@clisp.org>
56132
56133                 Cygwin portability.
56134                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
56135
56136         2006-04-30  Bruno Haible  <bruno@clisp.org>
56137
56138                 * progreloc.c: Include <mach-o/dyld.h> if available.
56139                 (find_executable): Use _NSGetExecutablePath when possible.
56140
56141         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56142
56143                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
56144                 function.
56145
56146         2005-12-29  Bruno Haible  <bruno@clisp.org>
56147
56148                 * progreloc.c (set_program_name_and_installdir): Fix
56149                 compilation error.
56150
56151         2005-12-04  Bruno Haible  <bruno@clisp.org>
56152
56153                 Cygwin portability.
56154                 * progreloc.c: Include <windows.h> also on Cygwin.
56155                 (find_executable): Add support for Cygwin.
56156                 (set_program_name_and_installdir): Handle also platforms with
56157                 nonempty EXEEXT.
56158
56159         2006-07-11  Bruno Haible  <bruno@clisp.org>
56160
56161                 * javacomp.c: Fix a comment.
56162                 Reported by Jim Meyering.
56163
56164         2006-04-30  Bruno Haible  <bruno@clisp.org>
56165
56166                 * javacomp.h (compile_java_class): Add source_version,
56167                 target_version arguments.
56168                 * javacomp.c: Rewritten to choose only a compiler that
56169                 respects the specified source_version and target_version.
56170
56171         2006-06-27  Bruno Haible  <bruno@clisp.org>
56172
56173                 Assume correct S_ISDIR macro.
56174                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
56175
56176         2006-07-22  Bruno Haible  <bruno@clisp.org>
56177
56178                 * javaversion.h: New file, from GNU gettext.
56179                 * javaversion.c: New file, from GNU gettext.
56180                 * javaversion.java: New file, from GNU gettext.
56181                 * javaversion.class: New file, from GNU gettext.
56182
56183         2006-05-17  Bruno Haible  <bruno@clisp.org>
56184
56185                 Cygwin portability.
56186                 * javaexec.c (execute_java_class): Test for jview program
56187                 also on Cygwin.
56188
56189         2006-04-09  Bruno Haible  <bruno@clisp.org>
56190
56191                 * fatal-signal.c: Don't include string.h.
56192                 (at_fatal_signal): Use a copying loop instead of memcpy.
56193
56194         2005-12-04  Bruno Haible  <bruno@clisp.org>
56195
56196                 * csharpexec.c: Add support for 'clix' launcher (untested).
56197                 (execute_csharp_using_sscli): New function.
56198                 (execute_csharp_program): Call it.
56199
56200         2006-06-21  Bruno Haible  <bruno@clisp.org>
56201
56202                 Avoid warnings from recent versions of mcs.
56203                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
56204                 -o, -L, -r any more. Use options documented since mcs-1.0
56205                 instead. Similarly for -g.
56206
56207         2005-07-09  Bruno Haible  <bruno@clisp.org>
56208
56209                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
56210                 add a .dll suffix.
56211                 Reported by Mark Junker <mjscod@gmx.de>.
56212
56213         2006-06-17  Bruno Haible  <bruno@clisp.org>
56214
56215                 * config.charset: Update for NetBSD 3.0.
56216
56217         2006-05-17  Bruno Haible  <bruno@clisp.org>
56218
56219                 Cygwin portability.
56220                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
56221
56222         2006-05-16  Bruno Haible  <bruno@clisp.org>
56223
56224                 * localcharset.c [CYGWIN]: Include <windows.h>.
56225                 (get_charset_aliases): For Cygwin, return the same CPxxx
56226                 aliases list as under WIN32.
56227                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
56228                 the environment variables. Fall back to GetACP().
56229
56230         2006-04-05  Bruno Haible  <bruno@clisp.org>
56231
56232                 * config.charset: Update Juan Manuel Guerrero's address.
56233
56234         2005-02-12  Bruno Haible  <bruno@clisp.org>
56235
56236                 * allocsa.h: Add extern "C" for C++.
56237
56238         2005-02-10  Bruno Haible  <bruno@clisp.org>
56239
56240                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
56241                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
56242
56243         2006-07-22  Bruno Haible  <bruno@clisp.org>
56244
56245                 * gettext.h: Update to GNU gettext-0.15.
56246
56247 2006-07-22  Bruno Haible  <bruno@clisp.org>
56248
56249         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
56250         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
56251         lib-prefix.m4, longdouble.m4, ssize_t.m4.
56252
56253 2006-07-21  Eric Blake  <ebb9@byu.net>
56254
56255         * modules/stdlib-safer: New file.
56256         * MODULES.html.sh (File stream based Input/Output): Add
56257         stdlib-safer.
56258
56259 2006-07-21  Eric Blake  <ebb9@byu.net>
56260
56261         * lib/stdlib-safer.h: New file from coreutils, required by
56262         stdlib--.h.
56263
56264 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
56265
56266         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
56267
56268 2006-07-20  Bruno Haible  <bruno@clisp.org>
56269
56270         * gnulib-tool: Recognize new option --assume-autoconf.
56271         (autoconf_minversion): New variable.
56272         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
56273
56274 2006-07-20  Bruno Haible  <bruno@clisp.org>
56275
56276         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
56277
56278 2006-07-19  Derek R. Price  <derek@ximbiot.com>
56279
56280         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
56281         Reindent and repaginate.
56282
56283 2006-07-19  Derek Price  <derek@ximbiot.com>
56284
56285         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
56286         Correct grammar.
56287
56288 2006-07-17  Bruno Haible  <bruno@clisp.org>
56289
56290         * modules/list: New file.
56291         * modules/array-list: New file.
56292         * modules/carray-list, modules/carray-list-tests: New files.
56293         * modules/linked-list, modules/linked-list-tests: New files.
56294         * modules/avltree-list, modules/avltree-list-tests: New files.
56295         * modules/rbtree-list, modules/rbtree-list-tests: New files.
56296         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
56297         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
56298         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
56299         * modules/oset: New file.
56300         * modules/array-oset: New file.
56301         * modules/avltree-oset, modules/avltree-oset-tests: New files.
56302         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
56303         * tests/test-carray_list.c: New file.
56304         * tests/test-linked_list.c: New file.
56305         * tests/test-avltree_list.c: New file.
56306         * tests/test-rbtree_list.c: New file.
56307         * tests/test-linkedhash_list.c: New file.
56308         * tests/test-avltreehash_list.c: New file.
56309         * tests/test-rbtreehash_list.c: New file.
56310         * tests/test-avltree_oset.c: New file.
56311         * tests/test-rbtree_oset.c: New file.
56312         * MODULES.html.sh (Container data structures): New section.
56313
56314 2006-07-17  Bruno Haible  <bruno@clisp.org>
56315
56316         * m4/gl_list.m4: New file.
56317
56318 2006-07-17  Bruno Haible  <bruno@clisp.org>
56319
56320         * lib/gl_list.h: New file.
56321         * lib/gl_list.c: New file.
56322         * lib/gl_array_list.h: New file.
56323         * lib/gl_array_list.c: New file.
56324         * lib/gl_carray_list.h: New file.
56325         * lib/gl_carray_list.c: New file.
56326         * lib/gl_linked_list.h: New file.
56327         * lib/gl_linked_list.c: New file.
56328         * lib/gl_anylinked_list1.h: New file.
56329         * lib/gl_anylinked_list2.h: New file.
56330         * lib/gl_avltree_list.h: New file.
56331         * lib/gl_avltree_list.c: New file.
56332         * lib/gl_anyavltree_list1.h: New file.
56333         * lib/gl_anyavltree_list2.h: New file.
56334         * lib/gl_rbtree_list.h: New file.
56335         * lib/gl_rbtree_list.c: New file.
56336         * lib/gl_anyrbtree_list1.h: New file.
56337         * lib/gl_anyrbtree_list2.h: New file.
56338         * lib/gl_anytree_list1.h: New file.
56339         * lib/gl_anytree_list2.h: New file.
56340         * lib/gl_linkedhash_list.h: New file.
56341         * lib/gl_linkedhash_list.c: New file.
56342         * lib/gl_anyhash_list1.h: New file.
56343         * lib/gl_anyhash_list2.h: New file.
56344         * lib/gl_avltreehash_list.h: New file.
56345         * lib/gl_avltreehash_list.c: New file.
56346         * lib/gl_rbtreehash_list.h: New file.
56347         * lib/gl_rbtreehash_list.c: New file.
56348         * lib/gl_anytreehash_list1.h: New file.
56349         * lib/gl_anytreehash_list2.h: New file.
56350
56351         * lib/gl_oset.h: New file.
56352         * lib/gl_oset.c: New file.
56353         * lib/gl_array_oset.h: New file.
56354         * lib/gl_array_oset.c: New file.
56355         * lib/gl_avltree_oset.h: New file.
56356         * lib/gl_avltree_oset.c: New file.
56357         * lib/gl_rbtree_oset.h: New file.
56358         * lib/gl_rbtree_oset.c: New file.
56359         * lib/gl_anytree_oset.h: New file.
56360
56361 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
56362
56363         * m4/mkancesdirs.m4: New file.
56364         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
56365         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
56366         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
56367         it.
56368
56369 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
56370
56371         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
56372         * lib/mkancesdirs.h: New files.
56373         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
56374         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
56375         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
56376         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
56377         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
56378         callers changed.  Revamp internals significantly, by not
56379         attempting to create directories that are temporarily more
56380         permissive than the final results.  Do not attempt to use
56381         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
56382         This removes some race conditions, fixes some bugs, and simplifies
56383         things.  Use new dirchownmod function to do owner and mode changes.
56384         * lib/mkdir-p.h: Likewise.
56385         * lib/modechange.c (octal_to_mode): New function.
56386         (struct mode_change): New member mentioned.
56387         (make_node_op_equals): New arg mentioned.  All callers changed.
56388         (mode_compile): Keep track of which mode bits the user has explicitly
56389         mentioned.
56390         (mode_adjust): New arg DIR, so that we implement the X op correctly.
56391         New arg PMODE_BITS, to keep track of which mode bits the user
56392         mentioned; it treats S_ISUID and S_ISGID speciall.
56393         All callers changed.
56394         * lib/modechange.h: Likewise.
56395
56396 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
56397
56398         * MODULES.html.sh: Add mkancestors.
56399         * modules/mkancesdirs: New module.
56400         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
56401         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
56402         The chdir-safer and afs files are now orphans; I'll remove them
56403         unless someone speaks up.
56404         Add lib/dirchownmod.c, lib/dirchownmod.h.
56405         (Depends-on): Remove alloca, chown, save-cwd, dirname.
56406         Add lchown, mkancesdirs.
56407         (Maintainer): Add self.
56408
56409 2006-07-15  Karl Berry  <karl@gnu.org>
56410
56411         * gnulib-tool: help message wording/arrangement.
56412
56413 2006-07-14  Simon Josefsson  <jas@extundo.com>
56414
56415         * doc/gnulib.texi (Libtool and Windows): New section.
56416
56417 2006-07-12  Simon Josefsson  <jas@extundo.com>
56418
56419         * modules/gendocs (License): Fix license, approved by Karl.
56420
56421 2006-07-12  Eric Blake  <ebb9@byu.net>
56422
56423         * MODULES.html.sh: Add gendocs.
56424
56425 2006-07-11  Eric Blake  <ebb9@byu.net>
56426
56427         * modules/fdl: New module, to install doc/fdl.texi.
56428         * MODULES.html.sh: Add new section for documentation modules.
56429         * gnulib-tool: Avoid space-tab.
56430         (--doc-base): New option, to manage files from doc.
56431
56432 2006-07-11  Eric Blake  <ebb9@byu.net>
56433
56434         * m4/absolute-header.m4: Fix comments to match recent change.
56435
56436 2006-07-11  Eric Blake  <ebb9@byu.net>
56437
56438         * gnulib-tool: List --doc-base before --tests-base.
56439
56440 2006-07-11  Derek R. Price  <derek@ximbiot.com>
56441
56442         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
56443
56444 2006-07-11  Bruno Haible  <bruno@clisp.org>
56445
56446         * README: Mention where to put documentation.
56447
56448 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56449
56450         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
56451
56452 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
56453
56454         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
56455         to stdint.m4.
56456
56457 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
56458
56459         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
56460         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
56461         "no/such/file/stdint.h" when there is no such file, so that
56462         the resulting C code can be parsed by dodgy compilers.
56463         Problems reported by Bob Proulx.
56464
56465 2006-07-10  Derek R. Price  <derek@ximbiot.com>
56466
56467         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
56468         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
56469         macros into the GNU _D_EXACT_NAMLEN.
56470         * lib/savedir.c:  Likewise.
56471         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
56472
56473 2006-07-10  Derek R. Price  <derek@ximbiot.com>
56474         and Paul Eggert  <eggert@cs.ucla.edu>
56475
56476         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
56477         * m4/savedir.m4:
56478         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
56479         macros into the GNU _D_EXACT_NAMLEN.
56480
56481 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56482
56483         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
56484         around the absolute name, to work around a problem with the HP-UX
56485         11.23 native C compiler, reported by Bob Proulx.
56486
56487 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56488
56489         * doc/maintain.texi, make-stds.texi: Sync from
56490         <http://savannah.gnu.org/projects/gnustandards>.
56491
56492 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
56493
56494         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
56495
56496 2006-07-09  Jim Meyering  <jim@meyering.net>
56497
56498         * m4/glob.m4: Remove a doubled word in a comment.
56499
56500 2006-07-09  Jim Meyering  <jim@meyering.net>
56501
56502         * lib/argp-pv.c: Remove a doubled word in a comment.
56503         * lib/check-version.c (check_version): Likewise.
56504         * lib/javacomp.c (compile_java_class): Likewise.
56505
56506 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
56507
56508         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
56509         for the benefit of people using Autoconf 2.60.  If you want to
56510         support older Autoconf versions you can copy m4/onceonly_2_57.m4
56511         (or m4/onceonly.m4, if pre-2.57) manually.
56512
56513 2006-07-08  Jim Meyering  <jim@meyering.net>
56514
56515         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
56516         comment.
56517         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
56518         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
56519         comment.
56520
56521 2006-07-08  Jim Meyering  <jim@meyering.net>
56522
56523         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
56524
56525 2006-07-07  Simon Josefsson  <jas@extundo.com>
56526
56527         * tests/test-crc.c: Change expected crc value, the test vector
56528         were probably computed using the old broken crc.c?
56529
56530 2006-07-06  Simon Josefsson  <jas@extundo.com>
56531
56532         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
56533         now the canonical place for the M4 file).
56534
56535         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
56536         from the sys_socket dependency now.
56537
56538         * modules/inet_pton (Files): Ditto.
56539
56540         * modules/inet_ntop (Files): Ditto.
56541
56542 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
56543
56544         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
56545         not gl_PREREQ_GETUSERSHELL.
56546
56547 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56548
56549         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
56550         with only one argument, for Autoconf 2.60.
56551         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
56552         expand to nothing, so add a shell command to avoid syntax error.
56553         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
56554
56555 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56556
56557         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
56558
56559 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
56560
56561         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
56562         no longer needed.  Check for isblank decl.
56563         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
56564         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
56565         of existence.
56566
56567 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
56568
56569         * lib/getloadavg.c: Use __VMS, not VMS.
56570         * lib/getopt.c: Likewise.
56571         * lib/getpagesize.h: Likewise.
56572         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
56573         and probably does not work.
56574
56575 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
56576
56577         * lib/.cppi-disable: Add wcwidth.
56578         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
56579         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
56580         (ISGRAPH): Remove.  All uses changed to isgraph.
56581         (FOLD) [!defined _LIBC]: Remove special case.
56582         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
56583         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
56584         HAVE_ISBLANK.
56585         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
56586         case.
56587
56588 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
56589
56590         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
56591         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
56592         brackets.  Other minor changes to suppress some compiler
56593         warnings.
56594
56595 2006-07-06  Derek R. Price  <derek@ximbiot.com>
56596         and Paul Eggert  <eggert@cs.ucla.edu>
56597
56598         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
56599         of invoking obsolescent AC_HEADER_DIRENT macro.
56600         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
56601         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
56602         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
56603         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
56604         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
56605         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
56606         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
56607         * m4/readdir.m4: Remove; no longer needed.
56608
56609 2006-07-06  Derek R. Price  <derek@ximbiot.com>
56610         and Paul Eggert  <eggert@cs.ucla.edu>
56611
56612         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
56613         Don't worry about this obsolete case any more.
56614         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
56615         directories.
56616         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
56617         worry about this obsolete case any more.
56618         * lib/fts.c: Likewise.
56619         * lib/getcwd.c: Likewise.
56620         * lib/glob.h: Likewise.
56621         * lib/savedir.c: Likewise.
56622
56623 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
56624
56625         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
56626         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
56627         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
56628         needed.
56629         All uses removed.
56630         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
56631         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
56632         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
56633         needed.
56634         * m4/getdate.m4 (gl_GETDATE): Likewise.
56635         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
56636         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
56637         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
56638         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
56639         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
56640         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
56641         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
56642         needed.
56643
56644 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
56645
56646         * lib/memcasecmp.c: Include <limits.h>.
56647         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
56648         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
56649         Don't assume isdigit succeeds only on '0' through '9'.
56650
56651 2006-07-05  Eric Blake  <ebb9@byu.net>
56652
56653         * modules/getaddrinfo (Depends-on): Add snprintf.
56654
56655 2006-07-05  Eric Blake  <ebb9@byu.net>
56656
56657         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
56658         to avoid 'header present but could not be compiled' on cygwin.
56659
56660 2006-07-05  Eric Blake  <ebb9@byu.net>
56661
56662         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
56663         missing from netdb.h.
56664         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
56665
56666 2006-07-05  Derek R. Price  <derek@ximbiot.com>
56667
56668         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
56669         no longer needed.
56670         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
56671         * m4/getdate.m4 (gl_GETDATE): Likewise.
56672         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
56673         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
56674         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
56675         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
56676         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
56677
56678 2006-07-05  Derek R. Price  <derek@ximbiot.com>
56679
56680         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
56681         All uses of is_space replaced by isspace.
56682         * lib/exit.h: Don't talk about STDC_HEADERS.
56683         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
56684         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
56685         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
56686         replaced by isprint etc.
56687         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
56688         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
56689         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
56690         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
56691         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
56692         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
56693
56694 2006-07-05  Bruno Haible  <bruno@clisp.org>
56695
56696         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
56697         the function exists, before testing against AIX.
56698         Reported by Martin Lambers <marlam@marlam.de>.
56699
56700 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
56701
56702         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
56703         From Mark D. Baushke.
56704
56705 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
56706
56707         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
56708         to the absolute name, not just one, to bypass Sun C 5.8's
56709         "warning: #include of /usr/include/... may be non-portable".
56710
56711 2006-07-04  Eric Blake  <ebb9@byu.net>
56712
56713         * modules/dirname-tests: New test module.
56714         * tests/test-dirname.c: New file, replacing dirname.c
56715         TEST_DIRNAME section that was recently deleted.
56716
56717 2006-07-04  Bruno Haible  <bruno@clisp.org>
56718
56719         Assume ANSI C header files and <ctype.h> functions.
56720         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
56721         (mbsnwidth): Use isprint, iscntrl instead.
56722
56723 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56724
56725         Merge from coreutils.
56726         * MODULES.html.sh: Add xstrtold.
56727         * modules/xstrtold: New file.
56728         * modules/cycle-check (Files): Add lib/same-inode.h.
56729         * modules/dirname (Files): Add m4/double-slash-root.m4.
56730         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
56731         * modules/mkdir-p (Files): Add lib/same-inode.h.
56732         * modules/same (Files): Add lib/same-inode.h.
56733
56734 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56735
56736         * m4/absolute-header.m4: Renamed from full-header-path.m4.
56737         This is to keep the terminology clean; POSIX talks about
56738         "absolute pathnames", not "full pathnames", but the GNU
56739         Coding Standards say to use "path" for something else;
56740         so use "absolute" to keep both sides happy.
56741         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
56742         Set gl_absolute_header, not gl_full_header_path.
56743         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
56744         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
56745         All uses changed.
56746
56747         Merge from coreutils.
56748
56749         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
56750
56751         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
56752         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
56753         want to require the building of c-strtod.o.
56754         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
56755         needs -lm directly.
56756         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
56757
56758         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
56759
56760         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
56761         --as-needed option if available.  Problem reported by Albert Chin in
56762         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
56763         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
56764         cc merely issues a bunch of annoying warnings for --as-needed
56765         (this problem was reported by Bob Proulx).  Also, try linking with
56766         -lm to detect a bug in binutils 2.16 (this problem was reported
56767         by Ralf Wildenhues).
56768
56769         2006-06-18  Jim Meyering  <jim@meyering.net>
56770
56771         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
56772         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
56773         macro.
56774         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
56775         also check for glibc-2.4's abort-inducing bug.
56776
56777         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
56778         Low-probability clean-up should be to use rmdir to get rid of
56779         the just-created directory, not unlink.
56780
56781         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
56782         configure fail, and request a bug report to inform us about it.
56783         Add a comment that, barring reports to the contrary, in 2007 we'll
56784         assume ftruncate is universally available.
56785
56786         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
56787
56788         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
56789
56790         2006-03-12  Jim Meyering  <jim@meyering.net>
56791
56792         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
56793         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
56794         * m4/same.m4 (gl_SAME): Likewise.
56795         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
56796
56797         2006-03-11  Eric Blake  <ebb9@byu.net>
56798
56799         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
56800         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
56801         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
56802         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
56803
56804 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56805
56806         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
56807         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
56808         reported by Mark D. Baushke, one in
56809         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
56810
56811         Merge from coreutils.
56812
56813         * lib/.cppi-disable: Add stdint_.h.
56814         * lib/.cvsignore: Add stdint.h.
56815
56816         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
56817
56818         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
56819         both double and long double versions.
56820         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
56821         * lib/xstrtold.c: New file.
56822         * lib/xstrtod.h (xstrtold): New decl.
56823
56824         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56825
56826         * lib/filemode.c (setst): Remove.
56827         (strmode): Rewrite to avoid setst.  This makes the code shorter,
56828         (arguably) clearer, and the generated code is a bit smaller on my
56829         Debian GNU/Linux stable x86 host.
56830
56831         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
56832
56833         * lib/filemode.c: Include "filemode.h" first, to test the interface.
56834         Assume that filemode.h includes sys/types.h and sys/stat.h.
56835         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
56836         (ftypelet): Reorder to put common cases first, for efficiency.
56837         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
56838         to do 'M'.
56839         (strmode): Renamed from mode_string, and now stores 12 bytes instead
56840         of 10, for compatibility with FreeBSD.  All callers changed.
56841         (filemodestring): Now stores 12 bytes instead of 10, and sets file
56842         types that can't be deduced solely from st_mode.  First arg is now a
56843         const pointer.
56844         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
56845         (strmode): Renamed from mode_string.
56846         (filemodestring): New decl.
56847         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
56848         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
56849         needed.
56850         (S_ISPORT, S_ISWHT): New macros, if not already defined.
56851
56852         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56853
56854         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
56855         fsusage.h now does that.  Include fsusage.h first, to test interface.
56856         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
56857         at most one method (the old code could have generated decls that
56858         didn't conform to C89, not that this was ever exercised).
56859         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
56860
56861         2006-03-19  Jim Meyering  <jim@meyering.net>
56862
56863         Work even in a chroot where d_ino values for entries in "/"
56864         don't match the stat.st_ino values for the same names.
56865         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
56866         number, iterate through all entries again, using lstat instead.
56867         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
56868         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
56869
56870         * lib/getcwd.c (__getcwd): Clarify a comment.
56871         Use memcpy in place of a call to strcpy.
56872
56873         2006-03-12  Jim Meyering  <jim@meyering.net>
56874
56875         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
56876         matches that of the current directory (which we're about to chdir ".."
56877         out of), then save the dev-ino of the parent, instead.
56878
56879         * lib/same-inode.h (SAME_INODE): New file/macro.
56880         * lib/chdir-safer.c (SAME_INODE): Remove definition.
56881         Include "same-inode.h", instead.
56882         * lib/same.c: Likewise.
56883         * lib/cycle-check.h: Include "same-inode.h".
56884         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
56885         * lib/cycle-check.c (SAME_INODE): Remove definition.
56886         * lib/root-dev-ino.h: Include "same-inode.h".
56887
56888         2006-03-11  Eric Blake  <ebb9@byu.net>
56889
56890         * lib/same.c (same_name): s/base_name/last_component/
56891         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
56892         * lib/filenamecat.c (file_name_concat): Likewise.
56893
56894         2006-03-11  Eric Blake  <ebb9@byu.net>,
56895                     Paul Eggert  <eggert@cs.ucla.edu>
56896
56897         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
56898         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
56899         drive prefix.
56900         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
56901         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
56902         (last_component): New method.
56903         * lib/dirname.c (dir_len): Determine when drive letters need a
56904         subsequent slash.  Preserve // when it is special.
56905         (dir_name): Don't append dot when drive letter is absolute.
56906         [TEST_DIRNAME]: Move into a full-blown gnulib test.
56907         * lib/basename.c (base_name): New semantics - malloc the result.
56908         Preserve // when it is special.  Preserve relative files that look
56909         like drive letters.
56910         (base_len): Preserve // when it is special.
56911         (last_component): New method, similar to old base_name semantics.
56912         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
56913         base_name.  Strip redundant slashes from ///.
56914
56915 2006-07-03  Jim Meyering  <jim@meyering.net>
56916
56917         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
56918         macro is used before the first cycle_check call.
56919
56920 2006-07-03  Eric Blake  <ebb9@byu.net>
56921
56922         * modules/dirname (Depends-on): Add xstrndup.
56923
56924 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
56925
56926         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
56927         test cases, so that config.log is a bit easier to follow.
56928
56929 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
56930
56931         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
56932         both are 64 bits, since this seems to be the tradition, and this
56933         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
56934         we ever run into a host that prefers long long to long in this
56935         case, we'll need another configure-time test.  Problem reported by
56936         Jim Meyering.
56937
56938 2006-07-02  Eric Blake  <ebb9@byu.net>
56939
56940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
56941
56942 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
56943
56944         * modules/inttypes (Depends-on): No longer depends on stdint.
56945         * modules/stdint (Description): Say more about assumptions.
56946         Say that the fast types might differ.  Say macros are used.
56947         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
56948         (Makefile.am): Revise list of substituted symbols to match
56949         new stdint.m4.
56950         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
56951         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
56952         * tests/test-stdint.c (verify_same_types)
56953         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
56954         the code conforms to C99/C89.
56955         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
56956         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
56957
56958 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
56959
56960         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
56961         but fix a bug, by requiring at least 64 bits.
56962         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
56963         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
56964         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
56965         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
56966
56967         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
56968         changes.  Make 2.59 a prerequisite.  Check and substitute for
56969         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
56970         inttypes.h.  Do not use special include files; just use the
56971         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
56972         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
56973         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
56974         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
56975         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
56976         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
56977         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
56978         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
56979         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
56980         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
56981         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
56982         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
56983         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
56984         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
56985         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
56986         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
56987         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
56988         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
56989         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
56990         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
56991         WINT_MAX.  Check for C99 conformance more strictly, by detecting
56992         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
56993         not check for things that C99 does not require, e.g., int8_t.  If
56994         a test isn't needed unless <stdint.h> isn't working, and is
56995         unlikely to be needed for any other reason, then don't do it
56996         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
56997         size_t, since we assume C89 freestanding at least.  Do not check
56998         for sig_atomic_t, wchar_t, or wint_t, since the code now does
56999         the right thing even if the types are not defined.  Instead use:
57000         (gl_STDINT_TYPE_PROPERTIES): New macro.
57001         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
57002         testing whether <sys/types.h> clashes, as Autoconf does this for
57003         us now.  All uses removed.
57004         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
57005         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
57006         (gl_CHECK_TYPE_SAME):
57007         Remove; no longer needed.
57008         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
57009         exists, since we'll return 0 anyway in that case.
57010         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
57011
57012 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
57013
57014         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
57015         possible collision with system files.
57016         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
57017         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
57018         WCHAR_MIN and WCHAR_MAX in this case.
57019         (<stddef.h>): Do not include; no longer needed.
57020         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
57021         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
57022         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
57023         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
57024         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
57025         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
57026         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
57027         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
57028         !defined(__c99))]: Include in this case too, since it's harmless
57029         now.
57030         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
57031         dangerous to do so.
57032         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
57033         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
57034         (_STDINT_MIN, _STDINT_MAX): New macros.
57035         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
57036         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
57037         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
57038         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
57039         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
57040         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
57041         macros, not typedefs; this simplifies things quite a bit.
57042         Use long int for all types narrower than int64_t.
57043         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
57044         Define in terms of long long int or int64_t or long int,
57045         not int64_t or int32_t.  This saves some compile-time testing.
57046         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
57047         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
57048         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
57049         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
57050         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
57051         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
57052         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
57053         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
57054         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
57055         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
57056         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
57057         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
57058         undef any previous version and define our own version, for
57059         simplicity and consistency with the new macros for types.
57060         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
57061         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
57062         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
57063         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
57064         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
57065         @WINT_T_SUFFIX@ to keep things simple here.
57066         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
57067         Simplify by assuming typical 8/16/32/64 host, since we're
57068         already doing that elsewhere anyway.
57069         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
57070         and assume long long int is 64 bits if available.  This
57071         speeds up 'configure'.
57072
57073 2006-07-01  Eric Blake  <ebb9@byu.net>
57074
57075         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
57076         Reported by Andreas Buening.
57077
57078 2006-07-01  Eric Blake  <ebb9@byu.net>
57079
57080         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
57081
57082 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
57083
57084         * lib/getaddrinfo.c: fixed typo
57085
57086 2006-06-29  Jim Meyering  <jim@meyering.net>
57087
57088         * modules/strftime (Maintainer): Add my name, since with the
57089         FPRINTFTIME changes strftime.c has forked from glibc.
57090
57091 2006-06-29  Eric Blake  <ebb9@byu.net>
57092
57093         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
57094
57095 2006-06-29  Eric Blake  <ebb9@byu.net>
57096
57097         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
57098
57099 2006-06-29  Eric Blake  <ebb9@byu.net>
57100
57101         * lib/stat_.h: New file.
57102
57103 2006-06-29  Eric Blake  <ebb9@byu.net>
57104
57105         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
57106         unused static function.
57107
57108 2006-06-29  Eric Blake  <ebb9@byu.net>
57109
57110         * doc/functions.texi (Function Portability): Document missing lstat
57111         on mingw.
57112
57113 2006-06-29  Eric Blake  <ebb9@byu.net>
57114
57115         * MODULES.html.sh: Add sys_stat.
57116         * modules/sys_stat: New module.
57117         * modules/mkstemp (Depends-on): Add sys_stat.
57118
57119 2006-06-29  Derek R. Price  <derek@ximbiot.com>
57120
57121         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
57122
57123 2006-06-29  Derek R. Price  <derek@ximbiot.com>
57124
57125         * m4/c-bs-a.m4: Removed.
57126
57127 2006-06-29  Derek R. Price  <derek@ximbiot.com>
57128
57129         * lib/strftime.c: Assume strftime() exists.
57130
57131 2006-06-29  Derek Price  <derek@ximbiot.com>
57132
57133         * modules/c-bs-a: Removed - \a is C89.
57134         * MODULES.html.sh: Remove c-bs-a.
57135
57136 2006-06-29  Bruno Haible  <bruno@clisp.org>
57137
57138         * modules/wcwidth (License): Change to LGPL.
57139
57140 2006-06-28  Simon Josefsson  <jas@extundo.com>
57141
57142         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
57143         on _WIN32.
57144
57145         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
57146         getnameinfo.
57147
57148 2006-06-28  Simon Josefsson  <jas@extundo.com>
57149
57150         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
57151
57152 2006-06-28  Simon Josefsson  <jas@extundo.com>
57153
57154         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
57155         functions there.  It will succeed on Windows XP, but on Windows
57156         2000 and (presumably) earlier, it will fail, and use the internal
57157         re-implementation.
57158         (use_win32_p): New function.
57159         (getaddrinfo): Use strtoul on servname, to support numeric ports.
57160         Support AI_NUMERICSERV to disable getservbyname.
57161         (getnameinfo): New function, only supports
57162         NI_NUMERICHOST|NI_NUMERICSERV for now.
57163
57164         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
57165         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
57166         getnameinfo.
57167
57168 2006-06-28  Eric Blake  <ebb9@byu.net>
57169
57170         * modules/wcwidth: New file.
57171         * modules/mbchar (Depends-on): Add wcwidth.
57172         * modules/mbswidth (Depends-on): Add wcwidth.
57173         * MODULES.html.sh: Add wcwidth.
57174
57175 2006-06-28  Eric Blake  <ebb9@byu.net>
57176
57177         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
57178         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
57179
57180 2006-06-28  Eric Blake  <ebb9@byu.net>
57181
57182         * lib/xvasprintf.h: Fix comments.
57183
57184 2006-06-28  Eric Blake  <ebb9@byu.net>
57185
57186         * lib/mbchar.h (wcwidth): Include wcwidth.h.
57187         * lib/mbswidth.c (wcwidth): Move from here...
57188         * lib/wcwidth.h: ...to this new file.
57189
57190 2006-06-28  Derek R. Price  <derek@ximbiot.com>
57191
57192         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
57193
57194         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
57195         it's obsolete.
57196         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
57197
57198 2006-06-28  Derek R. Price  <derek@ximbiot.com>
57199
57200         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
57201         Autoconf 2.60 says this stuff was obsolete.
57202
57203 2006-06-28  Bruno Haible  <bruno@clisp.org>
57204
57205         * modules/wcwidth (Files): Add m4/wchar_t.m4.
57206
57207 2006-06-28  Bruno Haible  <bruno@clisp.org>
57208
57209         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
57210         gt_TYPE_WCHAR_T.
57211
57212 2006-06-28  Bruno Haible  <bruno@clisp.org>
57213
57214         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
57215         declaration for wcwidth.
57216         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
57217
57218 2006-06-28  Bruno Haible  <bruno@clisp.org>
57219
57220         * lib/mkdtemp.c [MINGW]: Include <io.h>.
57221         (mkdir): Define using _mkdir.
57222
57223 2006-06-28  Bruno Haible  <bruno@clisp.org>
57224
57225         * lib/getaddrinfo.h: Fix POSIX URL.
57226         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
57227         _WIN32.
57228         (use_win32_p): Make static.
57229         (getaddrinfo): Reject service name if it is empty or does not consist
57230         solely of decimal digits, or if its value is > 65535.
57231         (getnameinfo): Remove useless casts.
57232
57233 2006-06-27  Simon Josefsson  <jas@extundo.com>
57234
57235         * modules/sys_select: New file, suggested by Bruno Haible, Paul
57236         Eggert and Martin Lambers.
57237
57238 2006-06-27  Simon Josefsson  <jas@extundo.com>
57239
57240         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
57241         Eggert and Martin Lambers.
57242
57243 2006-06-27  Bruno Haible  <bruno@clisp.org>
57244
57245         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
57246         result to 0, not to empty.
57247         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
57248
57249 2006-06-27  Bruno Haible  <bruno@clisp.org>
57250
57251         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
57252
57253 2006-06-26  Simon Josefsson  <jas@extundo.com>
57254
57255         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
57256         present.
57257
57258 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
57259
57260         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
57261         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
57262         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
57263
57264 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
57265
57266         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
57267
57268 2006-06-26  Bruno Haible  <bruno@clisp.org>
57269
57270         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
57271
57272 2006-06-26  Bruno Haible  <bruno@clisp.org>
57273
57274         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
57275
57276 2006-06-26  Bruno Haible  <bruno@clisp.org>
57277
57278         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
57279         SGI C compiler in pre-C99 mode.
57280         Suggested by Mark D. Baushke and Larry Jones.
57281
57282 2006-06-26  Bruno Haible  <bruno@clisp.org>
57283
57284         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
57285         WCHAR_MAX.
57286         Reported by Mark D. Baushke and Larry Jones.
57287
57288 2006-06-26  Bruno Haible  <bruno@clisp.org>
57289
57290         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
57291         in pre-C99 mode.
57292         Suggested by Mark D. Baushke and Larry Jones.
57293
57294 2006-06-23  Simon Josefsson  <jas@extundo.com>
57295             Bruno Haible  <bruno@clisp.org>
57296
57297         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
57298         Emit mostlyclean-local rule.
57299         (func_emit_tests_Makefile_am): Likewise.
57300         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
57301
57302 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
57303
57304         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
57305
57306 2006-06-23  Bruno Haible  <bruno@clisp.org>
57307
57308         * tests/test-stdint.c: Update to match ISO C 99 Technical
57309         Corrigendum 1.
57310
57311 2006-06-23  Bruno Haible  <bruno@clisp.org>
57312
57313         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
57314
57315 2006-06-23  Bruno Haible  <bruno@clisp.org>
57316
57317         * lib/stdint_.h: Treat IRIX like OpenBSD.
57318
57319 2006-06-23  Bruno Haible  <bruno@clisp.org>
57320
57321         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
57322         ISO C 99 Technical Corrigendum 1.
57323
57324 2006-06-22  Simon Josefsson  <jas@extundo.com>
57325
57326         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
57327         MinGW.
57328
57329 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57330
57331         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
57332         needed.  Some compiler complained about some of them.  Problem reported
57333         by Larry Jones in
57334         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
57335
57336 2006-06-21  Simon Josefsson  <jas@extundo.com>
57337
57338         * tests/test-getaddrinfo.c: New file.
57339
57340         * modules/getaddrinfo-tests: New file.
57341
57342         * MODULES.html.sh: Add inet_pton.
57343
57344         * modules/inet_pton: New file.
57345
57346 2006-06-21  Simon Josefsson  <jas@extundo.com>
57347
57348         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
57349         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
57350         of using the (limited) gnulib implementation on Windows XP.
57351
57352         * m4/inet_pton.m4: New file.
57353
57354 2006-06-21  Simon Josefsson  <jas@extundo.com>
57355
57356         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
57357         variable.
57358
57359         * lib/socket_.h: Don't define WINVER.
57360
57361         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
57362         slightly modified to work in gnulib.
57363
57364 2006-06-21  Simon Josefsson  <jas@extundo.com>
57365
57366         * doc/gnulib.texi (Windows sockets): Add.
57367
57368 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
57369
57370         * lib/read-file.c (fread_file): Start with buffer allocation of
57371         0 bytes rather than 1 byte; this simplifies the code.
57372         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
57373         code to free buffer and save/restore errno.
57374         (internal_read_file): Remove unused local.
57375
57376 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
57377
57378         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
57379         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
57380         Problem reported by Denis Excoffier in
57381         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
57382
57383 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57384
57385         * modules/sys_socket, modules/socklen: Include sys/types since
57386         FreeBSD 4.x's sys/socket.h needs it.
57387
57388 2006-06-19  Simon Josefsson  <jas@extundo.com>
57389
57390         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
57391
57392 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
57393
57394         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
57395
57396 2006-06-19  Bruno Haible  <bruno@clisp.org>
57397
57398         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
57399         and FULL_PATH_INTTYPES_H in angle brackets.
57400         Reported by Mark D. Baushke <mdb@gnu.org>.
57401
57402 2006-06-17  Eric Blake  <ebb9@byu.net>
57403
57404         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
57405         errno.
57406
57407 2006-06-17  Bruno Haible  <bruno@clisp.org>
57408
57409         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
57410         <sys/inttypes.h>.
57411
57412 2006-06-17  Bruno Haible  <bruno@clisp.org>
57413
57414         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
57415         whether errno is declared. Assume <errno.h> declares errno.
57416
57417 2006-06-17  Bruno Haible  <bruno@clisp.org>
57418
57419         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
57420
57421 2006-06-17  Bruno Haible  <bruno@clisp.org>
57422
57423         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
57424         problem on Solaris 2.5.1.
57425
57426 2006-06-16  Eric Blake  <ebb9@byu.net>
57427
57428         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
57429         * lib/unicodeio.c [!defined errno]: Likewise.
57430         * lib/strtol.c [!defined errno]: Likewise.
57431         * lib/strtod.c [!defined errno]: Likewise.
57432
57433 2006-06-15  Eric Blake  <ebb9@byu.net>
57434
57435         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
57436
57437 2006-06-15  Eric Blake  <ebb9@byu.net>
57438
57439         * config/srclist.txt (ssize_t.m4): Lose sync.
57440
57441 2006-06-15  Bruno Haible  <bruno@clisp.org>
57442
57443         * modules/stdint (Files): Include m4/full-header-path.m4,
57444         m4/size_max.m4, m4/wchar_t.m4.
57445         (Makefile.am): Many more substitutions.
57446         * modules/stdint-tests: New file.
57447         * tests/test-stdint.c: New file.
57448
57449 2006-06-15  Bruno Haible  <bruno@clisp.org>
57450
57451         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
57452         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
57453         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
57454         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
57455         gl_CHECK_TYPE_SAME): New macros.
57456
57457 2006-06-15  Bruno Haible  <bruno@clisp.org>
57458
57459         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
57460
57461 2006-06-15  Bruno Haible  <bruno@clisp.org>
57462
57463         * lib/stdint_.h: Rewritten to be fully auto-configured.
57464         Fixes bug on HP-UX/IA64.
57465
57466 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
57467
57468         * lib/getdate.y (__attribute__): Don't define if already defined.
57469         Problem reported by Larry Jones.
57470         * lib/utimens.c (__attribute__): Likewise.
57471
57472 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
57473
57474         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
57475         reported by Andreas Schwab.
57476
57477 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57478             Bruno Haible  <bruno@clisp.org>
57479
57480         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
57481         check for the declaration of strnlen and a run test that exposes the
57482         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
57483         rpl_strndup.
57484
57485 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57486             Bruno Haible  <bruno@clisp.org>
57487
57488         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
57489
57490 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57491
57492         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
57493         compile test, for Tru64 4.0D.
57494
57495 2006-05-28  Karl Berry  <karl@gnu.org>
57496
57497         * config/srclist.txt (printf-args.c): lose sync.
57498
57499 2006-05-26  Martin Lambers  <marlam@marlam.de>
57500
57501         * lib/getpass.c: Updates the test for the native W32 API, and adds
57502         missing includes, thus fixing compilation warnings.
57503
57504 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
57505
57506         * lib/exclude.c (exclude_fnmatch): New function.
57507         (excluded_file_name): Call exclude_fnmatch.
57508         * lib/exclude.h (excluded_file_name): New prototype
57509
57510 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
57511
57512         * lib/tempname.c (small_open, large_open): New macros.
57513         (__open, __open64) [!_LIBC]: Remove.
57514         (__gen_tempname): Use small_open and large_open instead of __open
57515         and __open64.  This fixes a portability bug on HP-UX 11.11i
57516         reported by Simon Wing-Tang in
57517         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
57518
57519 2006-05-24  Bruno Haible  <bruno@clisp.org>
57520
57521         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
57522         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
57523         Reported by Thorsten Maerz <torte@netztorte.de> via
57524         Aaron Stone <aaron@serendipity.cx>.
57525
57526 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
57527
57528         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
57529         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
57530         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
57531         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
57532         not really conditional on the cache.
57533         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
57534
57535 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
57536
57537         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
57538         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
57539         (my_usleep): Don't mishandle maximum value.
57540
57541 2006-05-19  Jim Meyering  <jim@meyering.net>
57542
57543         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
57544
57545 2006-05-17  Bruno Haible  <bruno@clisp.org>
57546
57547         Cygwin portability.
57548         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
57549
57550 2006-05-17  Bruno Haible  <bruno@clisp.org>
57551
57552         * lib/stdint_.h: Fix recognition of Cygwin.
57553
57554 2006-05-15  Bruno Haible  <bruno@clisp.org>
57555
57556         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
57557         on libtool patch by Ralf Wildenhues.
57558
57559 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
57560
57561         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
57562         test for C99 conformance; (bool) 0.5 is an integer constant
57563         expression, but (bool) -0.5 is not.  Problem reported by Fedor
57564         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
57565
57566 2006-05-11  Simon Josefsson  <jas@extundo.com>
57567
57568         * m4/xvasprintf.m4: Fix obvious typo.
57569
57570 2006-05-11  Jim Meyering  <jim@meyering.net>
57571
57572         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
57573         James Lemley.
57574
57575 2006-05-10  Simon Josefsson  <jas@extundo.com>
57576
57577         * lib/md4.c: Typo fix, update copyright years.
57578         (K1, K2): Don't use L because it turn computations into 64-bit on
57579         64-bit platforms.
57580
57581 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
57582
57583         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
57584         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
57585         unwanted sign propagation, e.g., on hosts with 64-bit int.
57586         There still are some problems with reeelly weird theoretical hosts
57587         (e.g., 33-bit int) but it's not worth worrying about now.
57588         * lib/sha1.c (rol): Likewise.
57589         (K1, K2, K3, K4): Remove unnecessary L suffix.
57590
57591 2006-05-10  Bruno Haible  <bruno@clisp.org>
57592
57593         * lib/des.c: Cast to avoid warnings.
57594
57595 2006-05-09  Bruno Haible  <bruno@clisp.org>
57596
57597         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
57598         (Depends-on): Depend also on xsize, stdarg.
57599         (configure.ac): Add gl_XVASPRINTF.
57600
57601 2006-05-09  Bruno Haible  <bruno@clisp.org>
57602
57603         * m4/xvasprintf.m4: New file.
57604
57605 2006-05-09  Bruno Haible  <bruno@clisp.org>
57606
57607         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
57608         (EOVERFLOW): Define fallback value.
57609         (xstrcat): New function.
57610         (xvasprintf): Recognize the special case of a string concatenation.
57611
57612 2006-05-08  Eric Blake  <ebb9@byu.net>
57613
57614         * gnulib-tool (func_version): Base copyright year on CVS date.
57615         (func_emit_copyright_notice): New function.
57616         (func_emit_lib_Makefile_am): Use it.
57617         (func_emit_tests_Makefile_am): Likewise.
57618         (func_import): Likewise.
57619
57620 2006-05-08  Bruno Haible  <bruno@clisp.org>
57621
57622         * modules/stdarg: New file.
57623         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
57624
57625 2006-05-08  Bruno Haible  <bruno@clisp.org>
57626
57627         * m4/stdarg.m4: New file, from GNU gettext.
57628
57629 2006-05-08  Bruno Haible  <bruno@clisp.org>
57630
57631         * config/srclist.txt (build-aux/config.rpath): different from latest
57632         release.
57633
57634 2006-05-08  Bruno Haible  <bruno@clisp.org>
57635
57636         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
57637
57638 2006-05-05  Jim Meyering  <jim@meyering.net>
57639
57640         * m4/warning.m4: New file, derived from bison's file by the same name.
57641
57642 2006-05-03  Bruno Haible  <bruno@clisp.org>
57643
57644         * lib/stdint_.h: Shorter URL.
57645         * lib/inttypes.h: Likewise.
57646
57647 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57648
57649         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
57650
57651 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57652
57653         * lib/verify.h: Document the internals better.  Most of this change
57654         was written by Bruno Haible.
57655
57656 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
57657
57658         * doc/verify.texi: New file, partly based on a proposal by
57659         Bruno Haible.
57660
57661 2006-05-02  Bruno Haible  <bruno@clisp.org>
57662
57663         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
57664         test from here...
57665         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
57666
57667 2006-04-29  Bruno Haible  <bruno@clisp.org>
57668
57669         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
57670         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
57671
57672 2006-04-29  Bruno Haible  <bruno@clisp.org>
57673
57674         * gnulib-tool: Make --update option actually work.
57675
57676 2006-04-29  Bruno Haible  <bruno@clisp.org>
57677
57678         * doc/gcd.texi: New file.
57679         * doc/gnulib.texi: Include it.
57680
57681 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
57682
57683         * lib/getdate.y (get_date): When adding relative date, start with the
57684         initial time, not with the result of the first mktime call.
57685
57686 2006-04-25  Bruno Haible  <bruno@clisp.org>
57687
57688         * gnulib-tool (func_import): Output the include directives in three
57689         blocks, sorted separately.
57690         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57691
57692 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57693
57694         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
57695         to define main with arguments, for C++.  Reported by Eric Blake.
57696         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
57697         Prefer 'int main ()' to 'int main (void)', for C++.
57698         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
57699         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
57700         for 'main', for C99 and C++.
57701
57702 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
57703
57704         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
57705         Don't assume that exit status -1 is valid.
57706         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57707         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57708         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
57709         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
57710         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
57711         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
57712         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
57713         functions can be used without declaring them, or that you can
57714         exit with status -1.
57715         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
57716
57717 2006-04-24  Karl Berry  <karl@gnu.org>
57718
57719         * config/srclist.txt (longdouble.m4): sync lost.
57720
57721 2006-04-24  Eric Blake  <ebb9@byu.net>
57722
57723         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
57724
57725 2006-04-24  Bruno Haible  <bruno@clisp.org>
57726
57727         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
57728         poll() implementation in AIX.
57729         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57730
57731 2006-04-24  Bruno Haible  <bruno@clisp.org>
57732
57733         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
57734         assigned exactly once.
57735
57736 2006-04-23  Claudio Fontana  <claudio@gnu.org>
57737             Bruno Haible  <bruno@clisp.org>
57738
57739         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
57740         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
57741         for AM_CPPFLAGS.
57742
57743 2006-04-23  Bruno Haible  <bruno@clisp.org>
57744
57745         * modules/copy-file: Depend on unistd.
57746         * modules/execute: Likewise.
57747         * modules/fatal-signal: Likewise.
57748         * modules/findprog: Likewise.
57749         * modules/mkdtemp : Likewise.
57750         * modules/pipe: Likewise.
57751         * modules/wait-process: Likewise.
57752
57753 2006-04-23  Bruno Haible  <bruno@clisp.org>
57754
57755         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
57756         condition was already detected.
57757         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57758
57759 2006-04-23  Bruno Haible  <bruno@clisp.org>
57760
57761         * lib/copy-file.c: Include <unistd.h> unconditionally.
57762         * lib/execute.c: Likewise.
57763         * lib/fatal-signal.c: Likewise.
57764         * lib/findprog.c: Likewise.
57765         * lib/mkdtemp.c: Likewise.
57766         * lib/pipe.h: Likewise.
57767         * lib/pipe.c: Likewise.
57768         * lib/wait-process.h: Likewise.
57769
57770 2006-04-23  Bruno Haible  <bruno@clisp.org>
57771
57772         * gnulib-tool (func_usage): Fix --import description. Document
57773         --update.
57774         (func_import): Create temporary file in a temporary directory, if
57775         --dry-run is specified. Silence errors from 'grep' when there are no
57776         m4 files in $m4dir.
57777         (func_create_testdir): Silence errors from 'grep' when there are no
57778         m4 files in $m4dir.
57779         Reported by Karl Berry <karl@freefriends.org>.
57780
57781 2006-04-20  Bruno Haible  <bruno@clisp.org>
57782
57783         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
57784         one argument, so that the code will be portable to Autoconf 2.60.
57785         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
57786         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
57787         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
57788
57789 2006-04-19  Derek Price  <derek@ximbiot.com>
57790             Eric Blake  <ebb9@byu.net>
57791
57792         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
57793         rather than "/full/path.h".  Update comment to match.  Shorten &
57794         generalize m4_translit call via AS_TR_CPP.
57795
57796 2006-04-19  Derek Price  <derek@ximbiot.com>
57797             Eric Blake  <ebb9@byu.net>
57798
57799         * lib/inttypes.h: Correct grammar in comment.
57800
57801 2006-04-18  Derek Price  <derek@ximbiot.com>
57802             Paul Eggert  <eggert@cs.ucla.edu>
57803
57804         * modules/inttypes: New file.
57805         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
57806
57807 2006-04-18  Derek Price  <derek@ximbiot.com>
57808             Paul Eggert  <eggert@cs.ucla.edu>
57809
57810         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
57811         New files.
57812
57813 2006-04-18  Derek Price  <derek@ximbiot.com>
57814             Paul Eggert  <eggert@cs.ucla.edu>
57815
57816         * lib/inttypes.h: New file.
57817         * lib/strtoimax.c: Assume <inttypes.h>.
57818
57819 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
57820
57821         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
57822         isn't mounted.  Problem reported by Kir Kolyshkin.
57823
57824 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
57825
57826         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
57827         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
57828         Derek R. Price.
57829         * lib/regex.h (RE_DUP_MAX): Update comment to match current
57830         implementation.
57831
57832 2006-04-12  Eric Blake  <ebb9@byu.net>
57833
57834         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
57835         is now done automatically by the corresponding Autoconf macro.
57836
57837 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
57838
57839         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
57840         time_r.h.
57841
57842 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
57843
57844         Merge regex changes from libc, removing some of our
57845         POSIX-conformance changes that were rejected and redoing them in a
57846         less-intrusive way.
57847
57848         * lib/regcomp.c (re_compile_internal, init_dfa):
57849         Length arg is now size_t, not Idx.  All uses changed.
57850         (peek_token): Forward decl now says internal_function.
57851         (__re_error_msgid, __re_error_msgid_idx):
57852         Now static rather than extern with attribute_hidden.
57853         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
57854         For some reason libc prefers K&R style defns for external functions.
57855         (regerror) [!defined _LIBC]: Likewise.
57856         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
57857         (seek_collating_symbol_entry, lookup_collation_sequence_value):
57858         (build_range_exp, build_collating_symbol):
57859         Use K&R-style defn.
57860         (re_compile_fastmap): Use '\0' to memset, not 0.
57861         (utf8_sb_map): Make the calculations more obvious.
57862         (init_dfa, parse_bracket_exp, build_charclass_op):
57863         Call calloc and cast result, as glibc does.
57864         (init_word_char, fetch_token, peek_token, peek_token_bracket):
57865         (build_range_exp, build_collating_symbol):
57866         Now internal functions.
57867
57868         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
57869
57870         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
57871         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
57872         Don't depend on VMS; depend on __VMS instead, for POSIX
57873         namespace cleanness.
57874         (regoff_t): Define to ssize_t, not long int.
57875
57876         Remove the REG_ macros named below.  Instead, make the old names
57877         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
57878         __USE_GNU_REGEX.
57879         (REG_BACKSLASH_ESCAPE_IN_LISTS):
57880         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
57881         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
57882         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
57883         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
57884         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
57885         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
57886         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
57887         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
57888         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
57889         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
57890         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
57891         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
57892         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
57893         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
57894         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
57895         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
57896         (REG_NREGS):
57897         Remove.  All uses replaced by the old RE_* names.
57898         (RE_BACKSLASH_ESCAPE_IN_LISTS):
57899         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
57900         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
57901         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
57902         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
57903         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
57904         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
57905         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
57906         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
57907         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
57908         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
57909         Don't bother having these macros be independent of each others'
57910         values, since they no longer exist in the POSIX name space.
57911
57912         Rename the following member names back to their old names,
57913         unless !__USE_GNU_REGEX.  All uses changed back.
57914         (buffer): Renamed from re_buffer.
57915         (allocated): Renamed from re_allocated.
57916         (used): Renamed from re_used.
57917         (syntax): Renamed from re_syntax.
57918         (fastmap): Renamed from re_fastmap.
57919         (translate): Renamed from re_translate.
57920         (can_be_null): Renamed from re_can_be_null.
57921         (regs_allocated): Renamed from re_regs_allocated.
57922         (fastmap_accurate): Renamed from re_fastmap_accurate.
57923         (no_sub): Renamed from re_no_sub.
57924         (not_bol): Renamed from re_not_bol.
57925         (not_eol): Renamed from re_not_eol.
57926         (newline_anchor): Renamed from re_newline_anchor.
57927         (num_regs): Renamed from rm_num_regs.
57928         (start): Renamed from rm_start.
57929         (end): Renamed from rm_end.
57930
57931         (free_state): Move up a bit.
57932
57933         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
57934         #define to be empty.
57935         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
57936         when that is what is intended.
57937         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
57938         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
57939         (MAX): New macro.
57940         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
57941         All uses changed back to re_malloc, etc.  It's now the caller's
57942         responsibility to check for overflow; all callers changed.
57943         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
57944         (re_x2nrealloc): Remove.
57945         (free_state): Remove decl.
57946
57947         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
57948         (re_set_registers, re_exec):
57949         Use K&R-style defn.
57950
57951         2006-01-31  Roland McGrath  <roland@redhat.com>
57952
57953         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
57954         Reported by Mike Frysinger <vapier@gentoo.org>.
57955
57956         2006-01-15  Andreas Jaeger  <aj@suse.de>
57957
57958         [BZ #1950]
57959         * lib/regex_internal.c (re_string_reconstruct): Adjust for
57960         build_wcs_upper_buffer change.
57961         (build_wcs_upper_buffer): Change return type.
57962
57963         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
57964
57965         * lib/regex_internal.h: Include <stdint.h> if available.
57966
57967         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
57968
57969         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
57970
57971         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
57972
57973         * lib/regcomp.c: Adjust for changed secondary hash function.
57974
57975         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
57976
57977         * lib/regex.h: Pretty printing.
57978         Clean up namespace a bit.
57979
57980         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
57981
57982         * lib/regexec.c (update_cur_sifted_state, check_arrival,
57983         check_arrival_add_next_nodes): Avoid using uninitialized variable.
57984
57985         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
57986                     Ulrich Drepper  <drepper@redhat.com>
57987
57988         [BZ #1302]
57989         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
57990         changed.
57991         (bitset_word_t): Renamed from bitset_word.  All uses changed.
57992
57993         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
57994
57995         [BZ #281]
57996         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
57997         * lib/regcomp.c: Remove unnecessary uses of
57998         unsigned RE_TRANSLATE_TYPE.
57999         * lib/regex_internal.h: Likewise.
58000         * lib/regex_internal.c: Likewise.
58001         * lib/regexec.c: Likewise.
58002         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
58003
58004         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
58005
58006         * lib/regexec.c (find_recover_state): Remove unnecessary
58007         initialization.
58008         (transit_state_bkref): Make DFA a const pointer.
58009         (get_subexp): Likewise.
58010         (check_arrival): Likewise.
58011         (update_cur_sifted_state): Likewise.
58012         (re_search_internal): Likewise.
58013         (prune_impossible_nodes): Likewise.
58014         (acquire_init_state_context): Likewise.
58015         (proceed_next_node): Likewise.
58016         (set_regs): Likewise.
58017         (free_fail_stack_return): Likewise.
58018         (check_arrival_expand_ecl): Mark DFA parameter as const.
58019         (check_arrival_expand_ecl_sub): Likewise.
58020         (check_subexp_limits): Likewise.
58021         (sub_epsilon_src_nodes):  Likewise.
58022         (add_epsilon_src_nodes):  Likewise.
58023         (merge_state_array): Likewise.
58024         (update_regs): Likewise.
58025         (build_trtable): Likewise.
58026         (sift_states_backward): Mark MCTX parameter as const.
58027         (build_sifted_states): Likewise.
58028         (update_cur_sifted_state): Likewise.
58029         (sift_states_mkref): Likewise.
58030         (check_arrival_expand_ecl): Mark eclosure as const.
58031         (check_dst_limits_calc_pos_1): Likewise.
58032         * lib/regex_internal.h (re_match_context_t): Make dfa a const
58033         pointer.
58034
58035         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
58036
58037         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
58038         (transit_state_sb): Likewise.
58039         (transit_state_mb): Likewise.
58040         (sift_states_iter_mb): Likewise.
58041         (check_arrival_add_next_nodes): Likewise.
58042         (check_node_accept_bytes): Change first parameter to pointer-to-const.
58043         [_LIBC] (re_search_2_stub): Use mempcpy.
58044
58045         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
58046         mbrtowc for very simple UTF-8 case.
58047
58048         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
58049         a pointer-to-const.
58050         (re_acquire_state_context): Likewise.
58051         * lib/regex_internal.h: Adjust prototypes.
58052
58053         * lib/regex.c: Prevent using C++ compilers.
58054
58055         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
58056         (re_acquire_state_context): Likewise.
58057
58058 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58059
58060         * modules/regex (Depends-on): Add ssize_t.
58061
58062 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58063
58064         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
58065         translation table.
58066
58067 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
58068
58069         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
58070
58071 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
58072             Bruno Haible  <bruno@clisp.org>
58073
58074         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
58075         <sys/types.h> and <inttypes.h>.
58076
58077 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58078
58079         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
58080         `__error_t_defined', so argp.h will not typedef the former.
58081
58082 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
58083
58084         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
58085         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
58086         glibc names.  Even if glibc is changed to conform to POSIX, the
58087         traditional names will be available anyway, since regex depends on
58088         the extensions module.  Also, fix a longstanding typo in the
58089         implementation of Spencer ERE test #75 from grep 2.3.  Problems
58090         reported by Emanuele Giaquinta.  Also, change sense of cached
58091         variable, so that the message makes sense.
58092
58093 2006-03-24  Simon Josefsson  <jas@extundo.com>
58094
58095         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
58096         including some doc fixes.
58097         (base64_encode_alloc): Fix +1 bug on allocation failures.
58098
58099 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58100
58101         * lib/base64.c (base64_encode): Do not read past end of array with
58102         unsanitized input on systems with CHAR_BIT > 8.
58103
58104 2006-03-24  Eric Blake  <ebb9@byu.net>
58105
58106         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
58107
58108 2006-03-22  Karl Berry  <karl@gnu.org>
58109
58110         * config/srclist.txt (*setenv.[ch]): get from coreutils.
58111         * config/srclistvars.sh (COREUTILS): new var.
58112
58113 2006-03-17  Jim Meyering  <jim@meyering.net>
58114
58115         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
58116         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
58117
58118 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
58119
58120         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
58121         no longer needs it.  Instead, check that regoff_t is as least
58122         as wide as ptrdiff_t.
58123
58124         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
58125         so that our regex.h stays compatible with the installed regex.
58126         This is helpful for installers who configure --without-included-regex.
58127         Problem reported by Emanuele Giaquinta.
58128
58129 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
58130
58131         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
58132         Typedef to long int, not to off_, as POSIX will likely change
58133         in that direction.
58134
58135 2006-03-15  Eric Blake  <ebb9@byu.net>
58136
58137         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
58138
58139 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
58140
58141         * lib/argp-help.c (validate_uparams): Fix typo
58142         * lib/argp-parse.c (argp_default_options): Consistently begin help
58143         messages with a lowercase letter.
58144
58145 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
58146
58147         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
58148         overrun buffers and shouldn't be used (much as gets shouldn't be
58149         used).
58150         * lib/time_r.c (asctime_r, ctime_r): Likewise.
58151
58152 2006-03-08  Simon Josefsson  <jas@extundo.com>
58153
58154         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
58155         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58156
58157 2006-03-08  Simon Josefsson  <jas@extundo.com>
58158
58159         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
58160         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58161
58162 2006-03-08  Simon Josefsson  <jas@extundo.com>
58163
58164         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
58165         signal that configure disabled the device.
58166
58167 2006-03-08  Simon Josefsson  <jas@extundo.com>
58168
58169         * build-aux/maint.mk: Fix refresh-po, to handle no translated
58170         languages.
58171
58172 2006-03-07  Simon Josefsson  <jas@extundo.com>
58173
58174         * modules/getopt (Depends-on): Add unistd.
58175
58176         * modules/unistd: New file.
58177
58178 2006-03-07  Simon Josefsson  <jas@extundo.com>
58179
58180         * modules/gc-random: New file.
58181
58182 2006-03-07  Simon Josefsson  <jas@extundo.com>
58183
58184         * m4/unistd_h.m4: New file.
58185
58186 2006-03-07  Simon Josefsson  <jas@extundo.com>
58187
58188         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
58189         test to be side-effect free by storing the result in the cache
58190         variable gl_cv_lib_readline, and moving the assignment of
58191         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
58192         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58193
58194 2006-03-07  Simon Josefsson  <jas@extundo.com>
58195
58196         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
58197         error on missing devices (the functions will return an error).
58198
58199         * m4/gc.m4: Move random stuff to gc-random.m4
58200
58201 2006-03-07  Simon Josefsson  <jas@extundo.com>
58202
58203         * lib/unistd_.h: New file.
58204
58205 2006-03-07  Simon Josefsson  <jas@extundo.com>
58206
58207         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
58208
58209 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58210
58211         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
58212         Problem reported by Juan Manuel Guerrero.
58213
58214 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58215
58216         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
58217         the unistd module.
58218         * lib/getlogin_r.c: Likewise.
58219         * lib/getlogin_r.h: Likewise.
58220         * lib/glob.c: Likewise.
58221         * lib/pagealign_alloc.c: Likewise.
58222         * lib/unistd_.h: Remove; no longer needed.
58223
58224 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58225
58226         * MODULES.html.sh (Support for systems lacking POSIX:2001):
58227         Add unistd.
58228         * modules/c-stack (Depends-on): Add unistd.
58229         * modules/getlogin_r: Likewise.
58230         * modules/glob: Likewise.
58231         * modules/pagealign_alloc: Likewise.
58232         * modules/unistd (Files): Remove lib/unistd_.h.
58233         (EXTRA_DIST): Remove.
58234         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
58235         need unistd_.h.
58236         (MOSTLYCLEANFILES): Remove unistd.h-t.
58237
58238 2006-03-03  Simon Josefsson  <jas@extundo.com>
58239
58240         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
58241
58242 2006-03-03  Simon Josefsson  <jas@extundo.com>
58243
58244         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
58245         libidn and bison.
58246
58247 2006-03-03  Simon Josefsson  <jas@extundo.com>
58248
58249         * build-aux/maint.mk: Add indent target.
58250
58251 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
58252
58253         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
58254         our replacement poll.h in any case, to avoid a differing
58255         declaration from a system header.  Seen on AIX.
58256
58257 2006-03-01  Simon Josefsson  <jas@extundo.com>
58258
58259         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
58260         <kasal@ucw.cz>.
58261
58262 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58263
58264         * modules/gettime (Depends-on): Add extensions module.
58265         * modules/nanosleep (Depends-on): Likewise.
58266         * modules/settime (Depends-on): Likewise.
58267
58268 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58269
58270         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
58271         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
58272         pedantically.
58273         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
58274         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
58275
58276         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
58277         not "==".  Reported by Ralf Wildenhues.
58278
58279 2006-03-01  Karl Berry  <karl@gnu.org>
58280
58281         * doc/Copyright/request-*: new files, synced from gnuorg.
58282
58283 2006-03-01  Karl Berry  <karl@gnu.org>
58284
58285         * config/srclist.txt (Copyright/*): new entries.
58286
58287 2006-02-28  Simon Josefsson  <jas@extundo.com>
58288
58289         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
58290
58291 2006-02-27  Simon Josefsson  <jas@extundo.com>
58292
58293         * lib/base64.h: Indent #define's.  From Jim Meyering
58294         <jim@meyering.net>.
58295
58296 2006-02-27  Jim Meyering  <jim@meyering.net>
58297
58298         Revert the change of 2006-02-24, so these files can continue
58299         to be sync'd from gettext.
58300         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
58301         of `config.h'.
58302
58303 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
58304
58305         * modules/intprops: New file.
58306         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
58307         Add intprops.
58308         * modules/getloadavg (Files): Remove lib/intprops.h.
58309         (Depends-on): Add intprops.
58310         * modules/human: Likewise.
58311         * modules/inttostr: Likewise.
58312         * modules/openat: Likewise.
58313         * modules/sig2str: Likewise.
58314         * modules/userspec: Likewise.
58315         * modules/utimecmp: Likewise.
58316         * modules/xnanosleep: Likewise.
58317         * modules/xstrtol: Likewise.
58318
58319 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
58320
58321         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
58322         * modules/lock-tests (TESTS): Use $(EXEEXT).
58323         * modules/tls-tests: Likewise.
58324         * modules/argp-tests: Likewise.
58325         (check_PROGRAMS): New var, replacing...
58326         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
58327
58328 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58329
58330         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
58331         `config.h'.
58332
58333 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58334
58335         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
58336
58337 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58338
58339         Sync from coreutils.
58340         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
58341         gl_CHDIR_SAFER.
58342
58343 2006-02-22  Jim Meyering  <jim@meyering.net>
58344
58345         Sync from coreutils.
58346         * m4/chdir-safer.m4: New file.
58347
58348 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
58349
58350         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
58351         AT_FDCWD exceeds INT_MAX.
58352         * lib/openat.h (AT_FDCWD): Likewise.
58353
58354 2006-02-17  Eric Blake  <address@hidden>
58355
58356         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
58357
58358 2006-02-16  Simon Josefsson  <jas@extundo.com>
58359
58360         * modules/getaddrinfo (Depends-on): Add sys_socket.
58361
58362 2006-02-15  Simon Josefsson  <jas@extundo.com>
58363
58364         * build-aux/maint.mk: Add dsyntax-check rule.
58365
58366 2006-02-15  Eric Blake  <ebb9@byu.net>
58367
58368         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
58369         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
58370         'present but cannot compile' warnings on cygwin.
58371         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
58372         use ws2tcpip.h if sys/socket.h works.
58373         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
58374         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
58375
58376 2006-02-14  Simon Josefsson  <jas@extundo.com>
58377
58378         * modules/maintainer-makefile (Files): Rename.
58379
58380         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
58381         and (the local) Makefile.cfg to maint-cfg.mk.
58382
58383         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
58384         to the latter.
58385
58386         * modules/maintainer-makefile: New module.
58387
58388         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
58389         severaly stripped to make it possible to build it up from scratch
58390         with reliable tests.
58391
58392         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
58393         fixes to permit overriding the default actions when configure and
58394         makefile are not available.
58395
58396 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
58397
58398         Sync from coreutils.
58399         * modules/lstat (Depends-on): Don't depend on xalloc.
58400         (License): Change from GPL to LGPL, since this is now simply a
58401         replacement for a libc function.
58402
58403 2006-02-14  Jim Meyering  <jim@meyering.net>
58404
58405         Sync from coreutils.
58406
58407         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
58408         failure on deficient systems, and simplify gnulib lgpl dependencies.
58409         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
58410         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
58411
58412         * lib/xalloc-die.c: Remove unused definition of N_.
58413
58414 2006-02-14  Jim Meyering  <jim@meyering.net>
58415
58416         Sync from coreutils.
58417         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
58418         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
58419         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
58420         double-quote uses of that variable, to accommodate the rare case in
58421         which getmntent is available in none of the libraries checked.  This
58422         happens at least on FreeBSD 5.0.
58423
58424 2006-02-13  Simon Josefsson  <jas@extundo.com>
58425
58426         * gnulib-tool (Usage): Fix --import, from
58427         karl@freefriends.org (Karl Berry).
58428
58429 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
58430
58431         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
58432
58433 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
58434
58435         * lib/argp-namefrob.h: Restore changes accidentally lost during the
58436         "autoupdate" on 2005-12-12.
58437
58438 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
58439
58440         * modules/closeout (Depends-on): Remove atexit.
58441
58442 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
58443
58444         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
58445         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
58446
58447 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
58448
58449         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
58450         __EXTENSIONS__ if this causes compilation to fail.  Problem
58451         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
58452         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
58453
58454 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
58455
58456         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
58457         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
58458         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
58459         All uses changed.
58460
58461 2006-01-26  Simon Josefsson  <jas@extundo.com>
58462
58463         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
58464         prototype is visible on mingw32.
58465
58466         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
58467         for mingw32.
58468
58469         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
58470         mingw32).
58471
58472 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
58473
58474         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
58475         attempt to open for write; this always fails, at least on POSIX
58476         hosts.  This reinstates the 2006-01-09 change, which was
58477         inadvertently removed.
58478
58479 2006-01-26  Bruno Haible  <bruno@clisp.org>
58480
58481         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
58482         Reported by Paul Eggert.
58483
58484 2006-01-26  Bruno Haible  <bruno@clisp.org>
58485             Paul Eggert  <eggert@cs.ucla.edu>
58486
58487         * lib/stdbool_.h (_Bool)
58488         [(! (defined __cplusplus || defined __BEOS__)
58489           && !defined __GNUC__
58490           && !(defined __HP_cc || defined __xlc__
58491                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
58492                || defined __sgi))]:
58493         #define to signed char in these cases too; this simplifies
58494         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
58495         etc., separately) and makes it more conservative.
58496
58497 2006-01-25  Simon Josefsson  <jas@extundo.com>
58498
58499         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
58500         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
58501         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
58502
58503 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
58504
58505         * lib/argp-namefrob.h: Bugfix. Remove stray #
58506
58507 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58508
58509         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
58510         so that we test the test.
58511         Check for yet another HP-UX cc bug involving *bool |= bool.
58512
58513 2006-01-25  Karl Berry  <karl@gnu.org>
58514
58515         * config/srclist.txt (vasnprintf.c): sync lost.
58516
58517 2006-01-25  Jim Meyering  <jim@meyering.net>
58518
58519         Sync from the stable (b5) branch of coreutils:
58520
58521         * lib/fts.c (fts_children): Don't let close() clobber errno from
58522         failed fchdir().
58523
58524         * lib/fts.c (fts_stat): When following a symlink-to-directory,
58525         don't necessarily interpret stat-fails+lstat-succeeds as indicating
58526         a dangling symlink.  That can also happen at least for ELOOP.
58527         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
58528         FYI, this bug predates the inclusion of fts.c in coreutils.
58529
58530         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
58531         in their own block, so pre-c99 compilers don't object.
58532
58533         Avoid the double-free (first in fts_read, second in fts_close) that
58534         would occur when an `active' directory is made inaccessible (e.g.,
58535         via chmod a-x) during a traversal.
58536         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
58537         before returning.  Reproduce this failure by
58538         mkdir -p a/b; cd a; chmod a-x . b
58539         Reported by Stavros Passas.
58540
58541 2006-01-25  Jim Meyering  <jim@meyering.net>
58542
58543         * lib/fileblocks.c: Remove more useless parentheses.
58544         * lib/readutmp.h: Likewise.
58545
58546 2006-01-25  Bruno Haible  <bruno@clisp.org>
58547
58548         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
58549         warnings.
58550         Reported by Paul Eggert.
58551
58552 2006-01-25  Bruno Haible  <bruno@clisp.org>
58553
58554         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
58555         rid of a trap command. For Solaris sh.
58556         Reported by Mark D. Baushke <mdb@gnu.org>.
58557
58558 2006-01-24  Simon Josefsson  <jas@extundo.com>
58559
58560         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
58561         Bruno.
58562
58563 2006-01-24  Karl Berry  <karl@gnu.org>
58564
58565         * config/srclist.txt (argp-namefrob.h): sync lost.
58566
58567 2006-01-24  Jim Meyering  <jim@meyering.net>
58568
58569         * modules/openat (Files): Add lib/intprops.h.
58570         From Mark D. Baushke.
58571
58572 2006-01-24  Jim Meyering  <jim@meyering.net>
58573
58574         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
58575         Reported by Mark D. Baushke.
58576
58577 2006-01-24  Jim Meyering  <jim@meyering.net>
58578
58579         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
58580
58581 2006-01-24  Bruno Haible  <bruno@clisp.org>
58582
58583         * modules/strnlen (Maintainer): Change from glibc to all.
58584
58585 2006-01-24  Bruno Haible  <bruno@clisp.org>
58586
58587         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
58588         Patch by Paul Eggert.
58589
58590 2006-01-24  Bruno Haible  <bruno@clisp.org>
58591
58592         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
58593         already has it.
58594         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
58595         2005-11-26.
58596
58597         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
58598         'signed char' to avoid problems with the built-in _Bool type.
58599         Reported by Paul Eggert on 2005-11-26.
58600
58601 2006-01-24  Bruno Haible  <bruno@clisp.org>
58602
58603         * gnulib-tool (func_import): Avoid constructing complicated sed
58604         expressions inside backquote.
58605         Report and solution by Mark D. Baushke <mdb@gnu.org>.
58606
58607 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
58608
58609         These changes imported from libc.
58610         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
58611         test and two separate function calls.
58612         * lib/strndup.c (__strndup): Add libc_hidden_def.
58613
58614 2006-01-23  Simon Josefsson  <jas@extundo.com>
58615
58616         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
58617         Remove the test_*_SOURCES variable: automake infers it by default.
58618         * modules/tls-tests: Likewise.
58619
58620 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58621
58622         Work around porting bugs reported by Dieter in
58623         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
58624         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
58625         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
58626         Include "getopt.h" first, to check interface.
58627         (getenv): Declare only if defined HAVE_DECL_GETENV &&
58628         !HAVE_DECL_GETENV.
58629         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
58630         (__strndup): Revert to K&R-style function dfns, the glibc style.
58631         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
58632         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
58633         Include strnlen.h first, to get prototype properly.
58634         (strnlen): Renamed from __strnlen.
58635         Remove weak alias.
58636
58637 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58638
58639         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
58640
58641 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58642
58643         * config/srclist.txt: Adjust to reflect glibc reorganization.
58644         This affects only comments.
58645
58646 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58647
58648          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
58649          Reported by Bruce Korb <bkorb@gnu.org>.
58650
58651 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
58652
58653         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
58654         to pacify gcc -Wswitch-default.
58655
58656 2006-01-22  Bruno Haible  <bruno@clisp.org>
58657
58658         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
58659         temporary buffer for sprintf, take into account the precision also
58660         for 'd', 'i', 'u', 'o', 'x', 'X'.
58661
58662 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
58663
58664         * modules/argp-tests: New module
58665         * tests/test-argp.c: New file
58666         * tests/test-argp-2.sh: New file
58667
58668 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
58669
58670         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
58671         (__argp_base_name): Removed
58672         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
58673         typo.
58674         (__argp_base_name): Provide macro definition or extern declaration
58675         depending on the configuration
58676
58677 2006-01-20  Simon Josefsson  <jas@extundo.com>
58678
58679         * modules/inet_ntop (Depends-on): Depend on sys_socket.
58680
58681 2006-01-20  Simon Josefsson  <jas@extundo.com>
58682
58683         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
58684
58685 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
58686
58687         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
58688         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
58689         Suggested by Bruno Haible.
58690
58691 2006-01-20  Karl Berry  <karl@gnu.org>
58692
58693         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
58694         until changes propagate, I guess.
58695
58696 2006-01-19  Simon Josefsson  <jas@extundo.com>
58697
58698         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
58699
58700 2006-01-19  Simon Josefsson  <jas@extundo.com>
58701
58702         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
58703
58704 2006-01-19  Simon Josefsson  <jas@extundo.com>
58705
58706         * gnulib-tool: Set check_PROGRAMS.
58707
58708         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
58709         modules/des-tests, modules/gc-arcfour-tests,
58710         modules/gc-arctwo-tests, modules/gc-des-tests,
58711         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
58712         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
58713         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
58714         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
58715         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
58716         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
58717         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
58718         test_*_SOURCES.
58719
58720 2006-01-18  Simon Josefsson  <jas@extundo.com>
58721
58722         * modules/socklen (Depends-on): Depend on sys_socket.
58723
58724 2006-01-18  Simon Josefsson  <jas@extundo.com>
58725
58726         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
58727         modules/des-tests, modules/gc-arcfour-tests,
58728         modules/gc-arctwo-tests, modules/gc-des-tests,
58729         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
58730         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
58731         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
58732         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
58733         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
58734         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
58735         $(EXEEXT) to automake TESTS variable, for mingw32.
58736
58737 2006-01-17  Simon Josefsson  <jas@extundo.com>
58738
58739         * modules/socklen (Include): Need sys/socket.h.
58740
58741 2006-01-17  Bruno Haible  <bruno@clisp.org>
58742
58743         * modules/ssize_t (Include): Add <sys/types.h>.
58744
58745 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
58746
58747         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
58748         it's not portable and it doesn't work with cross-compiles.
58749         Problem reported by Bruno Haible.  Fix missing-$ typo in
58750         'test "gl_cv_ignore_unused_libraries" ...' that prevented
58751         -zignore from being used with Sun's C compiler.
58752
58753 2006-01-12  Simon Josefsson  <jas@extundo.com>
58754
58755         * lib/base64.c: Fix warning, reported by Bruno Haible
58756         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
58757
58758 2006-01-12  Bruno Haible  <bruno@clisp.org>
58759
58760         * modules/ldd: New file.
58761         * build-aux/ldd.sh.in: New file.
58762         * MODULES.html.sh (Support for building libraries and executables): Add
58763         ldd.
58764
58765 2006-01-12  Bruno Haible  <bruno@clisp.org>
58766
58767         * m4/ldd.m4: New file.
58768
58769 2006-01-12  Bruno Haible  <bruno@clisp.org>
58770
58771         * gnulib-tool (func_import, func_create_testdir): Don't go into an
58772         endless loop while replacing $auxdir with build-aux.
58773
58774 2006-01-11  Simon Josefsson  <jas@extundo.com>
58775
58776         * lib/stdint_.h (SIZE_MAX): Add missing (.
58777
58778 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
58779
58780         Sync from coreutils.
58781         * lib/md5.c: Fix commentary typos.
58782         (alignof, UNALIGNED_P): No need for a GCC-specific version.
58783         * lib/md5.h (__attribute__): Remove; unused.
58784         * lib/sha1.c: Fix commentary to match md5 better.
58785         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
58786         so that we don't need to worry about alignment.  All uses changed.
58787         This merges the 2005-10-28 md5 change into sha1.
58788
58789 2006-01-11  Jim Meyering  <jim@meyering.net>
58790
58791         Sync from coreutils.
58792         * lib/md5.c (OP): Fix spacing.
58793
58794 2006-01-11  Bruno Haible  <bruno@clisp.org>
58795
58796         Ensure automatic ordering between gl_LOCK and gl_ARGP.
58797         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
58798         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
58799
58800 2006-01-11  Bruno Haible  <bruno@clisp.org>
58801
58802         Ensure automatic ordering between gl_LOCK and gl_ARGP.
58803         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
58804         the "early" section as well.
58805
58806 2006-01-11  Bruno Haible  <bruno@clisp.org>
58807
58808         Avoid "ar: no archive members specified" error on MacOS X.
58809         * gnulib-tool (func_modules_add_dummy): New function.
58810         (func_import, func_create_testdir): Invoke it.
58811
58812 2006-01-11  Bruno Haible  <bruno@clisp.org>
58813
58814         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
58815         with $auxdir in AC_CONFIG_FILES statements.
58816
58817 2006-01-11  Bruno Haible  <bruno@clisp.org>
58818
58819         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58820         Initialize also noinst_HEADERS to empty.
58821
58822 2006-01-11  Bruno Haible  <bruno@clisp.org>
58823
58824         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
58825         variables.
58826         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
58827         autoreconf.
58828
58829 2006-01-11  Bruno Haible  <bruno@clisp.org>
58830
58831         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
58832         overridable by the user.
58833         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58834
58835 2006-01-10  Simon Josefsson  <jas@extundo.com>
58836
58837         * modules/sys_socket: New file.
58838
58839 2006-01-10  Simon Josefsson  <jas@extundo.com>
58840
58841         * m4/sys_socket_h.m4: New file.
58842
58843 2006-01-10  Simon Josefsson  <jas@extundo.com>
58844
58845         * lib/socket_.h: New file.
58846
58847 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58848
58849         * modules/readutmp (Maintainer): Add myself.
58850
58851 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58852
58853         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
58854         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
58855         People who are still concerned with buggy memcmp implementations
58856         can invoke gl_FUNC_MEMCMP themselves.
58857
58858 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58859
58860         * lib/regex_internal.h (BITSET_WORD_BITS):
58861         Work around a bug in 64-bit PGC (before version 6.1-2), where the
58862         preprocessor mishandles large unsigned values as if they were signed.
58863         Problem reported by Claudio Fontana in
58864         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
58865
58866 2006-01-10  Jim Meyering  <jim@meyering.net>
58867
58868         Avoid the double-free (first in fts_read, second in fts_close) that
58869         would occur when an `active' directory is made inaccessible (e.g.,
58870         via chmod a-x) during a traversal.
58871         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
58872         before returning.  Reproduce this failure by
58873         mkdir -p a/b; cd a; chmod a-x . b
58874         Reported by Stavros Passas.
58875
58876         Sync from coreutils.
58877         * lib/sha1.c: Tweak grammar in a comment.
58878
58879 2006-01-10  Jim Meyering  <jim@meyering.net>
58880
58881         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
58882         Patch by Joerg Sonnenberger.
58883
58884 2006-01-10  Bruno Haible  <bruno@clisp.org>
58885
58886         * modules/readutmp: Depend on module free.
58887         * modules/strtok_r: Depend on module restrict.
58888
58889 2006-01-10  Bruno Haible  <bruno@clisp.org>
58890
58891         * modules/gettext (configure.ac): Add an invocation of
58892         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
58893
58894 2006-01-10  Bruno Haible  <bruno@clisp.org>
58895
58896         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
58897         Reported by Werner Lemberg <wl@gnu.org>.
58898
58899 2006-01-10  Bruno Haible  <bruno@clisp.org>
58900
58901         * lib/localcharset.c: Update from GNU gettext.
58902
58903 2006-01-10  Bruno Haible  <bruno@clisp.org>
58904
58905         * lib/argp.h (__const): Remove macro. Use const instead.
58906         * lib/argp-fmtstream.h (__const): Likewise.
58907         * lib/glob_.h (__const): Remove macro.
58908         * lib/glob-libc.h: Use const instead of __const.
58909
58910 2006-01-10  Bruno Haible  <bruno@clisp.org>
58911
58912         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
58913         variable.
58914         Needed to avoid an automake error regarding the 'gettext' module.
58915
58916 2006-01-09  Simon Josefsson  <jas@extundo.com>
58917
58918         * modules/inet_ntop (Depends-on): Add restrict.
58919
58920 2006-01-09  Simon Josefsson  <jas@extundo.com>
58921
58922         * modules/gc-rijndael-tests (License): Put under LGPL.
58923
58924         * modules/gc-des-tests (License): Likewise.
58925
58926         * modules/gc-arcfour-tests (License): Likewise.
58927
58928         * modules/gc-arctwo-tests (License): Likewise.
58929
58930         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
58931
58932         * modules/gc-hmac-sha1-tests (Files): Likewise.
58933
58934         * modules/gc-hmac-md5-tests (License): Likewise.
58935
58936         * modules/gc-sha1-tests (License): Likewise.
58937
58938         * modules/gc-md5-tests (License): Likewise.
58939
58940         * modules/gc-md4-tests (License): Likewise.
58941
58942         * modules/gc-md2-tests (License): Likewise.
58943
58944         * modules/gc-tests (License): Likewise.
58945
58946         * modules/des-tests (License): Likewise.
58947
58948         * modules/md4-tests (License): Likewise.
58949
58950         * modules/md2-tests (License): Likewise.
58951
58952 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58953
58954         Sync from coreutils:
58955
58956         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
58957         * modules/lib-ignore: New file.
58958         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
58959         chdir-safer.m4, lchmod.m4.
58960         * modules/openat: Add mkdirat.c, openat-priv.h.
58961
58962 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58963
58964         Sync from coreutils.
58965         * m4/lib-ignore.m4: New file.
58966         * m4/lchmod.m4: New file.
58967
58968 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
58969
58970         Sync from coreutils.
58971         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
58972         for write access: POSIX says that must fail.
58973         * lib/fts.c (diropen): Likewise.
58974         * lib/save-cwd.c (save_cwd): Likewise.
58975         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
58976         well, for minor improvements on hosts that lack O_DIRECTORY.
58977         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
58978         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
58979         Fall back on chown if open failed with EACCES.
58980
58981         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
58982         Report an error at compile-time if only a 1-second nominal clock
58983         resolution is found.
58984
58985         * lib/lchmod.h: New file.
58986         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
58987         (make_dir_parents): Use lchown rather than chown, and
58988         lchmod rather than chmod.
58989
58990         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
58991         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
58992         "proc" reported by n0dalus.
58993
58994         * lib/mountlist.c: Include <limits.h>.
58995         (dev_from_mount_options)
58996         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
58997         New function.  It no longer assumes "dev=" has the System V meaning
58998         on Linux (since it doesn't).  It also parses "dev=" more carefully.
58999         (read_file_system_list)
59000         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
59001         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
59002         dev= in that case.
59003
59004         * lib/posixtm.h (PDS_PRE_2000): New macro.
59005         * lib/posixtm.c (year): Arg is now syntax_bits rather than
59006         allow_century.  All usages changed.  Reject dates outside the range
59007         1969-1999 if PDS_PRE_2000 is used.
59008
59009 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59010
59011         Sync from coreutils.
59012         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
59013         (Time of day items): Mention the possibility of leap seconds.
59014         Problem reported by Dr. David Alan Gilbert.
59015
59016 2006-01-09  Jim Meyering  <jim@meyering.net>
59017
59018         Sync from coreutils.
59019
59020         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
59021
59022         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
59023
59024         * lib/modechange.c (mode_compile): Reject an invalid mode string
59025         that starts with an octal digit.  From Andreas Gruenbacher.
59026
59027         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
59028         and dup to open_safer and dup_safer, respectively.
59029         (openat_permissive): Fix typo in comment.
59030
59031         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
59032         "gettext.h"; either no longer needed or are guaranteed by openat.h.
59033         (_): Remove; no longer needed.
59034         (openat): Renamed from rpl_openat; no need for rpl_openat
59035         since openat.h renames openat for us.
59036         Replace most of the body with a call to openat_permissive,
59037         to avoid duplicate code.
59038         Port to (probably hypothetical) environments were mode_t is
59039         wider than int.
59040         (openat_permissive): Require mode arg, so that we can check
59041         types better.  Put it just after flags.  Change cwd failure
59042         indicator from pointer-to-bool to pointer-to-errno-value.
59043         All callers changed.
59044         Invoke openat_save_fail and/or openat_restore_fail if
59045         cwd_errno is null, so that openat can call us.
59046         (openat_permissive, fdopendir, fstatat, unlinkat):
59047         Simplify errno handling to avoid some duplicate code,
59048         as it's OK to set errno on success.
59049         * lib/openat.h: Revamp code so that function macros depend on
59050         __OPENAT_PREFIX only, not also on AT_FDCWD.
59051         (openat_ro): Remove.  Caller changed to use openat_permissive.
59052         (openat_permissive): Now a macro, if not a function.
59053         (openat_restore_fail, openat_save_fail): Now always functions,
59054         since mkdirat needs them even if __OPENAT_PREFIX is defined.
59055
59056         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
59057         and openat.c.
59058         * lib/mkdirat.c: Include openat-priv.h.
59059         Remove definitions of macros defined therein.
59060         * lib/openat.c: Likewise.
59061
59062         * lib/mkdirat.c (mkdirat): New file and function.
59063         * lib/openat.h (mkdirat): Declare.
59064
59065         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
59066
59067         * lib/openat.h (openat_permissive): Declare.
59068         (openat_ro): Define.
59069
59070         * lib/openat.c (EXPECTED_ERRNO): New macro.
59071         (openat_permissive): New function -- used in remove.c rewrite.
59072         (all functions): Set errno just before returning, only if there
59073         was an actual failure.
59074         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
59075
59076         Emulate openat-family functions using Linux's procfs, if possible.
59077         Idea and some code based on Ulrich Drepper's glibc changes.
59078
59079         * lib/openat.c: (BUILD_PROC_NAME): New macro.
59080         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
59081         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
59082         before falling back on save_cwd and restore_cwd.
59083         (fdopendir, fstatat, unlinkat): Likewise.
59084
59085         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
59086         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
59087
59088         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
59089         as second argument to va_arg.  Otherwise, some versions of gcc
59090         warn that `if this code is reached, the program will abort'.
59091
59092 2006-01-09  Jim Meyering  <jim@meyering.net>
59093
59094         Sync from coreutils.
59095         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
59096         Require openat-priv.h.
59097
59098 2006-01-09  Bruno Haible  <bruno@clisp.org>
59099
59100         * modules/strnlen (Include): Use strnlen.h.
59101
59102 2006-01-09  Bruno Haible  <bruno@clisp.org>
59103
59104         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
59105
59106 2006-01-09  Bruno Haible  <bruno@clisp.org>
59107
59108         * lib/sysexit_.h (EX_OK): New macro.
59109         Suggested by Martin Lambers <marlam@marlam.de>.
59110
59111 2006-01-09  Bruno Haible  <bruno@clisp.org>
59112
59113         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
59114         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
59115
59116 2006-01-09  Bruno Haible  <bruno@clisp.org>
59117
59118         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
59119         numbers.
59120
59121 2006-01-09  Bruno Haible  <bruno@clisp.org>
59122
59123         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
59124         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
59125         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
59126         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
59127
59128 2006-01-09  Bruno Haible  <bruno@clisp.org>
59129
59130         * build-aux/javacomp.sh.in: New file, moved from lib/.
59131         * modules/javacomp-script (Files): Update.
59132         (configure.ac): Add AC_CONFIG_FILES invocation.
59133         (EXTRA_DIST): Remove variable.
59134
59135         * build-aux/javaexec.sh.in: New file, moved from lib/.
59136         * modules/javaexec (Files): Update.
59137         (configure.ac): Add AC_CONFIG_FILES invocation.
59138         (EXTRA_DIST): Remove javaexec.sh.in.
59139
59140         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
59141         * modules/csharpcomp-script (Files): Update.
59142         (configure.ac): Add AC_CONFIG_FILES invocation.
59143         (EXTRA_DIST): Remove variable.
59144
59145         * build-aux/csharpexec.sh.in: New file, moved from lib/.
59146         * modules/csharpexec (Files): Update.
59147         (configure.ac): Add AC_CONFIG_FILES invocation.
59148         (EXTRA_DIST): Remove csharpexec.sh.in.
59149
59150 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
59151
59152         Sync from coreutils.
59153
59154         Add POSIX ACL support
59155         * lib/acl.h (copy_acl, set_acl): Add declarations.
59156         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
59157         systems other than Linux.
59158         (chmod_or_fchmod): New function: use fchmod when possible,
59159         and chmod otherwise.
59160         (file_has_acl): Add a POSIX ACL implementation, with a
59161         Linux-specific subcase.
59162         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
59163         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
59164         acls are unsupported.
59165         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
59166         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
59167         are unsupported.
59168
59169 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
59170
59171         Sync from coreutils.
59172         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
59173
59174 2006-01-07  Bruno Haible  <bruno@clisp.org>
59175
59176         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
59177         gl_EARLY.
59178
59179 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59180
59181         * lib/strftime.c (tzname): Don't declare if it is already #defined.
59182         Problem reported for Mingw by Mark Junker.
59183
59184 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59185
59186         * README: Gnulib normally doesn't generate a tarball.
59187
59188 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
59189
59190         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
59191         long int, not int, for nanosecond counts, so that people who are
59192         used to POSIX struct timespec won't be surprised.  Reported by Jim
59193         Meyering.
59194
59195 2005-12-28  Bruno Haible  <bruno@clisp.org>
59196
59197         * build-aux/config.rpath: Update from GNU gettext.
59198
59199 2005-12-16  Jim Meyering  <jim@meyering.net>
59200
59201         * modules/fprintftime: New module.
59202         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
59203
59204 2005-12-16  Jim Meyering  <jim@meyering.net>
59205
59206         * m4/fprintftime.m4: New file.
59207
59208 2005-12-16  Jim Meyering  <jim@meyering.net>
59209
59210         * lib/fprintftime.c, lib/fprintftime.h: New files.
59211
59212 2005-12-15  Simon Josefsson  <jas@extundo.com>
59213
59214         * modules/socklen (configure.ac): Fix M4 macro name, to align with
59215         new m4/socklen.m4.
59216
59217 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59218
59219         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
59220         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
59221
59222 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59223
59224         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
59225         * lib/argp-help.c (fill_in_uparams): Check if the constructed
59226         struct uparams is valid. Fall back to the default values if it is
59227         not.
59228
59229 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59230
59231         * modules/argp (Files): Add argp-pin.c
59232         (Depends-on): dirname
59233         (lib_SOURCES): Add argp-pin.c
59234
59235 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59236
59237         * m4/argp.m4:  Check if program_invocation_name and
59238         program_invocation_short_name are declared and define appropriate
59239         macros if they are not.
59240
59241 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
59242
59243         * lib/argp-help.c (__argp_base_name): New function
59244         (__argp_short_program_name): Rewrite using __argp_base_name
59245         * lib/argp-namefrob.h: Define program_invocation_name and
59246         program_invocation_short_name if requested
59247         (__argp_base_name): Add prototype
59248         * lib/argp-parse.c (argp_def): Use gettext wrappers
59249         (argp_default_parser): Use __argp_base_name
59250         * lib/argp-pin.c: New file. Defines program_invocation_name and
59251         program_invocation_short_name on systems that lack them.
59252
59253 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
59254
59255         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
59256         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
59257         porting problem reported by Georg Schwarz in
59258         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
59259
59260 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
59261
59262         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
59263         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
59264         porting problem reported by Georg Schwarz in
59265         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
59266
59267 2005-12-05  Bruno Haible  <bruno@clisp.org>
59268
59269         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
59270         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
59271         Reported by Mark Junker <mjscod@gmx.de>.
59272
59273 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
59274
59275         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
59276         Use implementation from Albert Chin, with some
59277         comments/corrections by Stepan Kasal and myself.
59278
59279 2005-12-02  Bruno Haible  <bruno@clisp.org>
59280
59281         * gnulib-tool (func_import): Accept GPLed build tool modules when
59282         --lgpl is given.
59283         * modules/csharpcomp-script: New file.
59284         * modules/csharpcomp: Depend on it.
59285         * modules/javacomp-script: New file.
59286         * modules/javacomp: Depend on it.
59287         Suggested by Simon Josefsson.
59288
59289 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
59290
59291         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
59292         statement, to work around an HP-UX 10.20 compiler bug reported by
59293         Peter O'Gorman.
59294
59295 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
59296
59297         * modules/savedir (Depends-on): Add openat.
59298
59299 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
59300
59301         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
59302         (uintmax_t) [defined uintmax_t]: Do not declare.
59303         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
59304         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
59305         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
59306         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
59307         sake of portability to weird hosts that C allows (though we don't
59308         know of any practical examples).
59309
59310         * lib/savedir.h (fdsavedir): New decl.
59311         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
59312         contains most of the former guts of savedir.
59313         (savedir): Use savedirstream.
59314         Include "openat.h".
59315
59316 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59317
59318         * modules/obstack (Files): Add m4/ulonglong.m4.
59319         Problem reported by Davide Angelocola.
59320
59321 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59322
59323         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
59324         coreutils no longer futzes with rounding modes.
59325
59326 2005-11-14  Jim Meyering  <jim@meyering.net>
59327
59328         * lib/mkstemp-safer.c: Include <config.h>, required for possible
59329         replacement of mkstemp.
59330
59331 2005-11-10  Simon Josefsson  <jas@extundo.com>
59332
59333         * lib/readline.c: Remove EOL.
59334
59335 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
59336
59337         * modules/gethrxtime (Depends-on): Add gettime.
59338
59339 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
59340
59341         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
59342         or gettimeofday; no longer needed.
59343
59344 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
59345
59346         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
59347         time business.
59348         (gethrxtime) [! (HAVE_NANOUPTIME
59349         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
59350         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
59351         our own approximation.
59352
59353 2005-11-08  Eric Blake  <ebb9@byu.net>
59354
59355         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
59356
59357 2005-11-08  Eric Blake  <ebb9@byu.net>
59358
59359         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
59360
59361 2005-11-04  Bruno Haible  <bruno@clisp.org>
59362
59363         * gnulib-tool: Implement --update mode.
59364
59365 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59366
59367         Fix porting problem reported by Theodoros V. Kalamatianos.
59368         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
59369         Don't assume that futimes failing means we must fail.
59370
59371 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
59372
59373         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
59374         variables to suggest the intended function of the PATH_MAX check.
59375
59376 2005-10-30  Kean Johnston  <jkj@sco.com>
59377
59378         Trivial changes to support SCO systems.
59379         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
59380         as PATH_MAX.
59381         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
59382         where __ptr is null when no I/O is pending.
59383
59384 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
59385
59386         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
59387         leave errno alone.  Problem reported by Dmitry V. Levin.
59388
59389 2005-10-28  Simon Josefsson  <jas@extundo.com>
59390
59391         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
59392         Test more.
59393
59394         * tests/test-gc-md2.c, tests/test-md2.c: New files.
59395
59396         * modules/md2, modules/md2-tests: New files.
59397
59398 2005-10-28  Simon Josefsson  <jas@extundo.com>
59399
59400         * m4/inet_ntop.m4: More tests.
59401
59402         * m4/gc-md2.m4, md2.m4: New file.
59403
59404 2005-10-28  Simon Josefsson  <jas@extundo.com>
59405
59406         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
59407         "restrict" keywords, as per POSIX.  Protect the function
59408         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
59409         Don't use K&R prototypes.  Check the sprintf return values.
59410         Re-define EAFNOSUPPORT if not present.  Indent.
59411
59412         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
59413         suggested by Bruno Haible <bruno@clisp.org>.
59414
59415         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
59416
59417         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
59418
59419         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
59420         libgcrypt).
59421
59422         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
59423
59424         * lib/md2.h, lib/md2.c: New files.
59425
59426 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
59427
59428         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
59429         errno alone.  Problem reported by Frederic Jolliton.
59430
59431 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
59432
59433         * modules/verify (License): Change from GPL to LGPL.  This is a
59434         tiny module and there are apparently near-equivalents that are
59435         under the BSD license.
59436
59437 2005-10-24  Simon Josefsson  <jas@extundo.com>
59438
59439         * modules/sha1: Relicense to LGPL.
59440
59441 2005-10-24  Simon Josefsson  <jas@extundo.com>
59442
59443         * lib/md4.h: Shrink buffer size, now that we changed the type.
59444
59445 2005-10-23  Simon Josefsson  <jas@extundo.com>
59446
59447         * gnulib-tool (func_import): Fix --tests-base.
59448
59449 2005-10-22  Simon Josefsson  <jas@extundo.com>
59450
59451         * modules/arcfour (Depends-on): Need stdint.
59452
59453 2005-10-22  Simon Josefsson  <jas@extundo.com>
59454
59455         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
59456         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
59457
59458 2005-10-22  Simon Josefsson  <jas@extundo.com>
59459
59460         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
59461         suggested by Bruno Haible <bruno@clisp.org>.
59462
59463 2005-10-22  Simon Josefsson  <jas@extundo.com>
59464
59465         * lib/crc.h: Include stddef.h, for size_t.
59466
59467 2005-10-22  Simon Josefsson  <jas@extundo.com>
59468
59469         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
59470         arcfour_context struct (simplify test vector testing in GNU
59471         Shishi).
59472
59473 2005-10-21  Simon Josefsson  <jas@extundo.com>
59474
59475         * modules/des, modules/des-tests: New files.
59476
59477         * modules/gc-des, modules/gc-des-tests: New files.
59478
59479         * tests/test-des.c, tests/test-gc-des.c: New file.
59480
59481 2005-10-21  Simon Josefsson  <jas@extundo.com>
59482
59483         * modules/arctwo, modules/arctwo-tests: New files.
59484
59485         * tests/test-arctwo.c: New file.
59486
59487         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
59488
59489         * tests/test-gc-arctwo.c: New file.
59490
59491 2005-10-21  Simon Josefsson  <jas@extundo.com>
59492
59493         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
59494         Bruno Haible <bruno@clisp.org>.
59495
59496         * m4/gc-des.m4: New file.
59497
59498 2005-10-21  Simon Josefsson  <jas@extundo.com>
59499
59500         * m4/arctwo.m4: New file.
59501
59502         * m4/gc-arctwo.m4: New file.
59503
59504 2005-10-21  Simon Josefsson  <jas@extundo.com>
59505
59506         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
59507         block.
59508
59509 2005-10-21  Simon Josefsson  <jas@extundo.com>
59510
59511         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
59512         <bruno@clisp.org>.
59513
59514         * lib/hmac-sha1.c (hmac_sha1): Likewise.
59515
59516         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
59517         Bruno Haible <bruno@clisp.org>.
59518
59519         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
59520         <bruno@clisp.org>.
59521
59522 2005-10-21  Simon Josefsson  <jas@extundo.com>
59523
59524         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
59525
59526 2005-10-21  Simon Josefsson  <jas@extundo.com>
59527
59528         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
59529
59530 2005-10-21  Simon Josefsson  <jas@extundo.com>
59531
59532         * lib/des.h, lib/des.c: New files.
59533
59534         * lib/gc-gnulib.c: Support DES.c
59535
59536 2005-10-21  Simon Josefsson  <jas@extundo.com>
59537
59538         * lib/arctwo.h, lib/arctwo.c: New files.
59539
59540         * lib/gc-gnulib.c: Support ARCTWO.
59541
59542 2005-10-21  Simon Josefsson  <jas@extundo.com>
59543
59544         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
59545         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59546
59547 2005-10-21  Simon Josefsson  <jas@extundo.com>
59548
59549         * gnulib-tool (func_import, func_create_testdir): Define automake
59550         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
59551         Makefile.am snippet),
59552         suggested by Bruno Haible <bruno@clisp.org>.
59553
59554         * modules/gc (Makefile.am): Use it.
59555
59556 2005-10-21  Bruno Haible  <bruno@clisp.org>
59557
59558         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
59559         patch.
59560
59561 2005-10-19  Simon Josefsson  <jas@extundo.com>
59562
59563         * tests/test-gc-rijndael.c: New file.
59564
59565         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
59566
59567 2005-10-19  Simon Josefsson  <jas@extundo.com>
59568
59569         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
59570         interface too.
59571
59572 2005-10-19  Simon Josefsson  <jas@extundo.com>
59573
59574         * tests/test-gc-arcfour.c: New file.
59575
59576         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
59577
59578 2005-10-19  Simon Josefsson  <jas@extundo.com>
59579
59580         * modules/gc-md4, modules/gc-md4-tests: New file.
59581
59582         * tests/test-gc-md4.c: New file.
59583
59584 2005-10-19  Simon Josefsson  <jas@extundo.com>
59585
59586         * m4/gc-md4.m4: New file.
59587
59588 2005-10-19  Simon Josefsson  <jas@extundo.com>
59589
59590         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
59591         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
59592         <kasal@ucw.cz>.
59593
59594 2005-10-19  Simon Josefsson  <jas@extundo.com>
59595
59596         * m4/gc-arcfour.m4: New file.
59597
59598         * m4/gc-rijndael.m4: New file.
59599
59600 2005-10-19  Simon Josefsson  <jas@extundo.com>
59601
59602         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
59603
59604 2005-10-19  Simon Josefsson  <jas@extundo.com>
59605
59606         * lib/gc-gnulib.c: Support ARCFOUR.
59607
59608 2005-10-19  Simon Josefsson  <jas@extundo.com>
59609
59610         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
59611         support.
59612
59613         * lib/gc.h: Add ECB enum type.
59614
59615         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
59616
59617 2005-10-18  Simon Josefsson  <jas@extundo.com>
59618
59619         * tests/test-md5.c: New file.
59620
59621         * modules/md5-tests: New file.
59622
59623 2005-10-18  Simon Josefsson  <jas@extundo.com>
59624
59625         * tests/test-md4.c: New file.
59626
59627         * modules/md4, modules/md4-tests: New files.
59628
59629 2005-10-18  Simon Josefsson  <jas@extundo.com>
59630
59631         * m4/md4.m4: New file.
59632
59633 2005-10-18  Simon Josefsson  <jas@extundo.com>
59634
59635         * lib/md4.h, lib/md4.c: New files, based on md5.?.
59636
59637 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
59638
59639         * gnulib-tool (func_create_testdir): Omit the second check whether
59640         BUILT_SOURCES in nonempty.
59641
59642 2005-10-17  Simon Josefsson  <jas@extundo.com>
59643
59644         * tests/test-rijndael.c: New file.
59645
59646 2005-10-17  Simon Josefsson  <jas@extundo.com>
59647
59648         * modules/sha1: Depend on stdint instead of md5.
59649
59650         * modules/md5: Depend on stdint, remove uint32_t.
59651
59652 2005-10-17  Simon Josefsson  <jas@extundo.com>
59653
59654         * modules/gc-sha1-tests: New file.
59655
59656         * tests/test-gc-sha1.c: New file.
59657
59658 2005-10-17  Simon Josefsson  <jas@extundo.com>
59659
59660         * m4/md5.m4: Remove call to uint32_t.m4.
59661
59662 2005-10-17  Simon Josefsson  <jas@extundo.com>
59663
59664         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
59665
59666         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
59667         md5.h.
59668
59669         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
59670
59671         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
59672
59673 2005-10-17  Simon Josefsson  <jas@extundo.com>
59674
59675         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
59676
59677 2005-10-17  Simon Josefsson  <jas@extundo.com>
59678
59679         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
59680
59681 2005-10-17  Simon Josefsson  <jas@extundo.com>
59682
59683         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
59684
59685         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
59686
59687 2005-10-17  Bruno Haible  <bruno@clisp.org>
59688
59689         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
59690         that it can also be used in a test.
59691
59692 2005-10-16  Bruno Haible  <bruno@clisp.org>
59693
59694         * gnulib-tool (func_emit_tests_Makefile_am): Also define
59695         TESTS_ENVIRONMENT, so that individual tests can augment it.
59696
59697         * gnulib-tool (func_create_testdir): Use an intermediate target for
59698         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
59699         macros, like $(ALLOCA_H), which cannot be passed through the command
59700         line.
59701
59702 2005-10-15  Simon Josefsson  <jas@extundo.com>
59703
59704         * modules/rijndael-tests: New file.
59705
59706         * modules/rijndael: New file.
59707
59708 2005-10-15  Simon Josefsson  <jas@extundo.com>
59709
59710         * m4/rijndael.m4: New file.
59711
59712 2005-10-15  Simon Josefsson  <jas@extundo.com>
59713
59714         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
59715
59716         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
59717
59718 2005-10-14  Simon Josefsson  <jas@extundo.com>
59719
59720         * tests/test-arcfour.c: New file.
59721
59722         * modules/arcfour, modules/arcfour-tests: New files.
59723
59724 2005-10-14  Simon Josefsson  <jas@extundo.com>
59725
59726         * m4/arcfour.m4: New file.
59727
59728 2005-10-14  Simon Josefsson  <jas@extundo.com>
59729
59730         * lib/arcfour.h, lib/arcfour.c: New files.
59731
59732 2005-10-14  Roland McGrath  <roland@redhat.com>
59733
59734         Import from libc.  [BZ #1331]
59735         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
59736         macro argument.
59737         Reported by Matej Vela <vela@debian.org>.
59738
59739 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59740
59741         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
59742         include <wchar.h>; no longer needed.
59743
59744 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
59745
59746         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
59747
59748 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
59749         and  Ulrich Drepper  <drepper@redhat.com>
59750
59751         Import from libc.
59752         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
59753         instead of inline stream orientation test and two separate
59754         function calls.  Pay no attention to USE_IN_LIBIO.
59755
59756 2005-10-13  Simon Josefsson  <jas@extundo.com>
59757
59758         * modules/gc-hmac-md5-tests: New file.
59759
59760         * tests/test-gc-hmac-sha1.c: New file.
59761
59762         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
59763
59764         * modules/gc-hmac-md5-tests: New file.
59765
59766         * tests/test-gc-md5.c: New file.
59767
59768         * modules/gc-md5-tests: New file.
59769
59770 2005-10-13  Simon Josefsson  <jas@extundo.com>
59771
59772         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
59773         Move memory allocation outside of loop.
59774
59775 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
59776
59777         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
59778         intermediate directory is in a read-only file system.  Problem
59779         reported by Eric Blake.
59780
59781 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
59782
59783         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
59784
59785 2005-10-12  Simon Josefsson  <jas@extundo.com>
59786
59787         * tests/test-hmac-sha1.c: New file.
59788
59789         * modules/hmac-sha1-tests: New file.
59790
59791         * modules/hmac-sha1: New file.
59792
59793 2005-10-12  Simon Josefsson  <jas@extundo.com>
59794
59795         * modules/gc-sha1: New file.
59796
59797 2005-10-12  Simon Josefsson  <jas@extundo.com>
59798
59799         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
59800
59801         * tests/test-gc-pbkdf2-sha1.c: New file.
59802
59803 2005-10-12  Simon Josefsson  <jas@extundo.com>
59804
59805         * modules/gc-md5, modules/gc-hmac-md5: New files.
59806
59807         * modules/gc (Files): Remove md5, memxor and hmac files.
59808
59809 2005-10-12  Simon Josefsson  <jas@extundo.com>
59810
59811         * m4/gc-pbkdf2-sha1.m4: New file.
59812
59813         * m4/gc-hmac-sha1.m4: New file.
59814
59815         * m4/gc-sha1: New file.
59816
59817         * m4/hmac-sha1.m4: New file.
59818
59819 2005-10-12  Simon Josefsson  <jas@extundo.com>
59820
59821         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
59822
59823         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
59824
59825 2005-10-12  Simon Josefsson  <jas@extundo.com>
59826
59827         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
59828         suggested by Bruno Haible <bruno@clisp.org>.
59829
59830 2005-10-12  Simon Josefsson  <jas@extundo.com>
59831
59832         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
59833
59834 2005-10-12  Simon Josefsson  <jas@extundo.com>
59835
59836         * lib/gc-pbkdf2-sha1.c: New file.
59837
59838         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
59839
59840 2005-10-12  Simon Josefsson  <jas@extundo.com>
59841
59842         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
59843
59844         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
59845
59846 2005-10-12  Simon Josefsson  <jas@extundo.com>
59847
59848         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
59849         GC_USE_HMAC_MD5, respectively.
59850
59851         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
59852         (gc_md5): Fix typo.
59853
59854         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
59855
59856         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
59857
59858         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
59859
59860 2005-10-12  Bruno Haible  <bruno@clisp.org>
59861
59862         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
59863         Reported by Stepan Kasal <kasal@ucw.cz>.
59864
59865 2005-10-11  Simon Josefsson  <jas@extundo.com>
59866
59867         * tests/test-crc.c: New file.
59868
59869         * modules/crc, modules/crc-tests: New files.
59870
59871 2005-10-11  Simon Josefsson  <jas@extundo.com>
59872
59873         * m4/crc.m4: New file.
59874
59875 2005-10-11  Simon Josefsson  <jas@extundo.com>
59876
59877         * lib/gc.h: Add gc_hash and gc_hash_buffer.
59878
59879         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
59880
59881         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
59882
59883 2005-10-11  Simon Josefsson  <jas@extundo.com>
59884
59885         * lib/crc.h, lib/crc.c: New files.
59886
59887         * lib/gc.h (gc_hash_buffer): Add doc.
59888
59889 2005-10-11  Bruno Haible  <bruno@clisp.org>
59890
59891         * modules/c-strcasestr: New file.
59892         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
59893
59894 2005-10-11  Bruno Haible  <bruno@clisp.org>
59895
59896         * modules/c-strcase: New file.
59897         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
59898
59899 2005-10-11  Bruno Haible  <bruno@clisp.org>
59900
59901         * lib/strcasecmp.c: Include limits.h.
59902         (strcasecmp): Avoid integer overflow on exotic platforms.
59903         * lib/strncasecmp.c: Include limits.h.
59904         (strncasecmp): Avoid integer overflow on exotic platforms.
59905         Reported by Paul Eggert.
59906
59907 2005-10-11  Bruno Haible  <bruno@clisp.org>
59908
59909         * lib/c-strcasestr.h: New file, from GNU gettext.
59910         * lib/c-strcasestr.c: New file, from GNU gettext.
59911
59912 2005-10-11  Bruno Haible  <bruno@clisp.org>
59913
59914         * lib/c-strcase.h: New file, from GNU gettext.
59915         * lib/c-strcasecmp.c: New file, from GNU gettext.
59916         * lib/c-strncasecmp.c: New file, from GNU gettext.
59917
59918 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
59919
59920         * modules/mempcpy (License): GPL -> LGPL.
59921         * modules/strchrnul (License): Likewise.
59922         * modules/sysexits (License): Likewise.
59923
59924 2005-10-08  Simon Josefsson  <jas@extundo.com>
59925
59926         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
59927
59928 2005-10-07  Simon Josefsson  <jas@extundo.com>
59929
59930         * m4/memxor.m4: Remove gl_C_RESTRICT call.
59931
59932 2005-10-06  Simon Josefsson  <jas@extundo.com>
59933
59934         * tests/test-hmac-md5.c: New file.
59935
59936         * modules/hmac-md5-tests: New file.
59937
59938         * modules/hmac-md5: New file.
59939
59940 2005-10-06  Simon Josefsson  <jas@extundo.com>
59941
59942         * m4/hmac-md5.m4: New file.
59943
59944         * m4/memxor.m4: Require gl_C_RESTRICT.
59945
59946 2005-10-06  Simon Josefsson  <jas@extundo.com>
59947
59948         * lib/memxor.c (memxor): Avoid casts and warnings.
59949
59950 2005-10-06  Simon Josefsson  <jas@extundo.com>
59951
59952         * lib/hmac-md5.c: New file.
59953
59954         * lib/hmac.h: New file.
59955
59956 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
59957
59958         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
59959         promotes to int, not unsigned int, to catch the AIX 5.3
59960         compiler bug.
59961
59962 2005-10-05  Simon Josefsson  <jas@extundo.com>
59963
59964         * modules/memxor: New file.
59965
59966         * modules/iconv (Files): Move config.rpath to havelib, it is used
59967         there.
59968
59969         * modules/havelib (Files): Add config.rpath.
59970
59971 2005-10-05  Simon Josefsson  <jas@extundo.com>
59972
59973         * m4/memxor.m4: New file.
59974
59975 2005-10-05  Simon Josefsson  <jas@extundo.com>
59976
59977         * lib/memxor.c (memxor): Fix compiler error.
59978
59979         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
59980         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
59981
59982         * lib/memxor.h, lib/memxor.c: New files.
59983
59984         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
59985         we assume all systems have it, suggested by Jim Meyering
59986         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
59987         any systems lack sys/socket.h; mingw32 is known to lack it, but we
59988         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
59989         same reasons.
59990
59991 2005-10-05  Simon Josefsson  <jas@extundo.com>
59992
59993         * config/srclist.txt: Add glibc bug 1423 for md5.h.
59994
59995 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
59996
59997         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
59998         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
59999         needed, since the source code now assumes these .h files.
60000
60001 2005-10-05  Derek Price  <derek@ximbiot.com>
60002
60003         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
60004
60005 2005-10-05  Bruno Haible  <bruno@clisp.org>
60006
60007         * modules/stdint (License): Change to LGPL.
60008
60009 2005-10-04  Simon Josefsson  <jas@extundo.com>
60010
60011         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
60012         D. Baushke" <mdb@gnu.org>.
60013
60014 2005-10-04  Bruno Haible  <bruno@clisp.org>
60015
60016         * lib/verify.h (verify_true): Provide alternative definition for C++.
60017
60018 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
60019
60020         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
60021         (SSIZE_MAX): New macro, if not already defined.
60022         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
60023         than 2 GiB.
60024
60025 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
60026
60027         Sync from coreutils.
60028         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
60029         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
60030         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
60031         ULLONG_MAX doesn't work with 2.7.2.1.
60032
60033 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
60034
60035         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
60036         From Ben Pfaff.
60037
60038         * modules/exclude (Depends-on): Depend on verify.
60039         * modules/strtoimax (Depends-on): Likewise.
60040         * modules/utimecmp (Depends-on): Likewise.
60041
60042 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
60043
60044         * lib/exclude.c: Include verify.h.
60045         (verify): Remove.  All callers changed to use verify.h's version.
60046         * lib/strtoimax.c: Likewise.
60047         * lib/utimecmp.c: Likewis.e
60048
60049         Sync from coreutils.
60050         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
60051         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
60052         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
60053         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
60054         bother returning ENOSYS if settimeofday or stime fails; just let
60055         them return whatever errno they want to return.
60056         * lib/utimens.c: Include unistd.h, for dup2.
60057         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
60058         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
60059
60060 2005-10-02  Jim Meyering  <jim@meyering.net>
60061
60062         Sync from coreutils.
60063         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
60064         from glibc-2.2.5 that fails for read-only files.
60065
60066 2005-10-02  Jim Meyering  <jim@meyering.net>
60067
60068         Sync from coreutils.
60069         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
60070         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
60071         `#if HAVE_CONFIG_H'.
60072         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
60073         Remove AT_FDCWD test.
60074         Do not consume the fd unless successful.
60075         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
60076         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
60077         block, so that we don't even try to compile it if settimeofday is
60078         available.  This works around a compilation failure on OSF1 V5.1,
60079         due to stime requiring a `long int*' while tv_sec is `int'.
60080
60081 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
60082
60083         Sync from coreutils.
60084         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
60085         against `yes', rather than just testing for nonempty.
60086
60087 2005-10-01  Simon Josefsson  <jas@extundo.com>
60088
60089         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
60090         and Darwin.
60091
60092         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
60093         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
60094         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
60095         freeaddrinfo and gai_strerror are declared by the POSIX headers.
60096         Check if struct addrinfo is declared.
60097
60098 2005-10-01  Simon Josefsson  <jas@extundo.com>
60099
60100         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
60101         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
60102         AI_* and EAI_* definitions.  Protect function declarations.
60103
60104 2005-10-01  Jim Meyering  <jim@meyering.net>
60105
60106         Sync from coreutils.
60107
60108         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
60109         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
60110         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
60111         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
60112         in the inet and nsl libraries.  Required on Solaris 5.7.
60113
60114 2005-10-01  Jim Meyering  <jim@meyering.net>
60115
60116         Sync from coreutils.
60117         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
60118         in the inet and nsl libraries.  Required on Solaris 5.7.
60119
60120 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
60121
60122         * lib/getdelim.c (getdelim): Remove unused variables.
60123
60124 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
60125
60126         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
60127         so that the code works even with ancient cpp.  Portability problem
60128         with GCC 2.7.2.1 reported by Thomas M.Ott.
60129
60130 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
60131
60132         * modules/regex (Depends-on): Add strcase.
60133
60134         * modules/gethostname (Licence): Change from GPL to LGPL, since
60135         gethostname.c is a trivial implementation of a standard library
60136         function.
60137         * modules/poll (License): Change from GPL to LGPL, since it's
60138         derived from LGPL code.
60139
60140 2005-09-27  Jim Meyering  <jim@meyering.net>
60141
60142         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
60143         HAVE_CONFIG_H.
60144
60145         * lib/intprops.h (signed_type_or_expr__): Define.
60146         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
60147         for unsigned types.
60148
60149 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
60150
60151         * lib/verify.h (verify_expr): Remove, replacing with:
60152         (verify_true): New macro that returns true instead of void.
60153         (verify_type__): Remove.
60154         (verify): Use verify_true rather than verify_type__.
60155
60156 2005-09-26  Bruno Haible  <bruno@clisp.org>
60157
60158         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
60159         is necessary.
60160         (lib_SOURCES): Remove mbchar.c.
60161         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
60162         (Files): Add m4/mbrtowc.m4.
60163         * modules/mbiter: Likewise.
60164         * modules/mbuiter: Likewise.
60165
60166 2005-09-26  Bruno Haible  <bruno@clisp.org>
60167
60168         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
60169         compile mbchar.c if they are not both present.
60170         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
60171         * m4/mbiter.m4 (gl_MBITER): Likewise.
60172         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
60173         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
60174         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
60175
60176 2005-09-25  Jim Meyering  <jim@meyering.net>
60177
60178         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
60179         also uses socklen_t.
60180
60181 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
60182
60183         * lib/utimens.c (ENOSYS): Define if not already defined.
60184         (futimens): Support having a null PATH if the file descriptor
60185         is nonnegative.
60186
60187         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
60188         Remove.
60189         (__attribute): Define to empty unless GCC 3.1 or later.
60190         This works around a core dump on OpenBSD 3.4, which has GCC
60191         2.95.3, which dumps core when given __attribute__(()).  It also
60192         simplifies other tests, since we really don't want to bother with
60193         worrying about which ancient version of GCC supported what.
60194         Original problem reported by Yoann Vandoorselaere, with part of
60195         the fix suggested by Derek Price.
60196
60197 2005-09-24  Jim Meyering  <jim@meyering.net>
60198
60199         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
60200         so we can once again use a positive bitfield width of 1 -- now we
60201         don't have to explain why we were using a bitfield width of 2.
60202
60203 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
60204
60205         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
60206         and similarly for the other external symbols.  Problem reported
60207         by James Gallager.
60208
60209         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
60210         bug reported by Jim Meyering.
60211
60212         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
60213         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
60214         not needed, since socklen is a prerequisite module.
60215
60216 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
60217
60218         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
60219         Problem reported by Eric Blake.
60220         (getaddrinfo): Initialize se so that it's not garbage.
60221         Redo internal storage allocation so that it doesn't make unportable
60222         assumptions about alignment.
60223         Fix a memory leak.
60224
60225         * lib/utimens.c (futimens): Use futimesat if available.
60226         Prefer it to futimes since it doesn't have the futimes bug.
60227
60228         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
60229         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
60230         Instead, declare a function that returns a pointer to an array,
60231         and use verify_type__ to declare the size of the array.
60232         Problem and germ of a solution reported by Bruno Haible.
60233         (verify_type__): Use 2, not 1, for bitfield size, to avoid
60234         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
60235
60236 2005-09-23  Jim Meyering  <jim@meyering.net>
60237
60238         Sync from coreutils.
60239         Correct build failure (socklen_t not defined) on at least
60240         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
60241         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
60242
60243 2005-09-23  Jim Meyering  <jim@meyering.net>
60244
60245         * modules/getaddrinfo (Depends-on): Add socklen.
60246
60247 2005-09-23  Bruno Haible  <bruno@clisp.org>
60248
60249         * tests/test-verify.c: New file.
60250
60251 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60252
60253         Sync from coreutils.
60254
60255         * modules/argmatch (Depends-on): Add verify.
60256         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
60257         unistd-safer.
60258         * modules/save-cwd (Depends-on): Likewise.
60259
60260         * modules/openat (Files): Add lib/openat-die.c.
60261         (Depends-on): Remove error, exitfail.
60262         Add dirname.
60263
60264         * modules/verify: New file.
60265         * MODULES.html.sh (Diagnostics <assert.h>): New section,
60266         with "verify" module.
60267
60268 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60269
60270         Sync from coreutils.
60271
60272         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
60273         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
60274         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
60275         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
60276         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
60277         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
60278         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
60279         Don't bother checking for string.h, stdlib.h, unistd.h.
60280         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
60281         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
60282         module's job.
60283         * m4/jm-macros.m4 (gl_MACROS): Likewise.
60284         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
60285
60286         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
60287         (gl_GETDATE): Use it.
60288
60289         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
60290
60291 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60292
60293         Sync from coreutils.
60294
60295         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
60296         stat-time.h.
60297         * lib/argmatch.h: Include verify.h
60298         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
60299         (ARGMATCH_ASSERT): Remove; unused.
60300         * lib/canonicalize.c: Assume STDC_HEADERS.
60301         * lib/exclude.c: Include "strcase.h".
60302         * lib/regex_internal.h [!defined _LIBC]: Likewise.
60303         * lib/getusershell.c: Include stdio--.h rather than stdio.h
60304         and stdio-safer.h.
60305         (getusershell): Call fopen, not fopen_safer.
60306         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
60307         Do not include unistd-safer.h.
60308         (save_cwd): Don't call fd_safer; no longer needed
60309         now that we include fcntl--.h.
60310
60311         * lib/getdate.y (relative_time): New type.
60312         (RELATIVE_TIME_0): New constant.
60313         (parser_control): Use relative_time instead of doing it ourselves.
60314         (%union): Add new relative_time rel member.
60315         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
60316         Now typeless.
60317         (relunit, relunit_snumber): Now of type rel.
60318         (zone, rel, relunit, get_date): Adjust to above changes.
60319
60320         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
60321         Do not include unistd-safer.h.
60322         (getloadavg): Don't call fd_safer; no longer needed
60323         now that we include fcntl--.h.
60324
60325         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
60326         (make_dir_parents): Treat ENOSYS like EEXIST.
60327
60328         Improve quality of diagnostics on restore_cwd failure.
60329         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
60330         (make_dir_parents): Last arg is now int * (for errno), not bool *.
60331         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
60332         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
60333         each time through the loop.  Do not diagnose restore_cwd failure;
60334         that is the caller's job (and perhaps the caller does not care).
60335
60336         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
60337         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
60338         If the file already exists but is not a directory, don't bother
60339         to try to make its parents.
60340         Close potential file descriptor leak if we can't chdir("/") (!).
60341         Don't always return true if chdir($PWD) fails; return true only
60342         if the requested action was done successfully (except for the
60343         chdir($PWD)).
60344         Don't log final directory unless we actually made it.
60345         Refactor to avoid duplicate code to fix up permissions.
60346         Don't attempt to fix up parent permissions if chdir($PWD) fails.
60347
60348         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
60349         to make it a bit faster and (I hope) clearer.
60350         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
60351         Fix bug in formats like %2N.
60352
60353         * lib/verify.h: New file.
60354
60355 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
60356
60357         Sync from coreutils.
60358         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
60359
60360 2005-09-22  Jim Meyering  <jim@meyering.net>
60361
60362         Sync from coreutils.
60363
60364         * m4/lstat.m4 (gl_FUNC_LSTAT):
60365         Use AC_LIBSOURCES to require lstat.c and lstat.h.
60366         Remove obsolete comment.
60367         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
60368         * m4/xstrtod.m4: Likewise.
60369
60370         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
60371
60372 2005-09-22  Jim Meyering  <jim@meyering.net>
60373
60374         Sync from coreutils.
60375
60376         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
60377
60378         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
60379         the .tm_year member, since otherwise gcc-4.0 would now warn about
60380         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
60381
60382         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
60383         order to avoid an unsuppressible warning from gcc on 64-bit systems.
60384
60385         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
60386         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
60387         when run in a time zone for which daylight savings time is in effect
60388         for the starting date.
60389
60390         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
60391         stop us from restricting permissions of just-created absolute-named
60392         directories.
60393         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
60394         to restore initial working directory.
60395         * lib/mkdir-p.c (make_dir_parents): New parameter:
60396         different_working_dir, to tell caller if/when we change the working
60397         directory and are unable to return to the initial one.
60398         * lib/mkdir-p.h (make_dir_parents): Update prototype.
60399         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
60400         `return false'.  This fixes a bug introduced on 2004-07-30.
60401
60402         * lib/openat.c (fdopendir): Be sure to close the supplied
60403         file descriptor before returning.  This makes our replacement
60404         implementation a little closer to Solaris's, where fdopendir
60405         ties the file descriptor to the returned DIR* pointer.
60406         * lib/openat.c (unlinkat): New function.
60407         * lib/openat.h (unlinkat): Add prototype.
60408         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
60409         (openat_restore_fail): Rename from openat_restore_die.
60410         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
60411
60412         Provide an alternative to exiting immediately upon save_cwd or
60413         restore_cwd failure.  Now, an application can arrange e.g.,
60414         to perform a longjump in that case.
60415         * lib/openat.c: Include dirname.h.
60416         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
60417         (rpl_openat, fdopendir, fstatat): Call openat_save_die
60418         and openat_restore_die rather than calling error directly.
60419         Don't include "error.h" or "exitfail.h"; they're no longer needed.
60420
60421         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
60422         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
60423         define.
60424
60425         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
60426         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
60427                             int utc, int nanoseconds);
60428         Background:
60429         date should not have to allocate a megabyte of virtual memory to
60430         handle a format argument like +%1048575T.  When implemented with
60431         strftime, it must allocate such a buffer, use strftime to fill it
60432         in, print it, then free it.
60433         With fprintftime, it simply prints everything and exits.
60434         With no need for memory allocation, that's one fewer way to fail.
60435         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
60436         optional field width, not before, so we accept %9:z, not %:9z.
60437         (my_strftime): Be sure to use L_('x') for literals.
60438
60439         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
60440         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
60441         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
60442         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
60443         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
60444         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
60445         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
60446         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
60447         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
60448         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
60449         * lib/xgethostname.c, lib/xreadlink.c:
60450         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
60451
60452         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
60453         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
60454         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
60455         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
60456         and don't include <sys/file.h>).
60457
60458 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
60459
60460         Sync from coreutils.
60461
60462         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
60463         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
60464         [!LDAV_DONE]: Avoid unused variable warning.
60465
60466 2005-09-21  Bruno Haible  <bruno@clisp.org>
60467
60468         * lib/unicodeio.h (unicode_to_mb): New declaration.
60469
60470 2005-09-20  Derek Price  <derek@ximbiot.com>
60471
60472         * lib/getaddrinfo.c: Don't include <netdb.h> included from
60473         getaddrinfo.h.
60474
60475 2005-09-20  Bruno Haible  <bruno@clisp.org>
60476
60477         * gnulib-tool: Remove trailing slashes from the values specified for
60478         --source-base, --m4-base, --tests-base, --aux-dir.
60479         Suggested by Simon Josefsson <jas@extundo.com>.
60480
60481 2005-09-20  Bruno Haible  <bruno@clisp.org>
60482
60483         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
60484         func_modules_to_filelist, func_import, func_create_testdir): Make all
60485         sorting results locale-independent, so that gnulib-cache.m4 doesn't
60486         change when gnulib-tool is invoked in a different locale.
60487
60488 2005-09-19  Simon Josefsson  <jas@extundo.com>
60489
60490         * m4/socklen.m4: Fix typo.
60491
60492 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60493
60494         Use a consistent style for including <config.h>.
60495         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
60496         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
60497         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
60498         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
60499         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
60500         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
60501         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
60502         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
60503         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
60504         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
60505         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
60506         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
60507         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
60508         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
60509         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
60510         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
60511         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
60512         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
60513         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
60514         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
60515         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
60516         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
60517         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
60518         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
60519         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
60520         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
60521         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
60522         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
60523         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
60524         lib/xstrtoumax.c, lib/yesno.c:
60525         Standardize inclusion of config.h.
60526         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
60527         lib/inttostr.h:  Removed inclusion of config.h from header files.
60528         * lib/inttostr.c:  Adjusted in-tree users.
60529         * lib/timespec.h: Remove superfluous warning to include config.h.
60530         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
60531         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
60532         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
60533         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
60534         config.h with HAVE_CONFIG_H.
60535
60536 2005-09-19  Jim Meyering  <jim@meyering.net>
60537
60538         * modules/pathmax (License): Change to LGPL.
60539
60540 2005-09-19  Derek Price  <derek@ximbiot.com>
60541
60542         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
60543
60544 2005-09-19  Bruno Haible  <bruno@clisp.org>
60545
60546         * gnulib-tool (import): Provide default for --tests-base.
60547
60548 2005-09-19  Bruno Haible  <bruno@clisp.org>
60549
60550         * doc/quote.texi: New file, extracted from gnulib.texi.
60551         * doc/ctime.texi: New file, extracted from gnulib.texi.
60552         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
60553         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
60554         * doc/gnulib.texi: Include them.
60555
60556 2005-09-18  Bruno Haible  <bruno@clisp.org>
60557
60558         Portability fix.
60559         * gnulib-tool (func_readlink): New function.
60560         (func_ln_if_changed): Use it.
60561
60562 2005-09-18  Bruno Haible  <bruno@clisp.org>
60563
60564         * gnulib-tool: Support --with-tests also with --import.
60565         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
60566         (func_import): Use variables $testsbase and $inctests. Emit a
60567         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
60568         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
60569         SUBDIRS += $testsdir.
60570         (func_create_testdir): Update.
60571
60572 2005-09-18  Bruno Haible  <bruno@clisp.org>
60573
60574         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
60575         instead of $dry_run.
60576         (func_cp_if_changed, func_mv_if_changed): Remove functions.
60577         (func_ln_if_changed): Don't handle dry-run here.
60578         (func_import): In dry-run mode, detect more precisely which actions
60579         would be performed, and don't use "...ing" verbs.
60580
60581 2005-09-18  Bruno Haible  <bruno@clisp.org>
60582
60583         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
60584         (func_import): Use join on two temporary files instead of three nested
60585         loops, in order to determine which files are new or old.
60586
60587 2005-09-18  Bruno Haible  <bruno@clisp.org>
60588
60589         * gnulib-tool (func_import): Comment out code that spits out the
60590         new files with --dry-run.
60591
60592 2005-09-18  Bruno Haible  <bruno@clisp.org>
60593
60594         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
60595
60596 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
60597
60598         * lib/stat-time.h: New file.
60599         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
60600         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
60601         in a different way.
60602         (timespec_cmp): New function.
60603         * lib/utimecmp.c: Include stat-time.h.
60604         (SYSCALL_RESOLUTION): Depend on whether various struct stat
60605         members exist, not on the obsolescent ST_MTIM_NSEC.
60606         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
60607
60608 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
60609
60610         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
60611
60612 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
60613
60614         * MODULES.html.sh (File system functions): Add stat-time.
60615         * modules/stat-time: New file.
60616         * modules/timespec (Files): Remove m4/st_mtim.m4; this
60617         is now done in a different way, by the stat-time module.
60618         * modules/utimecmp (Depends-on): Add stat-time.
60619
60620 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
60621
60622         * m4/st_mtim.m4: Remove.  Superseded by...
60623         * m4/stat-time.m4: New file.
60624         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
60625         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
60626
60627 2005-09-15  Derek Price  <derek@ximbiot.com>
60628
60629         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
60630
60631 2005-09-15  Derek Price  <derek@ximbiot.com>
60632
60633         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
60634         * lib/regex_internal.c: Ditto, using this...
60635         (__GNUC_PREREQ): ...new macro.
60636         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
60637         using...
60638         (__GNUC_PREREQ): ...this new macro.
60639
60640         * lib/strstr.h: Include string.h. Define strstr as a macro here.
60641
60642 2005-09-15  Derek Price  <derek@ximbiot.com>
60643             Paul Eggert  <eggert@cs.ucla.edu>
60644
60645         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
60646         changes, consolidating in...
60647         * lib/regex_internal.h: ...this file.
60648
60649 2005-09-13  Jim Meyering  <jim@meyering.net>
60650
60651         * lib/canon-host.c: Filter through gnu indent and reword comments
60652         slightly.
60653         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
60654
60655 2005-09-13  Derek Price  <derek@ximbiot.com>
60656
60657         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
60658         failure.
60659         Reported by Jim Meyering  <jim@meyering.net>.
60660
60661 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60662
60663         * lib/base64.c: Typo.
60664         (base64_encode): Put b64str in initialized data section.
60665
60666 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
60667
60668         Merge glibc and coreutils changes into gnulib, plus a few
60669         extra fixes.
60670         * lib/md5.c: Use #error rather than a string.
60671         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
60672         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
60673         (__attribute__): Define to empty for non recent-GCC.
60674         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
60675         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
60676         Renamed from their non-__ counterparts, with new macros replacing
60677         them if not _LIBC.  Add __THROW attribute.
60678         (rol): Remove.
60679         (struct md5_ctx): Align buffer if using GCC.
60680         * lib/sha1.h (struct sha1_ctx): Likewise.
60681         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
60682         The old name was backwards.
60683         (NOTSWAP): Remove; not used.
60684         (rol): New macro, moved here from md5.h.
60685         (sha1_process_block): Remove a FIXME that doesn't make sense.
60686
60687 2005-09-12  Derek Price  <derek@ximbiot.com>
60688
60689         Return usable errors from canon-host.
60690         * lib/canon-host.h: New file.
60691         * lib/canon-host.c (canon_host): Wrap...
60692         (canon_host_r): ...this new function, which now relies exclusively on
60693         getaddrinfo.
60694         (ch_strerror): New function.
60695         (last_cherror): New global.
60696         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
60697         interface.
60698         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
60699         void *.
60700         (freeaddrinfo): Free ai->ai_canonname when set.
60701
60702 2005-09-12  Derek Price  <derek@ximbiot.com>
60703
60704         Make canon-host require getaddrinfo.
60705         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
60706         AC_LIBSOURCE canon-host.h.  Call...
60707         (gl_PREREQ_CANON_HOST): ...this new function, which requires
60708         gl_GETADDRINFO.
60709         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
60710
60711 2005-09-12  Derek Price  <derek@ximbiot.com>
60712
60713         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
60714         LGPL.
60715         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
60716
60717 2005-09-12  Derek Price  <derek@ximbiot.com>
60718
60719         * lib/gai_strerror.c: Include config.h when available.  Include
60720         getaddrinfo.h before other headers to test interface.
60721         Reported by Larry Jones <lawrence.jones@ugs.com>.
60722
60723 2005-09-12  Derek Price  <derek@ximbiot.com>
60724             Paul Eggert  <eggert@cs.ucla.edu>
60725
60726         * modules/glob (Files): Add glob-libc.h.
60727
60728 2005-09-12  Derek Price  <derek@ximbiot.com>
60729             Paul Eggert  <eggert@cs.ucla.edu>
60730
60731         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
60732         glob_.h, glob-libc.h.
60733         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
60734
60735 2005-09-12  Derek Price  <derek@ximbiot.com>
60736             Paul Eggert  <eggert@cs.ucla.edu>
60737
60738         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
60739         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
60740         protecting things that should be done only in gnulib contexts.
60741         * lib/glob_.h: New file, containing only the glob things needed for
60742         gnulib.
60743         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
60744         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
60745         (glob, globfree, glob_pattern_p): Now defined simply in terms of
60746         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
60747         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
60748         and to respect the namespace rules better.
60749
60750 2005-09-08  Simon Josefsson  <jas@extundo.com>
60751
60752         * modules/socklen: New file.
60753
60754 2005-09-08  Simon Josefsson  <jas@extundo.com>
60755
60756         * m4/socklen.m4: New file.
60757
60758 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60759
60760         * modules/utimens (Files): Add m4/utimbuf.m4, since
60761         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
60762         Reported by Sergey Poznyakoff.
60763
60764 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60765
60766         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
60767         definitions, since that's the preferred style in glibc.
60768         Fix a minor spacing issue, and update copyright notice to match
60769         glibc's.
60770
60771 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
60772
60773         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
60774
60775 2005-09-06  Simon Josefsson  <jas@extundo.com>
60776
60777         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
60778         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
60779
60780 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60781
60782         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
60783         warning.
60784
60785 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
60786
60787         * config/srclist.txt: Add glibc bug 1302.
60788
60789 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
60790
60791         Change bitset word type from unsigned int to unsigned long int,
60792         as this has better performance on typical 64-bit hosts.
60793         Port bitset code to hosts with unusual word sizes.
60794         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
60795         (build_collating_symbol):
60796         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
60797         argument is a bitset.  This is merely a style issue, but it makes
60798         it clearer that an entire array is expected.
60799         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
60800         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
60801         Port to the case where bitset_word is not the same as unsigned int.
60802         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
60803         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
60804         Likewise.
60805         * lib/regexec.c (check_dst_limits_calc_pos_1,
60806         check_subexp_matching_top):
60807         (build_trtable, group_nodes_into_DFAstates):
60808         Likewise.
60809         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
60810         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
60811         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
60812         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
60813         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
60814         * lib/regcomp.c (optimize_subexps, lower_subexp):
60815         Work even if bitset_word has holes in its bitwise representation.
60816         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
60817         * lib/regexec.c (check_dst_limits_calc_pos_1,
60818         check_subexp_matching_top):
60819         Likewise.
60820         * lib/regex_internal.c (re_string_reconstruct):
60821         Don't assume UCHAR_MAX == 255.
60822         * lib/regex_internal.h (bitset_set_all): Likewise.
60823         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
60824         All uses changed.
60825         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
60826         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
60827         All uses changed.
60828         (BITSET_WORD_MAX): New macro.
60829         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
60830         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
60831         (bitset_empty, bitset_copy):
60832         Prefer sizeof (bitset) to multiplying it out ourselves.
60833         (bitset_not_merge): Remove; unused.
60834         (bitset_contain): Return bool, not unsigned int with one bit on.
60835         All callers changed.
60836         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
60837         alignment than re_node_set; do this by defining a new internal
60838         type struct dests_alloc and using it to allocate memory.
60839
60840 2005-09-05  Bruno Haible  <bruno@clisp.org>
60841
60842         * gnulib-tool (func_import): Fix comparison in handling of symbolic
60843         links.
60844
60845 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
60846
60847         * modules/size_max (Makefile.am): Add size_max.h
60848
60849 2005-09-04  Derek Price  <derek@ximbiot.com>
60850
60851         * gnulib-tool (func_import): Fix reversed $symbolic logic.
60852
60853 2005-09-03  Simon Josefsson  <jas@extundo.com>
60854
60855         * gnulib-tool: Fix typo.
60856
60857 2005-09-03  Simon Josefsson  <jas@extundo.com>
60858
60859         * config/srclist.txt: Add glibc bug 1293.
60860
60861 2005-09-03  Derek Price  <derek@ximbiot.com>
60862
60863         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
60864         From Larry Jones <lawrence.jones@ugs.com>.
60865
60866 2005-09-02  Simon Josefsson  <jas@extundo.com>
60867
60868         * modules/socklen: New file.
60869
60870 2005-09-02  Simon Josefsson  <jas@extundo.com>
60871
60872         * modules/havelib: New module.
60873
60874         * modules/gettext, modules/iconv, modules/lock, modules/readline:
60875         Use havelib.
60876
60877 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
60878
60879         Check for arithmetic overflow when calculating sizes, to prevent
60880         some buffer-overflow issues.  These patches are conservative, in the
60881         sense that when I couldn't determine whether an overflow was possible,
60882         I inserted a run-time check.
60883         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
60884         macros.
60885         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
60886         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
60887         (re_xnrealloc, re_x2nrealloc): New inline functions.
60888         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
60889         parse_bracket_exp):
60890         (build_equiv_class, build_charclass): Check for arithmetic overflow
60891         in size expression calculations.
60892         * lib/regex_internal.c (re_string_realloc_buffers):
60893         (build_wcs_upper_buffer, re_node_set_add_intersect):
60894         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
60895         (re_dfa_add_node, register_state): Likewise.
60896         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
60897         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
60898         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
60899         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
60900
60901 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
60902
60903         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
60904         m4/ulonglong.m4.  Problem reported by Martin Lambers.
60905
60906 2005-09-02  Bruno Haible  <bruno@clisp.org>
60907
60908         Support for lib vs. lib64 distinction on biarch platforms.
60909         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
60910         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
60911         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
60912
60913 2005-09-02  Bruno Haible  <bruno@clisp.org>
60914
60915         * gnulib-tool (import): In the other first-use case, provide defaults
60916         as well.
60917
60918 2005-09-02  Bruno Haible  <bruno@clisp.org>
60919
60920         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
60921         patches not yet found in the latest gettext release.
60922
60923 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60924
60925         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
60926         to avoid a collision with bits/local_lim.h in glibc.
60927         All uses changed.  Problem reported by Dmitry V. Levin in
60928         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
60929
60930         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
60931         bugs in int versus size_t comparisons.
60932         (re_string_context_at): Fix bug where the code assumed that
60933         Idx is signed.
60934
60935         Use bool where appropriate.
60936         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
60937         All callers changed.
60938         (calc_eclosure_iter): Likewise, for ROOT arg.
60939         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
60940         (build_charclass_op): Likewise, for NON_MATCH arg.
60941         * lib/regex_internal.c (re_string_allocate, re_string_construct):
60942         (re_string_construct_common): Likewise, for ICASE arg.
60943         * lib/regexec.c (re_search_2_stub, re_search_stub):
60944         Likewise, for RET_LEN arg.
60945         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
60946         (set_regs): Likewise, for FL_BACKTRACK arg.
60947         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
60948         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
60949         (calc_eclosure_iter, parse_bracket_exp):
60950         Use bool for internal variables that are booleans.
60951         * lib/regexec.c (re_search_internal, check_matching,
60952         proceed_next_node):
60953         (set_regs, build_sifted_states, sift_states_bkref):
60954         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
60955         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
60956         (find_collation_sequence_value):
60957         Likewise.
60958         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
60959         (re_node_set_compare):
60960         Return bool, not int. All callers changed.
60961         * lib/regexec.c (check_halt_node_context, check_dst_limits):
60962         (build_trtable, check_node_accept): Likewise.
60963         * lib/regex_internal.h: Include stdbool.h.
60964
60965         Fix bugs uncovered when converting to bool.
60966         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
60967         failure instead of charging ahead blindly.
60968         * lib/regex_internal.c (register_state): Likewise.
60969         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
60970         for freeing internal storage.
60971         (group_nodes_into_DFA_states): Use unsigned int, not int, for
60972         bitset pieces used as boolean, to avoid undefined behavior
60973         on hosts that do int overflow checking.
60974
60975 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
60976
60977         * config/srclist.txt: Add glibc bugs 1285-1287.
60978
60979 2005-09-01  Jim Meyering  <jim@meyering.net>
60980
60981         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
60982         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
60983         Require gl_STAT_MACROS, too.
60984
60985 2005-09-01  Bruno Haible  <bruno@clisp.org>
60986
60987         * gnulib-tool (import): In the first-use case, provide defaults.
60988
60989 2005-09-01  Bruno Haible  <bruno@clisp.org>
60990
60991         * gnulib-tool (func_import): Remove the .tmp files.
60992
60993 2005-09-01  Bruno Haible  <bruno@clisp.org>
60994
60995         * gnulib-tool (func_import): Fix handling of symbolic links.
60996
60997 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
60998
60999         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
61000         old glibc regex code mishandles strings longer than 2**31 bytes.
61001         This patch fixes this when the regex code is used in gnulib
61002         (i.e., outside glibc).
61003
61004         This patch should not affect the use of the regex code inside
61005         glibc.  No doubt this problem also needs to be handled for glibc
61006         as well, but the result will be an incompatible change to the
61007         glibc ABI, and the old ABI will have to be supported too.  That
61008         can be the the subject for another patch.
61009
61010         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
61011         governing whether the rest of this patch is active.  By default,
61012         the macro is disabled and the patch has no effect.
61013         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
61014         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
61015         (struct re_pattern_buffer, re_search, re_search_2, re_match):
61016         (re_match_2, re_set_registers): Use the new types.
61017         * lib/regex_internal.h (Idx, re_hashval_t): New types.
61018         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
61019         New macros.
61020         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
61021         (re_string_context_at, bin_tree_t, re_dfastate_t):
61022         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
61023         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
61024         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
61025         (re_string_char_size_at, re_string_wchar_at):
61026         (re_string_elem_size_at):
61027         Use the new types and macros to port to 64-bit hosts.
61028         Use unsigned types for internal values, so that the code
61029         mostly works even for arrays larger than SSIZE_MAX.
61030         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
61031         (search_duplicated_node, calc_eclosure_iter, fetch_number):
61032         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
61033         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
61034         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
61035         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
61036         (calc_inveclosure, parse_dup_op, build_range_exp):
61037         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
61038         (fetch_number, create_token_tree, mark_opt_subexp):
61039         Likewise.
61040         * lib/regex_internal.c (re_string_construct_common,
61041         create_ci_newstate):
61042         (create_cd_newstate, re_string_allocate, re_string_construct):
61043         (re_string_realloc_buffers, build_wcs_upper_buffer):
61044         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
61045         (re_string_reconstruct, re_string_peek_byte_case):
61046         (re_string_fetch_byte_case, re_string_context_at):
61047         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
61048         (re_node_set_init_copy, re_node_set_add_intersect):
61049         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
61050         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
61051         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
61052         (re_acquire_state, re_acquire_state_context, register_state):
61053         Likewise.
61054         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
61055         search_cur_bkref_entry):
61056         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
61057         (re_search_internal, re_search_2_stub, re_search_stub)
61058         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
61059         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
61060         (update_cur_sifted_state, check_dst_limits):
61061         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
61062         (check_subexp_limits, sift_states_bkref, merge_state_array):
61063         (check_subexp_matching_top, get_subexp, get_subexp_sub):
61064         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
61065         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
61066         (expand_bkref_cache, check_node_accept_bytes):
61067         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
61068         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
61069         (acquire_init_state_context, check_halt_node_context):
61070         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
61071         (sift_states_backward, clean_state_log_if_needed):
61072         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
61073         (find_recover_state, transit_state_sb, transit_state_mb):
61074         (transit_state_bkref, build_trtable, match_ctx_clean):
61075         Likewise.
61076         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
61077         to work around an assumption that REG_MISSING is negative.
61078
61079         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
61080         (seek_collating_symbol_entry) [defined _LIBC]:
61081         (lookup_collation_sequence_value) [defined _LIBC]:
61082         (build_range_exp, build_collating_symbol) [defined _LIBC]:
61083         Use prototypes rather than old-style function definitions.
61084         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
61085         (transit_state_sb) [0]:
61086         (find_collation_sequence_value) [defined _LIBC]: Likewise.
61087
61088         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
61089         rm_eo.
61090
61091         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
61092         (optimize_subexps, lower_subexp):
61093         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
61094         since the signed shift might overflow.  Use 1u<<31 instead.
61095         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
61096         Likewise.
61097         * lib/regexec.c (check_dst_limits_calc_pos_1,
61098         check_subexp_matching_top): Likewise.
61099
61100         * lib/regcomp.c (optimize_subexps, lower_subexp):
61101         Use CHAR_BIT rather than 8, for clarity.
61102         * lib/regexec.c (check_dst_limits_calc_pos_1):
61103         (check_subexp_matching_top): Likewise.
61104         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
61105         have to worry about portability issues when shifting it left.
61106         Remove no-longer-needed test for table_size > 0.
61107         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
61108         in a word, as the resulting behavior is undefined.
61109         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
61110         in one case, a <= should have been an <, and in another case the
61111         whole test was missing.
61112         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
61113         the standard name CHAR_BIT.
61114         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
61115         this is not true on one's complement and signed-magnitude hosts.
61116
61117         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
61118         next_last_offset.
61119         (struct re_dfa_t): Remove unused member states_alloc.
61120         * lib/regcomp.c (init_dfa): Don't initialize unused members.
61121
61122 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61123
61124         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
61125         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
61126         and large-file glibc and in 32-bit large-file Solaris.
61127
61128 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61129
61130         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
61131         lengths fit in regoff_t; this isn't true if regoff_t is the same
61132         width as size_t.
61133         * lib/regex.c (re_search_internal): 5th arg is LAST_START
61134         (= START + RANGE) instead of RANGE.  This avoids overflow
61135         problems when regoff_t is the same width as size_t.
61136         All callers changed.
61137         (re_search_2_stub): Check for overflow when adding the
61138         sizes of the two strings.
61139         (re_search_stub): Check for overflow when adding START
61140         to RANGE; if it occurs, substitute the extreme value.
61141
61142 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
61143
61144         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
61145
61146 2005-08-31  Jim Meyering  <jim@meyering.net>
61147
61148         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
61149         a pointer-to-const.
61150         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
61151         (register_state): Likewise.
61152         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
61153         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
61154         (group_nodes_into_DFAstates): Likewise.
61155
61156 2005-08-31  Jim Meyering  <jim@meyering.net>
61157
61158         * check-module: Add a FIXME comment.
61159
61160 2005-08-31  Eric Blake  <ebb9@byu.net>
61161
61162         * modules/unistd-safer (Files): Add unistd--.h.
61163         * modules/stdio-safer (Files): Add stdio--.h.
61164
61165 2005-08-31  Derek Price  <derek@ximbiot.com>
61166
61167         * lib/getdelim.c (getdelim): Return EOF on EOF.
61168         Reported by Larry Jones <lawrence.jones@ugs.com>.
61169
61170 2005-08-31  Bruno Haible  <bruno@clisp.org>
61171
61172         Avoid unnecessary diffs in the generated lib/Makefile.am.
61173         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
61174         the generated files.
61175         (func_import): Don't set cmd.
61176
61177 2005-08-31  Bruno Haible  <bruno@clisp.org>
61178
61179         * lib/strstr.c: Include <stddef.h>, for NULL.
61180         * lib/strcasestr.c: Likewise.
61181         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61182
61183 2005-08-31  Bruno Haible  <bruno@clisp.org>
61184
61185         * gnulib-tool: New option --macro-prefix.
61186         (func_import): Use macro_prefix.
61187         (import): Handle option --macro-prefix.
61188
61189 2005-08-31  Bruno Haible  <bruno@clisp.org>
61190
61191         * gnulib-tool (import): Rename most ac_* variables to cached_*.
61192         Also use new variables cached_lgpl, cached_libtool.
61193
61194 2005-08-31  Bruno Haible  <bruno@clisp.org>
61195
61196         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
61197         always instantiating them.
61198
61199 2005-08-31  Bruno Haible  <bruno@clisp.org>
61200
61201         * gnulib-tool (func_import): Read the previous cached settings
61202         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
61203         earlier added by gnulib but are now dropped. Warn when a gnulib file
61204         overwrites a non-gnulib file.
61205
61206 2005-08-31  Bruno Haible  <bruno@clisp.org>
61207
61208         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
61209         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
61210         projects that don't keep autogenerated files in CVS. Put into
61211         actioncmd only the specified modules, not the transitive closure.
61212
61213 2005-08-31  Bruno Haible  <bruno@clisp.org>
61214
61215         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
61216         Create directories that shall be filled.
61217         (import): Don't look for gl_* macros in configure.ac. Recurse across
61218         all directories containing a gnulib-cache.m4 files, if meaningful.
61219
61220 2005-08-31  Bruno Haible  <bruno@clisp.org>
61221
61222         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
61223         (import): Set seen_libtool when we see gl_LIBTOOL.
61224
61225 2005-08-31  Bruno Haible  <bruno@clisp.org>
61226
61227         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
61228         declaration macro definitions from generated gnulib.m4.
61229
61230 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
61231
61232         * lib/iconvme.h: Add prototype for iconv_alloc.
61233
61234 2005-08-29  Simon Josefsson  <jas@extundo.com>
61235
61236         * lib/iconvme.c: Fix errno.
61237
61238 2005-08-29  Bruno Haible  <bruno@clisp.org>
61239
61240         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
61241         that it works when the directory contains spaces.
61242
61243 2005-08-29  Bruno Haible  <bruno@clisp.org>
61244
61245         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
61246
61247 2005-08-29  Bruno Haible  <bruno@clisp.org>
61248
61249         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
61250         Emit more advice.
61251
61252 2005-08-29  Bruno Haible  <bruno@clisp.org>
61253         and Stepan Kasal  <kasal@ucw.cz>
61254
61255         * check-module: If more parameters are given, check each of them
61256         separately; add more exceptions, as noted by Jim Meyering.
61257         (check_module): New procedure.
61258         (%exempt_header): Now contains all exceptions.
61259
61260 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
61261
61262         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
61263
61264 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
61265
61266         * lib/iconvme.c: Split iconv_string into iconv_alloc.
61267
61268 2005-08-28  Bruno Haible  <bruno@clisp.org>
61269
61270         * m4/gnulib-tool.m4: New file.
61271
61272 2005-08-27  Jim Meyering  <jim@meyering.net>
61273
61274         * modules/unistd-safer (Files): Add pipe-safer.c.
61275         * modules/fcntl-safer (Files): Add creat-safer.c.
61276
61277 2005-08-27  Jim Meyering  <jim@meyering.net>
61278
61279         * m4/stdlib-safer.m4: New file.  From coreutils.
61280         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
61281         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
61282         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
61283         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
61284         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
61285
61286 2005-08-27  Jim Meyering  <jim@meyering.net>
61287
61288         * lib/fopen-safer.c: Merge minor changes from coreutils.
61289         * lib/dup-safer.c: Likewise.
61290         * lib/fd-safer.c: Likewise.
61291
61292         Merge from coreutils.
61293         * lib/stdio--.h: New file.
61294         * lib/stdlib--.h: New file.
61295         * lib/mkstemp-safer.c: New file.
61296
61297         GNU tar needs these.
61298         * lib/pipe-safer.c: New file.
61299         * lib/creat-safer.c: New file.
61300         * lib/fcntl--.h (creat): Define to creat_safer.
61301         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
61302         * lib/unistd--.h (pipe): Define to pipe_safer.
61303         * lib/unistd-safer.h: Declare pipe_safer.
61304
61305 2005-08-26  Simon Josefsson  <jas@extundo.com>
61306
61307         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
61308         Haible <bruno@clisp.org>.
61309
61310 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
61311
61312         * lib/regex_internal.h: Remove all references to
61313         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
61314         or better.
61315         (bitset_not, bitset_merge, bitset_not_merge):
61316         (bitset_mask, re_string_allocate, re_string_construct):
61317         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
61318         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
61319         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
61320         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
61321         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
61322         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
61323         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
61324         (re_acquire_state_context):
61325         Remove unnecessary forward decls.
61326         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
61327         Put __attribute at function definition,
61328         now that the function decl has been removed.
61329         * lib/regex_internal.c (re_string_peek_byte_case):
61330         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
61331         Likewise.
61332
61333 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
61334
61335         * m4/regex.m4: Add AC_PREREQ(2.50).
61336         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
61337
61338 2005-08-25  Simon Josefsson  <jas@extundo.com>
61339
61340         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
61341         __fsetlocking.
61342
61343 2005-08-25  Simon Josefsson  <jas@extundo.com>
61344
61345         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
61346         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
61347         GLIBC specific code.
61348
61349 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61350
61351         Make regex safe for g++.  This fixes one real bug (an "err"
61352         that should have been "*err").  g++ problem reported by
61353         Sam Steingold.
61354         * lib/regex_internal.h (re_calloc): New macro, consistent with
61355         re_malloc etc.  All callers of calloc changed to use re_calloc.
61356         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
61357         not int.  All callers changed.
61358         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
61359         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
61360         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
61361         (find_recover_state): Change "err" to "*err"; this fixes what
61362         appears to be a real bug.
61363         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
61364         versus int.
61365
61366 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61367
61368         * modules/regex (Depends-on): Add malloc, since the code
61369         assumes that !malloc(0) means failure.
61370
61371 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61372
61373         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
61374
61375         alloca modernization/simplification for regex.
61376         * lib/regex.c: Remove portability cruft for alloca.  This no longer
61377         needs to be at the start of the file, and can be moved into
61378         regex_internal.h and simplified.
61379         * lib/regex_internal.h: Include <alloca.h>.
61380         (__libc_use_alloca) [!defined _LIBC]: New macro.
61381         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
61382         now works outside glibc.
61383
61384 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
61385
61386         * config/srclist.txt: Add glibc bugs 1241, 1245.
61387
61388 2005-08-25  Jim Meyering  <jim@meyering.net>
61389
61390         * lib/open-safer.c: Include <config.h>.
61391         Otherwise, we'd lose LARGEFILE support in any file using
61392         e.g. "fcntl--.h"
61393
61394 2005-08-25  Bruno Haible  <bruno@clisp.org>
61395
61396         * m4/minmax.m4: Require autoconf 2.52.
61397         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
61398         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
61399         alternatives of translit over the alphabet.
61400         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
61401
61402 2005-08-24  Simon Josefsson  <jas@extundo.com>
61403
61404         * tests/test-getpass.c: New file.
61405
61406 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61407
61408         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
61409         for GNU regex features.
61410
61411 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61412
61413         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
61414         * lib/regex.h (regerror): Likewise.
61415
61416         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
61417         requires this.  (The code never needed it.)
61418
61419         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
61420         All uses of recently-renamed identifiers changed to use the new,
61421         POSIX-compliant names.  The code will build and run just fine
61422         without these changes, but it's better to eat our own dog food
61423         and use the standard-conforming names.
61424
61425         * lib/regex.h: Fix a multitude of POSIX name space violations.
61426         These changes have an effect only for programs that define
61427         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
61428         do not change anything for programs compiled in the normal way.
61429         Also, there is no effect on the ABI.
61430
61431         (_REGEX_SOURCE): New macro.
61432         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
61433         defined and _GNU_SOURCE is not; this fixes a name space violation.
61434
61435         Rename the following macros to obey POSIX requirements.
61436         The old names are still visible as macros if _REGEX_SOURCE is defined.
61437         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
61438         RE_BACKSLASH_ESCAPE_IN_LISTS.
61439         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
61440         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
61441         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
61442         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
61443         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
61444         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
61445         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
61446         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
61447         (REG_INTERVALS): renamed from RE_INTERVALS.
61448         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
61449         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
61450         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
61451         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
61452         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
61453         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
61454         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
61455         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
61456         RE_UNMATCHED_RIGHT_PAREN_ORD.
61457         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
61458         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
61459         (REG_DEBUG): renamed from RE_DEBUG.
61460         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
61461         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
61462         unusual, since we can't clash with the POSIX REG_ICASE.
61463         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
61464         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
61465         (REG_NO_SUB): renamed from RE_NO_SUB.
61466         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
61467         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
61468         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
61469         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
61470         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
61471         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
61472         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
61473         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
61474         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
61475         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
61476         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
61477         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
61478         RE_SYNTAX_POSIX_MINIMAL_BASIC.
61479         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
61480         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
61481         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
61482         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
61483         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
61484         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
61485         (REG_FIXED): Renamed from REGS_FIXED.
61486         (REG_NREGS): Renamed from RE_NREGS.
61487
61488         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
61489         of other REG_* macros, since POSIX says the user is allowed to
61490         #undef these macros selectively.
61491
61492         (reg_errcode_t): Update comment stating what other tables need
61493         to be consistent.
61494
61495         Rename the following enum values to obey POSIX requirements.
61496         The old names are still visible as macros.
61497         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
61498         is not defined, since GNU is supposed to be a superset of POSIX as
61499         much as possible, and since we want reg_errcode_t to be a signed
61500         type for implementation consistency.
61501         (_REG_NOERROR): Renamed from REG_NOERROR.
61502         (_REG_NOMATCH): Renamed from REG_NOMATCH.
61503         (_REG_BADPAT): Renamed from REG_BADPAT.
61504         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
61505         (_REG_ECTYPE): Renamed from REG_ECTYPE.
61506         (_REG_EESCAPE): Renamed from REG_EESCAPE.
61507         (_REG_ESUBREG): Renamed from REG_ESUBREG.
61508         (_REG_EBRACK): Renamed from REG_EBRACK.
61509         (_REG_EPAREN): Renamed from REG_EPAREN.
61510         (_REG_EBRACE): Renamed from REG_EBRACE.
61511         (_REG_BADBR): Renamed from REG_BADBR.
61512         (_REG_ERANGE): Renamed from REG_ERANGE.
61513         (_REG_ESPACE): Renamed from REG_ESPACE.
61514         (_REG_BADRPT): Renamed from REG_BADRPT.
61515         (_REG_EEND): Renamed from REG_EEND.
61516         (_REG_ESIZE): Renamed from REG_ESIZE.
61517         (_REG_ERPAREN): Renamed from REG_ERPAREN.
61518         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
61519         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
61520         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
61521         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
61522
61523         (_REG_RE_NAME, _REG_RM_NAME): New macros.
61524         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
61525         changed.  But support the old name if the new one is not defined
61526         and if _REGEX_SOURCE.
61527
61528         Change the following member names in struct re_pattern_buffer.
61529         The old names are still supported if !_REGEX_SOURCE.
61530         The new names are always supported, regardless of _REGEX_SOURCE.
61531         (re_buffer): Renamed from buffer.
61532         (re_allocated): Renamed from allocated.
61533         (re_used): Renamed from used.
61534         (re_syntax): Renamed from syntax.
61535         (re_fastmap): Renamed from fastmap.
61536         (re_translate): Renamed from translate.
61537         (re_can_be_null): Renamed from can_be_null.
61538         (re_regs_allocated): Renamed from regs_allocated.
61539         (re_fastmap_accurate): Renamed from fastmap_accurate.
61540         (re_no_sub): Renamed from no_sub.
61541         (re_not_bol): Renamed from not_bol.
61542         (re_not_eol): Renamed from not_eol.
61543         (re_newline_anchor): Renamed from newline_anchor.
61544
61545         Change the following member names in struct re_registers.
61546         The old names are still supported if !_REGEX_SOURCE.
61547         The new names are always supported, regardless of _REGEX_SOURCE.
61548         (rm_num_regs): Renamed from num_regs.
61549         (rm_start): Renamed from start.
61550         (rm_end): Renamed from end.
61551
61552         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
61553         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
61554         Prepend __ to parameter names.
61555
61556         Undo yesterday's changes.
61557
61558 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
61559
61560         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
61561         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
61562         lib/regex.c.
61563
61564 2005-08-24  Jim Meyering  <jim@meyering.net>
61565
61566         Sync from coreutils.
61567         * m4/fcntl-safer.m4: New file.
61568
61569         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
61570         and object files for this module.
61571
61572 2005-08-24  Jim Meyering  <jim@meyering.net>
61573
61574         Sync from coreutils.
61575         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
61576
61577 2005-08-24  Jim Meyering  <jim@meyering.net>
61578
61579         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
61580         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
61581
61582 2005-08-24  Jim Meyering  <jim@meyering.net>
61583
61584         * modules/fcntl-safer: New module.
61585         * modules/fts (Depends-on): Add fcntl-safer.
61586         * MODULES.html.sh (File descriptor based Input/Output):
61587         Add fcntl-safer.
61588
61589 2005-08-24  Bruno Haible  <bruno@clisp.org>
61590
61591         Support for unit test modules.
61592         * modules/README: Mention tests modules.
61593         * modules/TEMPLATE-TESTS: New file.
61594         * gnulib-tool: New options --extract-tests-module, --with-tests and
61595         --tests-base (unused for the moment).
61596         (testsbase, inctests): New variables.
61597         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
61598         (func_verify_module): Exclude TEMPLATE-TESTS.
61599         (func_verify_nontests_module, func_verify_tests_module): New functions.
61600         (func_get_dependencies): Add implicit dependency for tests modules.
61601         (func_get_tests_module): New function.
61602         (func_modules_transitive_closure): When --with-tests was specified,
61603         include the unit tests as well, unless explicitly avoided.
61604         (func_emit_lib_Makefile_am): Ignore the tests modules here.
61605         (func_emit_tests_Makefile_am): New function.
61606         (func_create_testdir): When --with-tests was specified, emit a
61607         tests/ directory.
61608         * MODULES.html.sh (Future developments): Update.
61609
61610 2005-08-24  Bruno Haible  <bruno@clisp.org>
61611
61612         * modules/tls-tests: New file.
61613         * tests/test-tls.c: New file, from GNU gettext.
61614
61615 2005-08-24  Bruno Haible  <bruno@clisp.org>
61616
61617         * modules/lock-tests: New file.
61618         * tests/test-lock.c: New file, from GNU gettext.
61619
61620 2005-08-24  Bruno Haible  <bruno@clisp.org>
61621
61622         * lib/lock.h: Add multiple inclusion guard.
61623         * lib/tls.h: Add multiple inclusion guard.
61624
61625 2005-08-24  Bruno Haible  <bruno@clisp.org>
61626
61627         * gnulib-tool: Add support for the --aux-dir option to
61628         --create-testdir, --create-megatestdir, --test, --megatest.
61629         (func_create_testdir, func_create_megatestdir): Optionally emit a
61630         AC_CONFIG_AUX_DIR directive.
61631         (create-testdir, create-megatestdir, test, megatest): Provide a
61632         default value for $auxdir.
61633
61634 2005-08-24  Bruno Haible  <bruno@clisp.org>
61635
61636         * gnulib-tool (import): Use compound statement instead of subshell
61637         where possible.
61638
61639 2005-08-24  Bruno Haible  <bruno@clisp.org>
61640
61641         * gnulib-tool (import): Change --aux-dir default to "build-aux".
61642
61643 2005-08-24  Bruno Haible  <bruno@clisp.org>
61644
61645         * gnulib-tool (func_version): Update.
61646
61647 2005-08-24  Bruno Haible  <bruno@clisp.org>
61648
61649         * gnulib-tool (func_import, func_create_testdir,
61650         func_create_megatestdir): Quote all autoconf macro arguments.
61651
61652 2005-08-24  Bruno Haible  <bruno@clisp.org>
61653
61654         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
61655         option --force, because --force causes the aclocal.m4 of each
61656         subdirectory to be newer than the corresponding config.h.in.
61657
61658 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61659
61660         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
61661         All contents moved to gl_REGEX.
61662         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
61663         assume that it does.
61664
61665 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61666
61667         * lib/regex.h (REG_NOSYS)
61668         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
61669         Define, since POSIX requires it as of 2001.
61670         (_REG_ENOSYS)
61671         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
61672         New private symbol, used to keep the enum signed in all cases.
61673         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
61674         Youngman in
61675         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
61676
61677         * lib/regex_internal.c (re_string_skip_chars, register_state):
61678         (calc_state_hash):
61679         Remove forward decls; no longer needed now that we use prototypes.
61680         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
61681         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
61682         (clean_state_log_if_needed): Likewise.
61683
61684 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
61685
61686         * config/srclist.txt: Add glibc bugs 1231-1233.
61687
61688 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61689
61690         Fix problems reported by Sam Steingold in
61691         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
61692         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
61693         assumed that reg_errcode_t is a signed type, which is not
61694         necessarily true if _XOPEN_SOURCE is not defined.
61695         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
61696         since some compilers warn about it otherwise.
61697
61698 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61699
61700         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
61701         (init_word_char, create_initial_state, duplicate_node_closure):
61702         (fetch_token, peek_token_bracket, build_range_exp):
61703         (build_collating_symbol): Remove forward decls; no longer needed
61704         now that we use prototypes.
61705
61706         * lib/regcomp.c:
61707         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
61708         (re_compile_fastmap_iter, regcomp, regerror, regfree):
61709         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
61710         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
61711         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
61712         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
61713         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
61714         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
61715         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
61716         (build_range_exp, build_collating_symbol, parse_bracket_exp):
61717         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
61718         (build_charclass, build_charclass_op, fetch_number, create_tree):
61719         (create_token_tree, mark_opt_subexp, duplicate_tree):
61720         Use prototypes rather than old-style definitions.
61721
61722         * lib/regex_internal.c:
61723         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
61724         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
61725         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
61726         (re_string_reconstruct, re_string_peek_byte_case):
61727         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
61728         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
61729         (re_node_set_init_copy, re_node_set_add_intersect):
61730         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
61731         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
61732         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
61733         (re_acquire_state, re_acquire_state_context, register_state):
61734         (create_ci_newstate, create_cd_newstate, free_state):
61735         Likewise.
61736         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
61737         re_search_2):
61738         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
61739         (re_search_internal, prune_impossible_nodes):
61740         (acquire_init_state_context, check_matching, static):
61741         (check_halt_node_context, check_halt_state_context, proceed_next_node):
61742         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
61743         (update_regs, sift_states_backward, build_sifted_states):
61744         (clean_state_log_if_needed, merge_state_array):
61745         (update_cur_sifted_state, add_epsilon_src_nodes):
61746         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
61747         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
61748         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
61749         (find_recover_state, check_subexp_matching_top, transit_state_mb):
61750         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
61751         (check_arrival, check_arrival_add_next_nodes):
61752         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
61753         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
61754         (check_node_accept_bytes, check_node_accept, extend_buffers):
61755         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
61756         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
61757         (sift_ctx_init):
61758         Likewise.
61759
61760         * lib/regex_internal.h:
61761         (re_string_allocate, re_string_construct, re_string_reconstruct):
61762         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
61763         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
61764         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
61765         (re_string_context_at, re_string_peek_byte_case):
61766         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
61767         is defined, since we now use prototypes always.
61768
61769         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
61770         C89 or better.  All uses removed.
61771
61772 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
61773
61774         * config/srclist.txt: Add glibc bugs 1220-1227.
61775
61776 2005-08-20  Jim Meyering  <jim@meyering.net>
61777
61778         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
61779         of unused local, dfa.
61780
61781 2005-08-20  Bruno Haible  <bruno@clisp.org>
61782
61783         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
61784
61785 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61786
61787         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
61788         (re_node_set_insert_last, re_dfa_add_node):
61789         Rename local variables to avoid GCC shadowing warnings.
61790
61791 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61792
61793         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
61794         [defined lint]: Suppress bogus uninitialized-variable warnings.
61795
61796         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
61797         and let the caller return REG_ESPACE if out of space.  This
61798         removes an uninitialied-variable warning with GCC 4.0.1, and also
61799         avoids taking the address of a local variable.  All callers
61800         changed.
61801
61802 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
61803
61804         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
61805         $LIBCSRC/posix/regexec.c.
61806         Add glibc bug 1217 for regcomp.c.
61807
61808 2005-08-19  Jim Meyering  <jim@meyering.net>
61809
61810         * lib/regexec.c (proceed_next_node): Redo local variables to
61811         avoid GCC shadowing warnings.
61812
61813 2005-08-18  Bruno Haible  <bruno@clisp.org>
61814
61815         * lib/strstr.c (strstr): Fix return value in multibyte case.
61816         * lib/strcasestr.c (strcasestr): Likewise.
61817
61818 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
61819
61820         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
61821
61822 2005-08-17  Jim Meyering  <jim@meyering.net>
61823
61824         Make the %s format (seconds since the epoch) work for a negative
61825         number and when used with a zero-padded field width, e.g. %015s.
61826
61827         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
61828         label so that it precedes the code to set `digits'.  Otherwise,
61829         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
61830         print `00-22'.  Now, it prints `-0022', as it should.
61831
61832 2005-08-17  Bruno Haible  <bruno@clisp.org>
61833
61834         * modules/strstr (Files): Add m4/mbrtowc.m4.
61835         (Depends-on): Add mbuiter.
61836
61837 2005-08-17  Bruno Haible  <bruno@clisp.org>
61838
61839         * modules/strcasestr: New file.
61840         * MODULES.html.sh (String handling, based on ANSI C 89): Add
61841         strcasestr.
61842
61843 2005-08-17  Bruno Haible  <bruno@clisp.org>
61844
61845         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
61846
61847 2005-08-17  Bruno Haible  <bruno@clisp.org>
61848
61849         * modules/mbuiter: New file.
61850         * MODULES.html.sh (Extended multibyte and wide character utilities):
61851         Add mbuiter.
61852
61853 2005-08-17  Bruno Haible  <bruno@clisp.org>
61854
61855         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
61856         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
61857
61858 2005-08-17  Bruno Haible  <bruno@clisp.org>
61859
61860         * m4/strcasestr.m4: New file.
61861
61862 2005-08-17  Bruno Haible  <bruno@clisp.org>
61863
61864         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
61865         * lib/strstr.c: Completely rewritten, with multibyte locale support.
61866
61867 2005-08-17  Bruno Haible  <bruno@clisp.org>
61868
61869         * lib/strcasestr.h: New file.
61870         * lib/strcasestr.c: New file.
61871
61872 2005-08-17  Bruno Haible  <bruno@clisp.org>
61873
61874         * lib/strcasecmp.c: Use mbuiter.h.
61875
61876 2005-08-17  Bruno Haible  <bruno@clisp.org>
61877
61878         * lib/mbuiter.h: New file.
61879
61880 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
61881
61882         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
61883         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
61884         and gl_GETOPT are both invoked via different paths (as happens
61885         with GNU tar CVS because it uses both argp and getopt), the former
61886         wins.
61887
61888 2005-08-16  Bruno Haible  <bruno@clisp.org>
61889
61890         * modules/tls: New file.
61891         * MODULES.html.sh (Multithreading): Add tls.
61892
61893 2005-08-16  Bruno Haible  <bruno@clisp.org>
61894
61895         * modules/strnlen1: New file.
61896         * MODULES.html.sh (String handling): Add strnlen1.
61897
61898 2005-08-16  Bruno Haible  <bruno@clisp.org>
61899
61900         * modules/strcase (Files): Add m4/mbrtowc.m4.
61901         (Depends-on): Add strnlen1, mbchar.
61902
61903 2005-08-16  Bruno Haible  <bruno@clisp.org>
61904
61905         * modules/mbiter: New file.
61906         * MODULES.html.sh (Extended multibyte and wide character utilities):
61907         Add mbiter.
61908
61909 2005-08-16  Bruno Haible  <bruno@clisp.org>
61910
61911         * modules/mbfile: New file.
61912         * MODULES.html.sh (Extended multibyte and wide character utilities):
61913         Add mbfile.
61914
61915 2005-08-16  Bruno Haible  <bruno@clisp.org>
61916
61917         * modules/mbchar: New file.
61918         * MODULES.html.sh (Extended multibyte and wide character utilities):
61919         New section.
61920
61921 2005-08-16  Bruno Haible  <bruno@clisp.org>
61922
61923         * m4/tls.m4: New file, from GNU gettext.
61924
61925 2005-08-16  Bruno Haible  <bruno@clisp.org>
61926
61927         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
61928         always.
61929         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
61930
61931 2005-08-16  Bruno Haible  <bruno@clisp.org>
61932
61933         * m4/mbiter.m4: New file.
61934
61935 2005-08-16  Bruno Haible  <bruno@clisp.org>
61936
61937         * m4/mbfile.m4: New file.
61938
61939 2005-08-16  Bruno Haible  <bruno@clisp.org>
61940
61941         * m4/mbchar.m4: New file.
61942
61943 2005-08-16  Bruno Haible  <bruno@clisp.org>
61944
61945         * lib/tls.h: New file, from GNU gettext.
61946         * lib/tls.c: New file, from GNU gettext.
61947
61948 2005-08-16  Bruno Haible  <bruno@clisp.org>
61949
61950         * lib/strnlen1.h: New file.
61951         * lib/strnlen1.c: New file.
61952
61953 2005-08-16  Bruno Haible  <bruno@clisp.org>
61954
61955         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
61956         (mbi_init): Update.
61957         (mbi_avail, mbi_advance): Let the iteration end before the terminating
61958         NUL byte, not after it.
61959
61960 2005-08-16  Bruno Haible  <bruno@clisp.org>
61961
61962         * lib/strcase.h (strcasecmp): Add note in comments.
61963         * lib/strncasecmp.c: Use code from strcasecmp.c.
61964         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
61965         (strcasecmp): Work correctly in multibyte locales.
61966
61967 2005-08-16  Bruno Haible  <bruno@clisp.org>
61968
61969         * lib/mbiter.h: New file.
61970
61971 2005-08-16  Bruno Haible  <bruno@clisp.org>
61972
61973         * lib/mbfile.h: New file.
61974
61975 2005-08-16  Bruno Haible  <bruno@clisp.org>
61976
61977         * lib/mbchar.h: New file.
61978         * lib/mbchar.c: New file.
61979
61980 2005-08-16  Bruno Haible  <bruno@clisp.org>
61981
61982         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
61983         the valid ones. Makes the comparison operations transitive:
61984         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
61985         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
61986
61987 2005-08-15  Simon Josefsson  <jas@extundo.com>
61988
61989         * modules/ssize_t (License): Change to 'unlimited'.
61990
61991         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
61992
61993 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61994
61995         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
61996         Add comments for each pending glibc patch.
61997
61998 2005-08-15  Bruno Haible  <bruno@clisp.org>
61999
62000         * lib/regex.h (__restrict_arr): Don't define to __restrict if
62001         __cplusplus is defined.
62002
62003 2005-08-14  Jim Meyering  <jim@meyering.net>
62004
62005         Sync from coreutils.
62006
62007         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
62008         Use the hash-table-based cycle-detection code not just when
62009         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
62010         Reported by James Youngman in
62011         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
62012         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
62013         FTS_TIGHT_CYCLE_CHECK.
62014         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
62015         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
62016         once again.
62017         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
62018         * lib/fts.c (fd_safer): Remove decl.
62019         Include fcntl--.h rather than unistd-safer.h
62020         (fts_safe_changedir): Don't call fd_safer; no longer needed
62021         now that we include fcntl--.h.
62022
62023 2005-08-12  Simon Josefsson  <jas@extundo.com>
62024
62025         * modules/getndelim2: Use ssize_t module.
62026         * modules/getnline: Likewise.
62027         * modules/safe-read: Likewise.
62028         * modules/xreadlink: Likewise.
62029
62030         * modules/ssize_t: New file.
62031
62032 2005-08-12  Simon Josefsson  <jas@extundo.com>
62033
62034         * m4/readline.m4: Look for termcap, curses or ncurses if required.
62035
62036 2005-08-12  Simon Josefsson  <jas@extundo.com>
62037
62038         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62039         ssize_t.
62040
62041 2005-08-12  Simon Josefsson  <jas@extundo.com>
62042
62043         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
62044         readline, getdelim and check_version.
62045         (Support for systems lacking ISO C 99: Sizes of integer types):
62046         Add size_max.
62047
62048 2005-08-12  Bruno Haible  <bruno@clisp.org>
62049
62050         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
62051
62052 2005-08-11  Simon Josefsson  <jas@extundo.com>
62053
62054         * modules/readline: New file.
62055
62056         * modules/strnlen (Files): Add strnlen.h.
62057
62058 2005-08-11  Simon Josefsson  <jas@extundo.com>
62059
62060         * m4/readline.m4: New file.
62061
62062 2005-08-11  Simon Josefsson  <jas@extundo.com>
62063
62064         * lib/readline.h, readline.c: New file.
62065
62066 2005-08-11  Simon Josefsson  <jas@extundo.com>
62067
62068         * doc/gnulib.texi (Initial import, Finishing touches): Mention
62069         gl_AVOID.
62070
62071 2005-08-11  Bruno Haible  <bruno@clisp.org>
62072
62073         * lib/strnlen.h (strnlen): Change parameter name to match comment.
62074
62075 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
62076
62077         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
62078
62079 2005-08-10  Simon Josefsson  <jas@extundo.com>
62080
62081         * tests/test-iconvme.c: New file.
62082
62083 2005-08-10  Simon Josefsson  <jas@extundo.com>
62084
62085         * m4/strnlen.m4: New file.
62086
62087         * m4/strndup.m4: Don't check for strnlen declaration, done in
62088         strnlen.m4.
62089
62090 2005-08-10  Simon Josefsson  <jas@extundo.com>
62091
62092         * lib/strndup.c: Use strnlen.h.
62093
62094         * lib/strnlen.h: New file.
62095
62096 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62097
62098         * README: Typos.
62099
62100 2005-08-02  Simon Josefsson  <jas@extundo.com>
62101
62102         * modules/readline: New file.
62103
62104 2005-08-02  Simon Josefsson  <jas@extundo.com>
62105
62106         * modules/getdelim: New file.
62107
62108         * modules/getline: Rewrite, don't use getndelim2.
62109
62110 2005-08-02  Simon Josefsson  <jas@extundo.com>
62111
62112         * m4/getline.m4: Separate out getdelim stuff into separate module.
62113
62114         * m4/getdelim.m4: New file.
62115
62116 2005-08-02  Simon Josefsson  <jas@extundo.com>
62117
62118         * lib/getline.h, getline.c: Rewrite.
62119
62120         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
62121
62122 2005-07-31  Bruno Haible  <bruno@clisp.org>
62123
62124         * lib/lock.h (gl_lock_initializer): New macro.
62125         (gl_lock_define_initialized): Use it.
62126         (gl_rwlock_initializer): New macro.
62127         (gl_rwlock_define_initialized): Use it.
62128         (gl_recursive_lock_initializer): New macro.
62129         (gl_recursive_lock_define_initialized): Use it.
62130
62131 2005-07-30  Karl Berry  <karl@gnu.org>
62132
62133         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
62134         Report from Ben Pfaff, regarding getopt.
62135
62136 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
62137
62138         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
62139         normal way.
62140         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
62141         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
62142         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
62143         (gl_GETOPT): Use the new macros.  Most of the implementation
62144         is moved to the new macros.  This is for programs like Emacs
62145         that don't want all the functionality of gl_GETOPT.
62146
62147 2005-07-26  Bruno Haible  <bruno@clisp.org>
62148
62149         * m4/lock.m4: Update from GNU gettext.
62150
62151 2005-07-26  Bruno Haible  <bruno@clisp.org>
62152
62153         * lib/lock.h: Update from GNU gettext.
62154         * lib/lock.c: Update from GNU gettext.
62155
62156 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
62157
62158         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
62159         obsolescent AC_TRY_RUN.  Include the default includes files, for
62160         'exit'.
62161
62162 2005-07-24  Bruno Haible  <bruno@clisp.org>
62163
62164         * modules/visibility: New file.
62165         * MODULES.html.sh (Misc): Add visibility.
62166
62167 2005-07-24  Bruno Haible  <bruno@clisp.org>
62168
62169         * m4/visibility.m4: New file.
62170
62171 2005-07-24  Bruno Haible  <bruno@clisp.org>
62172
62173         * doc/visibility.texi: New file.
62174
62175 2005-07-22  Bruno Haible  <bruno@clisp.org>
62176
62177         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
62178         $(ALLOCA_H), redundant through BUILT_SOURCES.
62179         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
62180         redundant through BUILT_SOURCES.
62181         * modules/byteswap (Makefile.am): Remove explicit dependency on
62182         $(BYTESWAP_H), redundant through BUILT_SOURCES.
62183         * modules/fnmatch (Makefile.am): Remove explicit dependency on
62184         $(FNMATCH_H), redundant through BUILT_SOURCES.
62185         * modules/getopt (Makefile.am): Remove explicit dependency on
62186         $(GETOPT_H), redundant through BUILT_SOURCES.
62187         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
62188         redundant through BUILT_SOURCES.
62189         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
62190         redundant through BUILT_SOURCES.
62191         * modules/stdbool (Makefile.am): Remove explicit dependency on
62192         $(STDBOOL_H), redundant through BUILT_SOURCES.
62193         * modules/stdint (Makefile.am): Remove explicit dependency on
62194         $(STDINT_H), redundant through BUILT_SOURCES.
62195         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
62196         Remove explicit dependency on $(SYSEXITS_H).
62197         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
62198
62199 2005-07-18  Simon Josefsson  <jas@extundo.com>
62200
62201         * lib/check-version.c (check_version): Accept identical versions too.
62202
62203 2005-07-18  Bruno Haible  <bruno@clisp.org>
62204
62205         * modules/lock: New file.
62206         * MODULES.html.sh (Multithreading): New section.
62207
62208 2005-07-18  Bruno Haible  <bruno@clisp.org>
62209
62210         * m4/lock.m4: New file, from GNU gettext.
62211
62212 2005-07-18  Bruno Haible  <bruno@clisp.org>
62213
62214         * lib/lock.h: New file, from GNU gettext.
62215         * lib/lock.c: New file, from GNU gettext.
62216
62217 2005-07-18  Bruno Haible  <bruno@clisp.org>
62218
62219         * lib/lock.h (gl_once_t): New type.
62220         (gl_once_define, gl_once): New macros.
62221         * lib/lock.c (fresh_once): New variable.
62222         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
62223         functions.
62224
62225 2005-07-16  Simon Josefsson  <jas@extundo.com>
62226
62227         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
62228         workaround, suggested by Bruno.
62229
62230 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
62231
62232         * modules/xalloc (Depends-on): Add xalloc-die.
62233         * modules/xvasprintf (Depends-on): Add xalloc-die.
62234
62235 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
62236
62237         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
62238         with a minor change.
62239
62240 2005-07-15  Bruno Haible  <bruno@clisp.org>
62241
62242         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
62243         When using lib/poll.c, define poll as rpl_poll.
62244
62245 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
62246
62247         * modules/argp (Depends-on): Remove unlocked-io.
62248
62249 2005-07-14  Derek Price  <derek@ximbiot.com>
62250
62251         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
62252         for glob symlink bug.
62253
62254 2005-07-14  Bruno Haible  <bruno@clisp.org>
62255
62256         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
62257         Instead, test for *_unlocked function declarations directly.
62258
62259 2005-07-11  Simon Josefsson  <jas@extundo.com>
62260
62261         * modules/size_max: New file.
62262
62263         * modules/xsize: Depend on size_max module for size_max.m4.
62264
62265 2005-07-11  Simon Josefsson  <jas@extundo.com>
62266
62267         * lib/size_max.h: New file.
62268
62269 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
62270
62271         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
62272         copyright symbol and the year.
62273         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
62274         (version_etc_va): Use parameterized copyright notice.
62275         Reword to conform to the current GNU coding standards.
62276
62277 2005-07-11  Karl Berry  <karl@gnu.org>
62278
62279         * doc/gnulib.texi (Quoting): new node.
62280         (Initial import): more info, from Patrice.
62281
62282 2005-07-11  Bruno Haible  <bruno@clisp.org>
62283
62284         * gnulib-tool (func_usage): Document option --avoid.
62285         (Command line options): Handle --avoid.
62286         (func_acceptable): New function.
62287         (func_modules_transitive_closure): Use it.
62288
62289 2005-07-11  Bruno Haible  <bruno@clisp.org>
62290
62291         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
62292         Reported by Jim Meyering.
62293
62294 2005-07-10  Bruno Haible  <bruno@clisp.org>
62295
62296         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
62297         Needed when size_t is smaller than 'unsigned int'.
62298         Reported by Paul Eggert.
62299
62300 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62301
62302         * modules/argp (Depends-on): Add unlocked-io
62303
62304 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62305
62306         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
62307         block of defines.
62308
62309 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
62310
62311         * config/srclist.txt: Comment out regcomp.c, since we have a porting
62312         fix now.
62313
62314 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
62315         and Paul Eggert  <eggert@cs.ucla.edu>
62316
62317         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
62318         in wint_t, not wchar_t.  Remove now-unnecessary cast.
62319
62320 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62321
62322         * modules/regex (Files): Add lib/regex_internal.c,
62323         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
62324         (Depends-on): Add extensions.
62325         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
62326
62327 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62328
62329         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
62330         pathconf.
62331         * m4/same.m4 (gl_SAME): Likewise.
62332         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
62333
62334         * m4/regex.m4: Adjust to new libc regex implementation.
62335         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
62336         all the .c and .h parts of (the new) regex.
62337         Quote the m4 stuff better.
62338         Check for RE_ICASE bug of old gnulib.
62339         Check for REG_STARTEND of recent libc.
62340         Rename local variables from jm_* to gl_*.
62341         Quote operand of "test -f".
62342         Say "recent enough" version of libc, not "version 2".
62343         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
62344         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
62345         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
62346         Remove check for btowc, isascii.
62347         Require AM_LANGINFO_CODESET.
62348
62349 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62350
62351         * lib/regex.c, regex.h: Sync from libc.
62352         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
62353         * lib/regexec.c:
62354         New files, synced from libc, except that regex_internal.h
62355         currently has a small porting fix.
62356
62357 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
62358
62359         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
62360         regex_internal.c, regexec.c.
62361         Add regex_internal.h too, but as a comment, since the libc version
62362         is currently broken in gnulib mode.
62363
62364 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
62365
62366         Support programs like Emacs that use gnulib but not gettext.
62367         * MODULES.html.sh (Internationalization functions): Add gettext-h.
62368         * modules/gettext-h: New file.
62369         * modules/gettext (Files): Remove lib/gettext.h.
62370         (Depends-on): Add gettext-h.
62371         (Makefile.am): Remove lib_SOURCES.
62372         * modules/argmatch, modules/c-stack, modules/closeout:
62373         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
62374         * modules/execute, modules/file-type, modules/getaddrinfo:
62375         * modules/getopt, modules/human, modules/javacomp:
62376         * modules/javaexec, modules/mkdir-p, modules/obstack:
62377         * modules/openat, modules/pagealign_alloc, modules/pipe:
62378         * modules/quotearg, modules/regex, modules/rpmatch:
62379         * modules/unicodeio, modules/userspec, modules/version-etc:
62380         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
62381         * modules/xsetenv:
62382         Depend on gettext-h, not gettext.
62383
62384 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
62385
62386         * gnulib-tool (func_import): Add support for 'public domain' license.
62387         * modules/alloca, modules/atexit, modules/memmove:
62388         Now public domain, not GPL.
62389         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
62390         * modules/realloc, modules/strerror, modules/strtod:
62391         Now LGPL, not GPL.
62392
62393 2005-07-05  Bruno Haible  <bruno@clisp.org>
62394
62395         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
62396         autoconf CVS. Needed for mingw.
62397
62398 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62399
62400         Remove the dependency of the strftime module on the tzset module.
62401         * modules/strftime (Depends-on): Remove dependency on tzset.
62402
62403 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62404
62405         Remove the dependency of the strftime module on the tzset module.
62406         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
62407         gl_FUNC_TZSET_CLOBBER.
62408
62409 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
62410
62411         Remove the dependency of the strftime module on the tzset module.
62412         * lib/strftime.c (my_strftime)
62413         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
62414         Copy the input structure, to work around some of the bug with
62415         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
62416         Solaris releases, you should also use the tzset module, but we won't
62417         require it as a dependency any more since we don't want LGPLed code
62418         to depend on GPLed code.
62419
62420 2005-07-02  Jim Meyering  <jim@meyering.net>
62421
62422         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
62423         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
62424         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
62425         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
62426
62427 2005-07-02  Jim Meyering  <jim@meyering.net>
62428
62429         * lib/backupfile.c (backup_args): Change a `0' to NULL.
62430
62431 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
62432
62433         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
62434         declares only 'struct timespec;' (!).
62435
62436 2005-07-01  Jim Meyering  <jim@meyering.net>
62437
62438         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
62439         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
62440         * lib/save-cwd.c, tempname.c:
62441         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
62442         and don't include <sys/file.h>).
62443
62444 2005-06-29  Jim Meyering  <jim@meyering.net>
62445
62446         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
62447         type name.  Use the variable name instead.
62448         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
62449         Likewise.
62450
62451 2005-06-28  Simon Josefsson  <jas@extundo.com>
62452
62453         * modules/check-version (Files): Add check-version.m4.
62454
62455 2005-06-28  Simon Josefsson  <jas@extundo.com>
62456
62457         * m4/check-version.m4: New file, suggested by Jim Meyering
62458         <jim@meyering.net>.
62459
62460 2005-06-28  Simon Josefsson  <jas@extundo.com>
62461
62462         * lib/check-version.h, lib/check-version.c: New files.
62463
62464 2005-06-28  Simon Josefsson  <jas@extundo.com>
62465
62466         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
62467         collision with global variable.  Better indentation.  Don't
62468         increment buffer pointer beyond buffer end.  Based on comments
62469         from Paul Eggert <eggert@cs.ucla.edu>.
62470
62471         * lib/base64.h: Indent.
62472
62473 2005-06-28  Simon Josefsson  <jas@extundo.com>
62474
62475         * doc/gnulib.texi (Library version handling): New section.
62476
62477 2005-06-28  Jim Meyering  <jim@meyering.net>
62478
62479         * check-module (find_included_lib_files): Hard-code another
62480         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
62481         but modules/fts-lgpl (correctly) does not list those files.
62482
62483         * modules/canonicalize (Files): Add lib/pathmax.h.
62484
62485 2005-06-25  Simon Josefsson  <jas@extundo.com>
62486
62487         * modules/check-version: New file.
62488
62489 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
62490
62491         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
62492         initializer of struct addrinfo, as an indication that we don't
62493         care how many members the structure has.
62494
62495 2005-06-24  Derek Price  <derek@ximbiot.com>
62496         and Bruno Haible  <bruno@clisp.org>
62497
62498         Remove stat module & update lstat.
62499         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
62500         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
62501         * m4/stat.m4: Remove this file.
62502
62503 2005-06-24  Derek Price  <derek@ximbiot.com>
62504         and Bruno Haible  <bruno@clisp.org>
62505
62506         Remove stat module & update lstat.
62507         * lib/stat.c: Remove this file...
62508         (slash_aware_lstat): ...moving this content and its support...
62509         * lib/lstat.c (rpl_lstat): ...into here.
62510         * lib/lstat.h: New file.
62511
62512 2005-06-24  Derek Price  <derek@ximbiot.com>
62513         and Bruno Haible  <bruno@clisp.org>
62514
62515         Remove stat module & update lstat.
62516         * config/srclist.txt (libc sources): Remove stat.
62517
62518 2005-06-24  Derek Price  <derek@ximbiot.com>
62519         and Bruno Haible  <bruno@clisp.org>
62520
62521         Remove stat module & update lstat.
62522         * MODULES.html.sh (stat): Remove.
62523         * MODULES.html: Regenerated.
62524         * modules/lstat (Description): Correct function name.
62525         (Files): Add "lstat.h".
62526         (Depends-on): Remove stat, add xalloc, stat-macros.
62527         * modules/stat: Remove this file.
62528         (Include): Add "lstat.h", remove <sys/stat.h>.
62529
62530 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62531
62532         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
62533         (ranged_convert): Don't save conversion in a temporary struct.
62534         This causes a warning with GCC 4.0.0, and anyway in the typical
62535         case it's not worth the extra 100 bytes or so of code.
62536         (ranged_convert, __mktime_internal): When calling a function via a
62537         pointer P, use P () rather than (*P) (), as we now assume C89 or
62538         better.
62539
62540 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
62541
62542         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
62543         "who -r" failed to give output.  Problem reported by Tim Waugh.
62544
62545         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
62546         (xcalloc): Use it to avoid needless tests.
62547         Problem reported by Jim Meyering.
62548
62549 2005-06-20  Derek Price  <derek@ximbiot.com>
62550
62551         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
62552         unnecessary for Autoconfs > 2.59c.
62553
62554 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62555
62556         * lib/argp.h (__option_is_short): Check upper limit of
62557         __key. Isprint() requires its argument to have the value
62558         of an unsigned char or EOF.
62559
62560 2005-06-16  Jim Meyering  <jim@meyering.net>
62561
62562         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
62563         when either N or S is zero.
62564
62565 2005-06-16  Derek Price  <derek@ximbiot.com>
62566
62567         * m4/bison.m4: Declare YACC & YFLAGS precious.
62568
62569 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
62570
62571         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
62572         multibyte string or pattern, fall back on unibyte matching.
62573         Problem reported by James Youngman.
62574
62575 2005-06-08  Bruno Haible  <bruno@clisp.org>
62576
62577         * modules/csharpcomp: New file.
62578         * MODULES.html.sh (C#): Add csharpcomp.
62579
62580 2005-06-08  Bruno Haible  <bruno@clisp.org>
62581
62582         * m4/csharpcomp.m4: New file, from GNU gettext.
62583
62584 2005-06-08  Bruno Haible  <bruno@clisp.org>
62585
62586         * lib/csharpcomp.h: New file, from GNU gettext.
62587         * lib/csharpcomp.c: New file, from GNU gettext.
62588         * lib/csharpcomp.sh.in: New file, from GNU gettext.
62589
62590 2005-06-08  Bruno Haible  <bruno@clisp.org>
62591
62592         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
62593         warning on mingw.
62594
62595 2005-06-07  Derek Price  <derek@ximbiot.com>
62596
62597         Sync from CVS.
62598         * lib/glob_.h: Indent nested #ifdef.
62599
62600 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
62601
62602         Sync from coreutils.
62603         Use "file name" when talking about file names, instead of "filename"
62604         or "path", as per the GNU coding standards.
62605         * lib/mkdir-p.c: Renamed from makepath.c.
62606         (make_dir_parents): Renamed from make_path.  All callers changed.
62607         * lib/mkdir-p.h: Likewise.  All includers changed.
62608         * lib/filenamecat.c: Renamed from path-concat.c.
62609         (file_name_concat): Renamed from path_concat.  All callers changed.
62610         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
62611         * lib/filenamecat.h: Likewise.  All includers changed.
62612         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
62613         in comments or local variable names.
62614         * lib/basename.c: Likewise.
62615         * lib/canonicalize.c, canonicalize.h: Likewise.
62616         * lib/dirname.c, dirname.h: Likewise.
62617         * lib/euidaccess.c: Likewise.
62618         * lib/exclude.c: Likewise
62619         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
62620         * lib/fsusage.c, fsuage.h: Likewise.
62621         * lib/fts.c, fts_.h: Likewise.
62622         * lib/getcwd.c: Likewise.
62623         * lib/getloadavg.c: Likewise.
62624         * lib/mkstemp.c: Likewise.
62625         * lib/mountlist.c, mountlist.h: Likewise.
62626         * lib/openat.c, openat.h: Likewise.
62627         * lib/readlink-stub.c: Likewise.
62628         * lib/readutmp.c, readutmp.h: Likewise.
62629         * lib/rename.c: Likewise.
62630         * lib/rmdir.c: Likewise.
62631         * lib/same.c: Likewise.
62632         * lib/savedir.c: Likewise.
62633         * lib/stripslash.c: Likewise.
62634         * lib/tempname.c: Likewise.
62635         * lib/xreadlink.c: Likewise.
62636         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
62637         All uses changed.
62638         * lib/exclude.h: Likewise.
62639
62640         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
62641         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
62642         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
62643         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
62644         * lib/pathmax.h: Include <limits.h> unconditionally, since other
62645         files have been getting away with it for years (MORE/BSD 4.3
62646         is extinct now).
62647         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
62648         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
62649
62650         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
62651         Define to 256, not 255, as per modern POSIX.
62652
62653 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
62654
62655         Sync from coreutils.
62656         Use "file name" when talking about file names, instead of "filename"
62657         or "path", as per the GNU coding standards.
62658         * MODULES.html.sh: mkdir-p renamed from makepath.
62659         filenamecat renamed from path-concat.
62660         * modules/filenamecat: Renamed from modules/path-concat.
62661         (Files): filenamecat.h and filenamecat.c renamed from
62662         path-concat.h and path-concat.c.
62663         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
62664         (Include): filenamecat.h, not path-concat.h.
62665         * modules/mkdir-p: Renamed from modules/makepath.
62666         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
62667         makepath.c.
62668         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
62669         (Include): mkdir-p.h, not makepath.h.
62670
62671 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
62672
62673         Sync from coreutils.
62674         * m4/mkdir-p.m4: Renamed from makepath.m4.
62675         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
62676         Rename files from makepath.c to mkdir-p.c, and from
62677         makepath.h to mkdir-p.h.
62678         * m4/filenamecat.m4: Renamed from path-concat.m4.
62679         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
62680         Rename files from path-concat.c to filenamecat.c,
62681         and from path-concat.h to filenamecat.h.
62682         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
62683         "file name" in local variables or comments.
62684         * m4/rename.m4: Likewise.
62685
62686 2005-06-01  Bruno Haible  <bruno@clisp.org>
62687
62688         * modules/csharpexec: New file.
62689         * MODULES.html.sh (C#): New section.
62690
62691 2005-06-01  Bruno Haible  <bruno@clisp.org>
62692
62693         * m4/csharp.m4: New file, from GNU gettext.
62694         * m4/csharpexec.m4: New file, from GNU gettext.
62695
62696 2005-06-01  Bruno Haible  <bruno@clisp.org>
62697
62698         * lib/csharpexec.h: New file, from GNU gettext.
62699         * lib/csharpexec.c: New file, from GNU gettext.
62700         * lib/csharpexec.sh.in: New file, from GNU gettext.
62701
62702 2005-05-31  Derek Price  <derek@ximbiot.com>
62703             Paul Eggert  <eggert@cs.ucla.edu>
62704
62705         Sync from cvs.
62706         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
62707
62708 2005-05-31  Derek Price  <derek@ximbiot.com>
62709             Paul Eggert  <eggert@cs.ucla.edu>
62710
62711         Sync from cvs.
62712         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
62713
62714 2005-05-29  Derek Price  <derek@ximbiot.com>
62715
62716         * config/srclist.txt (glob_.h, glob.c): Add these files.
62717
62718 2005-05-29  Derek Price  <derek@ximbiot.com>
62719
62720         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
62721         * modules/glob: New file.
62722         * modules/getlogin_r: Add link to POSIX spec in description.
62723
62724 2005-05-29  Derek Price  <derek@ximbiot.com>
62725             Paul Eggert  <eggert@cs.ucla.edu>
62726
62727         * m4/glob.m4: New file.
62728
62729 2005-05-29  Derek Price  <derek@ximbiot.com>
62730             Paul Eggert  <eggert@cs.ucla.edu>
62731
62732         * lib/glob_.h, lib/glob.c: New files.
62733
62734 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
62735
62736         * modules/fts (Files): Remove m4/inttypes-pri.m4.
62737         * modules/fts-lgpl (Depends-on): Remove gettext.
62738
62739 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
62740
62741         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
62742         and don't require gt_INTTYPES_PRI.
62743
62744 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
62745
62746         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
62747
62748         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
62749         the configuration hassle isn't worth it.
62750         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
62751         (LONGEST_MODIFIER, PRIuMAX): Remove.
62752
62753 2005-05-27  Bruno Haible  <bruno@clisp.org>
62754
62755         * lib/getlogin_r.h: Remove second include of <stddef.h>.
62756
62757 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
62758
62759         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
62760         _POSIX_PTHREAD_SEMANTICS for Solaris.
62761
62762 2005-05-25  Derek Price  <derek@ximbiot.com>
62763
62764         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
62765
62766 2005-05-25  Derek Price  <derek@ximbiot.com>
62767             Paul Eggert  <eggert@cs.ucla.edu>
62768
62769         * modules/getlogin_r, m4/getlogin_r.m4: New files.
62770         * lib/getlogin_r.c, getlogin_r.h: New files.
62771
62772 2005-05-25  Bruno Haible  <bruno@clisp.org>
62773             Derek Price  <derek@ximbiot.com>
62774
62775         * lib/getlogin_r.h: Simplify API documentation.
62776
62777 2005-05-23  Derek Price  <derek@ximbiot.com>
62778
62779         * modules/minmax (Files): Add m4/minmax.m4.
62780         (configure.ac): Add gl_MINMAX.
62781
62782 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
62783
62784         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
62785         so that unistd-safer.h (GPL'ed code) need not be included.
62786
62787 2005-05-22  Bruno Haible  <bruno@clisp.org>
62788
62789         * m4/minmax.m4: New file.
62790         Based on a patch by Derek Price <derek@ximbiot.com>.
62791
62792 2005-05-22  Bruno Haible  <bruno@clisp.org>
62793
62794         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
62795         (INT64_MIN): Fix definition.
62796         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
62797
62798         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
62799         NEED_SIGNED_INT_TYPES.
62800
62801         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
62802         HAVE_SYSTEM_INTTYPES.
62803
62804 2005-05-22  Bruno Haible  <bruno@clisp.org>
62805
62806         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
62807         Also include <sys/param.h> if it defines MIN, MAX.
62808         Based on a patch by Derek Price <derek@ximbiot.com>.
62809
62810 2005-05-21  Jim Meyering  <jim@meyering.net>
62811
62812         * modules/fts (Files): Add m4/inttypes-pri.m4.
62813         (Depends-on): Add lstat and remove gettext.  Alphabetize.
62814
62815 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
62816
62817         New fts module.
62818         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
62819         (setup_dir, free_dir): New functions.
62820         (enter_dir, leave_dir): Define trivial
62821         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
62822         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
62823         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
62824         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
62825         Move to fts-cycle.c.
62826         (fts_open): Use setup_dir.
62827         (fts_close): Use free_dir.
62828         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
62829         This adds a label and some gotos, but the alternatives were messier.
62830         Check for memory allocation failure when entering a dir.
62831         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
62832         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
62833         (FTS): New member fts_cycle, that is a union that contains the
62834         old active_dir_ht and cycle_state.  All uses changed to mention
62835         fts_cycle.ht and fts_cycle.state.
62836         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
62837         fts.c, with the following changes:
62838         (setup_dir, free_dir): New functions.
62839         (enter_dir): Now returns bool.  Return true if successful, false
62840         if memory exhausted.  All callers changed.
62841         Do not bother partly cleaning up on
62842         memory allocation failure; that is free_dir's job.
62843         However, free ad if hash_insert fails, to avoid memory leak.
62844         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
62845         fts->fts_options to see which union member to use.
62846
62847 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
62848
62849         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
62850         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
62851
62852 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
62853
62854         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
62855
62856 2005-05-20  Jim Meyering  <jim@meyering.net>
62857
62858         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
62859         Now a macro, to pacify GCC.
62860
62861 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
62862
62863         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
62864         of -1.
62865
62866 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
62867
62868         * lib/chown.c (rpl_chown): Return -1 on failure.
62869
62870 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
62871
62872         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
62873         Don't check for stddef.h.
62874         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
62875         don't use its results.
62876         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
62877         since we include them unconditionally.  Don't require
62878         AM_STDBOOL_H, since stdbool is a prerequisite.
62879         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
62880         since we assume C89 or better.
62881         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
62882         as we don't use their results.
62883         Don't check for fchdir, memmove, memset, strrchr, as we use
62884         them unconditionally.
62885         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
62886         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
62887
62888 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
62889
62890         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
62891         Include <stddef.h> unconditionally, since we assume C89 now.
62892         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
62893         * lib/fts.c: Include fts_.h first, to check interface.
62894         Do not include intprops.h; no longer needed.
62895         Include cycle-check.h and hash.h, since fts_.h no longer does.
62896         Remove unnecessary casts of closedir to void.
62897         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
62898         decide whether to decrement nlinks.
62899         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
62900         (FTS): Use struct hash_table * instead of Hash_table, so that
62901         we no longer need to include hash.h here.
62902
62903 2005-05-18  Jim Meyering  <jim@meyering.net>
62904
62905         * modules/dirfd (License): Change to LGPL.  Most of the code
62906         is already in the public domain.
62907
62908 2005-05-18  Jim Meyering  <jim@meyering.net>
62909
62910         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
62911         Reported by Yoann Vandoorselaere.
62912
62913 2005-05-17  Jim Meyering  <jim@meyering.net>
62914
62915         * m4/fts.m4: New file, from coreutils.
62916
62917 2005-05-17  Jim Meyering  <jim@meyering.net>
62918
62919         * lib/fts.c, lib/fts_.h: New files, from coreutils.
62920
62921 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62922
62923         Sync from coreutils.
62924         * m4/unlinkdir.m4: New file.
62925
62926 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62927
62928         Sync from coreutils.
62929         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
62930         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
62931         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
62932         White space changes only.
62933         * lib/makepath.c (make_path): Port to hosts where leading "//" is
62934         special.
62935         * lib/yesno.c: Include getline.h, not ctype.h.
62936         (yesno): Don't remove leading white space; POSIX doesn't allow it.
62937         Use getline to remove arbitrary restriction on response length.
62938
62939 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
62940
62941         * config/srclist-update: Spell out "Street" in FSF postal
62942         mail address; this is the style the FSF seems to prefer.
62943
62944         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
62945         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
62946         this updates FSF postal mail address.
62947
62948         Sync from coreutils.
62949         * modules/unlinkdir: New file.
62950         * modules/yesno (Depends-on): Add getline.
62951         * MODULES.html.sh (File system functions): Add unlinkdir.
62952
62953 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
62954
62955         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
62956         lib/strsep.h:
62957         Change the initial comment to refer to GPL, not LGPL.
62958         gnulib-tool will change it to LGPL as needed.
62959
62960         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
62961         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
62962         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
62963         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
62964         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
62965         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
62966         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
62967         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
62968         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
62969         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
62970         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
62971         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
62972         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
62973         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
62974         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
62975         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
62976         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
62977         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
62978         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
62979         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
62980         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
62981         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
62982         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
62983         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
62984         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
62985         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
62986         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
62987         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
62988         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
62989         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
62990         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
62991         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
62992         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
62993         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
62994         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
62995         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
62996         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
62997         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
62998         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
62999         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
63000         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
63001         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
63002         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
63003         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
63004         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
63005         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
63006         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
63007         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
63008         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
63009         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
63010         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
63011         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
63012         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
63013         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
63014         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
63015         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
63016         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
63017         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
63018         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
63019         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
63020         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
63021         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
63022         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
63023         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
63024         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
63025         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
63026         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
63027         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
63028         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
63029         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
63030         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
63031         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
63032         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
63033         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
63034         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
63035         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
63036         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
63037         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
63038         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
63039         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
63040         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
63041         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
63042         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
63043         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
63044         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
63045         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
63046         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
63047         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
63048         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
63049         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
63050         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
63051         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
63052         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
63053         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
63054         lib/yesno.c, lib/yesno.h:
63055         Update FSF postal mail address.
63056
63057 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
63058
63059         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
63060         tests/test-memmem.c, tests/test-stpncpy.c:
63061         Update FSF postal mail address.
63062
63063 2005-05-13  Bruno Haible  <bruno@clisp.org>
63064
63065         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
63066         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
63067         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
63068         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
63069         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
63070         Add support for 64-bit integers in the MSVC compiler.
63071
63072 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63073
63074         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
63075
63076 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
63077
63078         * gnulib-tool (func_import): Sort and uniquify recommended includes.
63079
63080 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
63081
63082         * doc/getdate.texi (General date syntax): Don't say that date
63083         date --iso-8601=ns generates acceptable dates; it doesn't yet.
63084         Problem reported by Nic Ferrier.
63085
63086 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63087
63088         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
63089         specified in ai_socktype. Fix invalid ai_protocol
63090         check. ai_protocol is usually set to 0 or depending on
63091         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
63092         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
63093         ai_socktype / ai_protocol in the returned addrinfo structure.
63094
63095 2005-05-10  Simon Josefsson  <jas@extundo.com>
63096
63097         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
63098         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63099
63100 2005-05-10  Karl Berry  <karl@gnu.org>
63101
63102         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
63103         (from http://www.gnu.org/licenses).
63104         * doc/COPYING.LIB: also rename to COPYING.LESSER.
63105         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
63106         fdl.texi suffices.
63107
63108 2005-05-10  Karl Berry  <karl@gnu.org>
63109
63110         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
63111         (COPYING.DOC): remove.
63112
63113         * config/srclist-update: new FSF address.
63114
63115 2005-05-10  Derek Price  <derek@ximbiot.com>
63116
63117         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
63118         possible.
63119
63120 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63121             Bruno Haible  <bruno@clisp.org>
63122
63123         * modules/inet_ntop: New file.
63124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63125         inet_ntop.
63126
63127 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63128             Bruno Haible  <bruno@clisp.org>
63129
63130         * m4/inet_ntop.m4: New file.
63131
63132 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63133             Bruno Haible  <bruno@clisp.org>
63134
63135         * lib/inet_ntop.h: New file.
63136         * lib/inet_ntop.c: New file, from glibc with modifications.
63137
63138 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
63139
63140         * modules/time_r (License): Change to LGPL.
63141         * modules/extensions (License): Change to LGPL.  Actually,
63142         the license is more permissive than that, but currently gnulib-tool
63143         doesn't know how to handle more-permissive licenses.
63144
63145         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
63146         Problem reported by Dave Love.
63147
63148 2005-05-08  Jim Meyering  <jim@meyering.net>
63149
63150         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
63151         blank.
63152
63153 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
63154
63155         * modules/argmatch (Depends-on): Add stdbool.
63156         * modules/backupfile (Depends-on): Likewise.
63157         * modules/chdir-long (Depends-on): Likewise.
63158         * modules/closeout (Depends-on): Likewise.
63159         * modules/cycle-check (Depends-on): Likewise.
63160         * modules/dirname (Depends-on): Likewise.
63161         * modules/fnmatch (Depends-on): Likewise.
63162         * modules/fsusage (Depends-on): Likewise.
63163         * modules/fwriteerror (Depends-on): Likewise.
63164         * modules/getcwd (Depends-on): Likewise.
63165         * modules/getloadavg (Depends-on): Likewise.
63166         * modules/hard-locale (Depends-on): Likewise.
63167         * modules/makepath (Depends-on): Likewise.
63168         * modules/mountlist (Depends-on): Likewise.
63169         * modules/nanosleep (Depends-on): Likewise.
63170         * modules/posixtm (Depends-on): Likewise.
63171         * modules/quotearg (Depends-on): Likewise.
63172         * modules/readtokens (Depends-on): Likewise.
63173         * modules/readtokens0 (Depends-on): Likewise.
63174         * modules/readutmp (Depends-on): Likewise.
63175         * modules/save-cwd (Depends-on): Likewise.
63176         * modules/strftime (Depends-on): Likewise.
63177         * modules/userspec (Depends-on): Likewise.
63178         * modules/utimecmp (Depends-on): Likewise.
63179         * modules/xgetcwd (Depends-on): Likewise.
63180         * modules/xnanosleep (Depends-on): Likewise.
63181         * modules/xstrtod (Depends-on): Likewise.
63182         * modules/yesno (Depends-on): Likewise.
63183
63184 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
63185
63186         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
63187         needless checks.
63188
63189 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63190
63191         Merge from coreutils.  Among other things,
63192         add bulletproofing for cases where stdin, stdout, or stderr are closed.
63193         * lib/fd-safer.c: New file.
63194         * lib/fcntl-safer.h, open-safer.c: Remove.
63195         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
63196         * lib/dup-safer.c: Include unistd-safer.h first.
63197         Don't include errno.h.
63198         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
63199         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
63200         * lib/file-type.c: Rely on file-type.h change.
63201         * lib/getloadavg.c: Include unistd-safer.h.
63202         (getloadavg): Use safer open.
63203         * lib/getusershell.c: Include "stdio-safer.h".
63204         (getusershell): Use safer fopen.
63205         * lib/long-options.c (long_options): Use NULL rather than 0.
63206         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
63207         'free'.
63208         * lib/modechange.c: Likewise.
63209         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
63210         (MODE_DONE): New constant.
63211         (struct mode_change): Remove 'next' member.
63212         (make_node_op_equals): New function; like the old one of the
63213         same name, except it allocates an array.
63214         (mode_compile, mode_create_from_ref): Use it.
63215         (mode_compile): Allocate result as an array, not a linked list.
63216         Parse octal string ourself, so that we catch mistakes like "+0".
63217         (mode_adjust): Arg is an array, not a linked list.
63218         * lib/modechange.c: Include stat-macros.h, xalloc.h.
63219         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
63220         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
63221         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
63222         Remove.  This is now stat-macros.h's job.
63223         (talloc): Remove.  All callers replaced by xalloc, so that
63224         our invokers don't have to worry about reporting memory failures.
63225         (make_node_op_equals): Remove.
63226         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
63227         New constants.
63228         (struct mode_change): Moved here from modechange.h.
63229         (mode_append_entry): Remove.
63230         (mode_compile): Remove MASKED_OPS arg, since it encouraged
63231         apps to have incorrect behavior.  Use simpler algorithm for head
63232         and tail.  Don't futz with umask; that's now the job of mode_adjust.
63233         Detect more invalid usages rather than having somewhat-random behavior.
63234         Don't insert an "a=" action, as that leads to incorrect behavior.
63235         (mode_compile, mode_create_from_ref): Return NULL on error instead
63236         of an enum, since now there's only one way to have an error.  All
63237         callers changed.
63238         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
63239         at the correct time.  Simplify calculation of "+u" and its ilk.
63240         Don't mishandle "+X".
63241         (mode_free): Remove "register" and localize decls.
63242         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
63243         (struct mode_change): Move to modechange.c; callers don't
63244         need to see this stuff.
63245         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
63246         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
63247         (mode_change, mode_adjust): Reflect the new signatures noted above.
63248         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
63249         that might redefine system include files.
63250         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
63251         (my_usleep): Use NULL rather than (void *) 0.
63252         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
63253         Use siginterrupt to specify that system calls should be interrupted.
63254         (rpl_nanosleep): Move initialization of suspended closer to call of
63255         my_usleep.
63256         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
63257         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
63258         (desirable_utmp_entry): New function.
63259         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
63260         using x2nrealloc, to simplify logic.
63261         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
63262         size calculation.  Do not assume utmp file is a regular file.
63263         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
63264         (READ_UTMP_CHECK_PIDS): New constant.
63265         * lib/save-cwd.c: Include unistd-safer.h.
63266         (save_cwd): Use fd_safer.
63267         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
63268         [!_LIBC] Include "stat-macros.h" instead.
63269         * lib/unistd-safer.h (fd_safer): New decl.
63270
63271 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63272
63273         * modules/getloadavg (Depends-on): Add unistd-safer.
63274         * modules/getusershell (Depends-on): Add stdio-safer.
63275         * modules/lstat (Depends-on): Remove xalloc.
63276         * modules/mkstemp (Depends-on): Add stat-macros.
63277         * modules/modechange (Depends-on): Remove xstrtol.
63278         Add stat-macros, xalloc.
63279         * modules/save-cwd (Depends-on): Add unistd-safer.
63280         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
63281         * modules/unistd-safer (Files): Add lib/fd-safer.c
63282         (Makefile.am): Remove lib_SOURCES.
63283
63284         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
63285         Remove fcntl-safer; unistd-safer supersedes it.
63286
63287 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63288
63289         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
63290         AC_HEADER_STAT.
63291         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
63292         (gl_PREREQ_CHOWN): Remove.
63293         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
63294         it.  Don't require AC_HEADER_STAT.
63295         (gl_PREREQ_LSTAT): Remove.
63296         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
63297         Don't require AC_HEADER_STAT.
63298         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
63299         (gl_PREREQ_RMDIR): Remove.
63300         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
63301         mention stat-macros.h or AC_HEADER_STAT, since we'll make
63302         the stat-macros module a prerequisite.
63303         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
63304         * m4/filemode.m4 (gl_FILEMODE): Likewise.
63305         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
63306         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
63307         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
63308         variable names.
63309         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
63310         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
63311         variable prefixes.
63312         * m4/fcntl-safer.m4: Remove.
63313         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
63314         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
63315         Invoke gl_PREREQ_FD_SAFER.
63316         (gl_PREREQ_FD_SAFER): New macro.
63317         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
63318         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
63319         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
63320         Remove duplicate call to AC_LIBOBJ(readutmp).
63321         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
63322
63323         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
63324         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
63325
63326 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
63327
63328         * MODULES.html.sh (Misc): Add byteswap.
63329
63330 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63331
63332         * modules/getcwd (Depends-on): Add extensions.
63333         * modules/openat (Depends-on): Likewise.
63334
63335 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63336
63337         * modules/byteswap: New file.
63338
63339 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63340
63341         * m4/byteswap.m4: New file.
63342
63343 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
63344
63345         * lib/byteswap_.h: New file.
63346
63347 2005-04-25  Karl Berry  <karl@gnu.org>
63348
63349         * m4/gettext.m4: Update from GNU gettext 0.14.4.
63350
63351 2005-04-25  Albert Chin  <china@thewrittenword.com>
63352
63353         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
63354         Toolkit C bug.
63355
63356 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
63357
63358         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
63359         (func_ln_if_changed) Remove forcibly for no error message
63360         in case file does not exist.
63361
63362 2005-04-19  Simon Josefsson  <jas@extundo.com>
63363
63364         * gnulib-tool (Options): Make --symlink mean --symbolic.
63365
63366 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
63367
63368         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
63369
63370 2005-04-16  Simon Josefsson  <jas@extundo.com>
63371
63372         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
63373
63374 2005-04-15  Simon Josefsson  <jas@extundo.com>
63375
63376         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
63377
63378 2005-04-15  Simon Josefsson  <jas@extundo.com>
63379
63380         * gnulib-tool: Rename --symlink to --symbolic.
63381
63382 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
63383
63384         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
63385         symbolic links to files instead of copying/moving.  Add --aux-dir,
63386         specifying directory relative --dir where auxiliary build tools
63387         are placed.
63388
63389 2005-04-14  Bruno Haible  <bruno@clisp.org>
63390
63391         * modules/allocsa (License): Change to LGPL.
63392         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
63393
63394 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
63395
63396         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
63397         that "UTC +1 second" continues to work.  Problem reported
63398         by Dmitry V. Levin.
63399         (relunit_snumber): New rule.
63400         (relunit): Use it.
63401
63402 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
63403
63404         * lib/getdate.y (universal_time_zone_table): New constant.
63405         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
63406         universal_time_zone_table.
63407         (lookup_zone): Prefer universal_time_zone_table to
63408         local_time_zone_table, so that "GMT" time stamps are allowed in
63409         London during the summer.  Problem reported by Ian Abbott.
63410
63411 2005-04-12  Jim Meyering  <jim@meyering.net>
63412
63413         * lib/human.c (humblock): Set *options even when returning due to
63414         xstrtoumax conversion failure.  Thanks to a used-uninitialized
63415         warning from gcc-4.
63416
63417 2005-04-09  Jim Meyering  <jim@meyering.net>
63418
63419         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
63420         -Wuninitialized: initialize tm0.tm_year.
63421
63422 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
63423
63424         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
63425         count, since there's no maximum.  All uses changed.
63426         Add member dsts_seen.
63427         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
63428         not being INT_MAX.
63429         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
63430         Use pc_rels_seen to decide whther a date is absolute.
63431
63432         * lib/getdate.y (number): Don't overwrite year.
63433         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
63434         check.
63435
63436 2005-04-02  Simon Josefsson  <jas@extundo.com>
63437
63438         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
63439         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
63440
63441 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
63442
63443         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
63444         where no absolute path name can be longer than PATH_MAX.
63445
63446 2005-03-27  Jim Meyering  <jim@meyering.net>
63447
63448         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
63449
63450 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
63451
63452         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
63453         "one's complement" -> "ones' complement" in comment, as per Knuth.
63454         "value of type" -> "type or expression" in comment.
63455         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
63456
63457 2005-03-26  Jim Meyering  <jim@meyering.net>
63458
63459         Comment nits.
63460         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
63461         Correct typos: s/or/of/.
63462
63463 2005-03-26  Jim Meyering  <jim@meyering.net>
63464
63465         * modules/check-include-files: Move to ../ and rename to...
63466         * check-module: ...this.
63467
63468 2005-03-25  Jim Meyering  <jim@meyering.net>
63469
63470         * modules/xvasprintf (Files): Add xalloc.h.
63471
63472 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
63473
63474         * modules/gettext (Files): config/config.rpath ->
63475         build-aux/config.rpath
63476         * modules/iconv (Files): Likewise.
63477         Problem reported by Oskar Liljeblad.
63478
63479 2005-03-23  Jim Meyering  <jim@meyering.net>
63480
63481         * modules/check-include-files: New script to check for
63482         missing dependencies, multiple includes, etc.
63483
63484         * modules/c-strtold (Depends-on): Add xalloc.
63485         * modules/c-strtod (Depends-on): Add xalloc.
63486         * modules/hash (Depends-on): Add xalloc.
63487         (Files): Remove lib/xalloc.h.
63488
63489         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
63490         * modules/userspec (Files): Add lib/inttostr.h.
63491
63492 2005-03-23  Jim Meyering  <jim@meyering.net>
63493
63494         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
63495
63496 2005-03-22  Jim Meyering  <jim@meyering.net>
63497
63498         * modules/stat-macros: New module.
63499         * modules/canonicalize, modules/euidaccess, modules/file-type,
63500         * modules/filemode, modules/lchown, modules/makepath,
63501         * modules/rmdir, modules/stat: Depend on new stat-macros module
63502         rather than listing lib/stat-macros.h manually.
63503         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
63504
63505 2005-03-22  Jim Meyering  <jim@meyering.net>
63506
63507         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
63508
63509 2005-03-22  Bruno Haible  <bruno@clisp.org>
63510
63511         * config/srclist.txt: Replace target directory 'config' with
63512         'build-aux'.
63513         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
63514         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
63515         ../build-aux/.
63516
63517 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
63518
63519         * modules/chdir-long (Depends-on): Add mempcpy.
63520
63521         * modules/acl, modules/backupfile, modules/c-strtod,
63522         modules/c-strtold, modules/canon-host, modules/canonicalize,
63523         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
63524         modules/exclude, modules/exitfail, modules/file-type,
63525         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
63526         modules/getdate, modules/getline, modules/getpagesize,
63527         modules/getpass, modules/getugroups, modules/group-member,
63528         modules/hard-locale, modules/hash, modules/human, modules/idcache,
63529         modules/inttostr, modules/long-options, modules/makepath,
63530         modules/md5, modules/memcasecmp, modules/memcoll,
63531         modules/modechange, modules/mountlist, modules/path-concat,
63532         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
63533         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
63534         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
63535         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
63536         modules/strftime, modules/strndup, modules/strverscmp,
63537         modules/timespec, modules/unlocked-io, modules/userspec,
63538         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
63539         modules/yesno:
63540         Remove lib_SOURCES line from Makefile.am section, as this is now
63541         done automatically by the corresponding Autoconf macro.
63542
63543 2005-03-21  Jim Meyering  <jim@meyering.net>
63544
63545         Changes imported from coreutils.
63546
63547         * lib/cycle-check.c: Don't include xalloc.h.
63548
63549         * lib/path-concat.c: Don't include assert.h.
63550         (path_concat): Remove assertion that would have triggered
63551         for ABASE starting with more than one slash.
63552         Reported by Andreas Schwab.
63553
63554         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
63555         properly when ABASE is an absolute file name.
63556         Correct the description of this function.
63557         Include <assert.h>.
63558         Add an assertion and a test driver.
63559         This fixes a bug introduced on 2004-07-02.
63560         Andreas Schwab reported the resulting failure of cp --parents:
63561         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
63562
63563 2005-03-21  Jim Meyering  <jim@meyering.net>
63564
63565         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
63566         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
63567
63568 2005-03-21  Jim Meyering  <jim@meyering.net>
63569         and  Paul Eggert  <eggert@cs.ucla.edu>
63570
63571         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
63572         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
63573         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
63574         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
63575         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
63576         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
63577         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
63578         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
63579         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
63580         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
63581         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
63582         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
63583         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
63584         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
63585         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
63586         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
63587         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
63588         for these modules.
63589
63590 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
63591
63592         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
63593         (which shouldn't happen), generate nothing instead of returning 0
63594         immediately, so that nstrftime (NULL, ...) doesn't return 0.
63595
63596 2005-03-16  Bruno Haible  <bruno@clisp.org>
63597
63598         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
63599         HAVE_LONGLONG_64BIT.
63600
63601 2005-03-16  Bruno Haible  <bruno@clisp.org>
63602
63603         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
63604         HAVE_LONGLONG_64BIT.
63605
63606 2005-03-16  Bruno Haible  <bruno@clisp.org>
63607
63608         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
63609         HAVE_LONGLONG_64BIT.
63610
63611 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
63612
63613         * lib/strftime.c (my_strftime): Prepend space to format so that we can
63614         reliably distinguish strftime failure from empty output on POSIX
63615         hosts.
63616
63617 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
63618
63619         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
63620         (iconv_string): Don't guess a size-zero buffer, as that might cause
63621         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
63622         result would be 'too large', where 'too large' is (heuristically)
63623         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
63624         overflow concerns.  This will prevent some unwanted malloc failures
63625         when the inputs are very large.
63626
63627 2005-03-15  Karl Berry  <karl@gnu.org>
63628
63629         * config/srclist.txt (config.rpath): from gettext.
63630         * config/config.rpath: update.
63631
63632 2005-03-15  Bruno Haible  <bruno@clisp.org>
63633
63634         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
63635         to 'negate'.
63636
63637         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
63638         variable.
63639
63640         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
63641         results.
63642
63643 2005-03-14  Simon Josefsson  <jas@extundo.com>
63644
63645         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
63646         <fx@gnu.org>.
63647
63648 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
63649
63650         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
63651         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
63652         intprops.h.
63653         * lib/strtol.c: Likewise.
63654
63655 2005-03-14  Jim Meyering  <jim@meyering.net>
63656
63657         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
63658         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
63659         to be nonzero so that we (and caller) can detect the difference
63660         between a valid zero-length expansion and an error return, even
63661         when the underlying strftime fails before writing anything into
63662         that location.
63663
63664 2005-03-14  Bruno Haible  <bruno@clisp.org>
63665
63666         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
63667         Update from GNU gettext 0.14.3.
63668
63669 2005-03-10  Jim Meyering  <jim@meyering.net>
63670
63671         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
63672
63673 2005-03-10  Jim Meyering  <jim@meyering.net>
63674
63675         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
63676         so that this module works on systems without fchdir.
63677
63678 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
63679
63680         Factor int-properties macros into a single file, except for
63681         glibc-related files.
63682         * lib/intprops.h: New file.
63683         * lib/getloadavg.c: Include it instead of limits.h.
63684         (INT_STRLEN_BOUND): Remove.
63685         * lib/human.c: Include intprops.h.
63686         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
63687         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
63688         302/1000.
63689         * lib/inttostr.h: Include intprops.h instead of limits.h.
63690         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
63691         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
63692         for consistency with intprops.h.
63693         (time_t_is_integer, twos_complement_arithmetic): Use them.
63694         * lib/sig2str.h: Include <signal.h>, intprops.h.
63695         (INT_STRLEN_BOUND): Remove.
63696         * lib/strftime.c (TYPE_SIGNED): Remove.
63697         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
63698         * lib/strtol.c: Adjust comments to match intprops.h.
63699         * lib/userspec.c: Include intprops.h.
63700         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
63701         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
63702         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
63703         instead of rolling our own expressions.
63704         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
63705
63706         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
63707         instead of int.
63708         (my_strftime): Do not mishandle years close to INT_MAX, by doing
63709         the right thing even if adding 1900 would overflow.  Similarly
63710         for tm_mon + 1 and tm_yday + 1.
63711         Make %Y always equivalent to %C%y, and similarly for %G and %g.
63712         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
63713         (DO_SIGNED_NUMBER): New macro.
63714         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
63715
63716 2005-03-07  Bruno Haible  <bruno@clisp.org>
63717
63718         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
63719
63720 2005-03-07  Bruno Haible  <bruno@clisp.org>
63721
63722         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
63723
63724 2005-03-04  Derek R. Price  <derek@ximbiot.com>
63725
63726         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
63727         (func_import): Only replace files via --import when they have actually
63728         changed.
63729
63730 2005-03-03  Derek R. Price  <derek@ximbiot.com>
63731
63732         * m4/mmap-anon.m4: New file.
63733         * m4/pagealign_alloc.m4: New file.
63734
63735 2005-03-03  Derek R. Price  <derek@ximbiot.com>
63736             Bruno Haible  <bruno@clisp.org>
63737
63738         * modules/pagealign_alloc: New file.
63739         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
63740
63741 2005-03-03  Derek R. Price  <derek@ximbiot.com>
63742             Bruno Haible  <bruno@clisp.org>
63743
63744         * lib/pagealign_alloc.h: New file.
63745         * lib/pagealign_alloc.c: New file.
63746
63747 2005-03-03  Bruno Haible  <bruno@clisp.org>
63748
63749         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
63750         Use an all-permissive copyright notice, recommended by RMS.
63751
63752 2005-03-02  Bruno Haible  <bruno@clisp.org>
63753
63754         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
63755         of AIX, the replacement has to be done only after <string.h> is
63756         included, therefore not in config.h. stpncpy.h does the replacement,
63757         and stpncpy.c uses it.
63758
63759 2005-03-02  Bruno Haible  <bruno@clisp.org>
63760
63761         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
63762         stpncpy.c uses it.
63763
63764 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63765
63766         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
63767         The workaround isn't strictly needed for POSIX conformance, and
63768         it's too much of a pain to configure and maintain.  We'll ask
63769         people to fix their kernels instead.
63770         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
63771         (NANOSLEEP_BUG_WORKAROUND): Remove.
63772         (xnanosleep): Remove the workaround.
63773
63774 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63775
63776         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
63777         Reported by Derek Price.
63778         (Include): Add "timespec.h".
63779
63780         * modules/xnanosleep (Depends-on): Remove gethrxtime.
63781
63782 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63783
63784         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
63785         to detect nanosleep bug.
63786
63787 2005-03-01  Bruno Haible  <bruno@clisp.org>
63788
63789         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
63790
63791 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
63792
63793         * modules/gethrxtime: New file.
63794         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
63795         (Depends-on): Add gethrxtime.
63796         (configure.ac): Add gl_XNANOSLEEP.
63797         (Makefile.am): Remove lib_SOURCES line.
63798
63799 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
63800
63801         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
63802         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
63803
63804 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
63805
63806         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
63807         * lib/timespec.h (gettime): Return void, since it always
63808         succeeds now.  All uses changed.
63809         * lib/gettime.c (gettime) Likewise.
63810         [HAVE_NANOTIME]: Prefer nanotime.
63811         Assume gettimeofday succeeds, as POSIX requires.
63812         Assime time () succeeds, since other code already does.
63813         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
63814         (timespec_subtract): Remove.
63815         (NANOSLEEP_BUG_WORKAROUND): New constant.
63816         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
63817         things considerably.  Use it only on GNU/Linux hosts, since the
63818         workaround shouldn't be needed elsewhere.
63819
63820 2005-02-24  Bruno Haible  <bruno@clisp.org>
63821
63822         * modules/gettext (Files): Add m4/glibc2.m4.
63823
63824 2005-02-24  Bruno Haible  <bruno@clisp.org>
63825
63826         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
63827         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
63828         * m4/progtest.m4:
63829         Update from GNU gettext 0.14.2.
63830         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
63831
63832 2005-02-24  Bruno Haible  <bruno@clisp.org>
63833
63834         * lib/localcharset.c: Update from GNU gettext 0.14.2.
63835         * lib/config.charset: Update from GNU gettext 0.14.2.
63836
63837 2005-02-24  Bruno Haible  <bruno@clisp.org>
63838
63839         * lib/gettext.h: Update from GNU gettext 0.14.2.
63840
63841 2005-02-23  Simon Josefsson  <jas@extundo.com>
63842
63843         * m4/iconvme.m4: New file.
63844
63845 2005-02-23  Jim Meyering  <jim@meyering.net>
63846
63847         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
63848         change.
63849         Thanks to Bruno Haible for catching it.
63850
63851 2005-02-22  Simon Josefsson  <jas@extundo.com>
63852
63853         * modules/iconvme: New file.
63854
63855         * MODULES.html.sh: Add iconvme.
63856
63857 2005-02-22  Simon Josefsson  <jas@extundo.com>
63858
63859         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
63860
63861 2005-02-22  Simon Josefsson  <jas@extundo.com>
63862
63863         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
63864
63865 2005-02-22  Jim Meyering  <jim@meyering.net>
63866
63867         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
63868         s/ifndef/ifdef/.
63869
63870 2005-02-20  Neil Conway  <neilc@samurai.com>
63871
63872         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
63873         returned by OSX/Darwin if the specified buffer is not large
63874         enough for the hostname.
63875
63876 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63877
63878         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
63879         pass it to _help, otherwise the latter coredumps trying to
63880         dereference state.root_argp.
63881
63882 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63883
63884         * modules/chdir-long (Depends-on): Add memrchr.
63885         * modules/memrchr (Files): Add lib/memrchr.h.
63886         (Include): "memrchr.h".
63887
63888 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63889
63890         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
63891
63892 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
63893
63894         * lib/memrchr.h: New file.
63895         * lib/chdir-long.c: Include it.
63896         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
63897         Don't bother including stddef.h.
63898
63899 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
63900
63901         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
63902         inclusion.
63903         Include <sys/types.h>, for dev_t.
63904         (ME_DUMMY, ME_REMOTE): Move from here....
63905         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
63906         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
63907         Dmitry V. Levin.
63908         Include mountlist.h first, to test the interface.
63909
63910 2005-01-29  Bruno Haible  <bruno@clisp.org>
63911
63912         * lib/progname.c (program_name): Initialize.
63913         Needed when linking statically on MacOS X.
63914
63915 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63916
63917         Sync from coreutils.
63918         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
63919         (Depends-on): Add c-strtod.
63920         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
63921
63922 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
63923
63924         Sync from coreutils.
63925         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
63926
63927         Remove files that are specific to coreutils.
63928         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
63929
63930 2005-01-28  Bruno Haible  <bruno@clisp.org>
63931
63932         * modules/javacomp: New file.
63933         * MODULES.html.sh (Java): Add javacomp.
63934
63935 2005-01-28  Bruno Haible  <bruno@clisp.org>
63936
63937         * m4/javacomp.m4: New file, from GNU gettext.
63938
63939 2005-01-28  Bruno Haible  <bruno@clisp.org>
63940
63941         * lib/javacomp.sh.in: New file, from GNU gettext.
63942         * lib/javacomp.h: New file, from GNU gettext.
63943         * lib/javacomp.c: New file, from GNU gettext.
63944
63945 2005-01-26  Simon Josefsson  <jas@extundo.com>
63946
63947         * lib/gai_strerror.c: Use GPL in header.
63948
63949 2005-01-26  Bruno Haible  <bruno@clisp.org>
63950
63951         * modules/javaexec: New file.
63952         * MODULES.html.sh (Java): Add javaexec.
63953
63954 2005-01-26  Bruno Haible  <bruno@clisp.org>
63955
63956         * m4/javaexec.m4: New file, from GNU gettext.
63957
63958 2005-01-26  Bruno Haible  <bruno@clisp.org>
63959
63960         * lib/javaexec.sh.in: New file, from GNU gettext.
63961         * lib/javaexec.h: New file, from GNU gettext.
63962         * lib/javaexec.c: New file, from GNU gettext.
63963
63964 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63965
63966         * modules/lchown (Depends-on): Remove lchown.h
63967
63968 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63969
63970         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
63971         must be defined if the header file was not found, in order
63972         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
63973
63974 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63975
63976         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
63977         initializers for struct pentry_state.
63978         (__argp_error): Check return value of __asprintf
63979         (__argp_failure): Translate error message
63980
63981         * lib/argp-parse.c: Removed braces around the expansion of N_()
63982
63983 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63984
63985         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
63986         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
63987         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
63988         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
63989         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
63990         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
63991         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
63992         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
63993         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
63994         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
63995         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
63996         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
63997         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
63998         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
63999         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
64000         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
64001         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
64002         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
64003         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
64004         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
64005         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
64006         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
64007         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
64008         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
64009         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
64010         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
64011         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
64012         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
64013         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
64014         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
64015         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
64016         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
64017         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
64018         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
64019         xstrtol.m4, xstrtoumax.m4, yesno.m4:
64020         Use an all-permissive copyright notice, recommended by RMS.
64021
64022 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
64023
64024         * modules/chdir-long (Depends-on): Remove mempcpy.
64025
64026 2005-01-21  Jim Meyering  <jim@meyering.net>
64027
64028         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
64029         same value as for Solaris 9.
64030
64031         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
64032         component length.  This included changing the parameter to be
64033         of type `char *' rather than `char const *'.
64034         * lib/chdir-long.h (chdir_long): Update prototype.
64035
64036         * lib/openat.c (fdopendir, fstatat): New functions.
64037         * lib/openat.h: Include headers required for use of DIR and struct
64038         stat.
64039         [AT_SYMLINK_NOFOLLOW]: Define.
64040         (fdopendir, fstatat): Add prototypes.
64041
64042 2005-01-21  Bruno Haible  <bruno@clisp.org>
64043
64044         * modules/classpath: New file.
64045         * MODULES.html.sh (Java): Add classpath.
64046
64047 2005-01-21  Bruno Haible  <bruno@clisp.org>
64048
64049         * lib/classpath.h: New file, from GNU gettext.
64050         * lib/classpath.c: New file, from GNU gettext.
64051
64052 2005-01-20  Simon Josefsson  <jas@extundo.com>
64053
64054         * modules/version-etc-fsf: New file.
64055
64056 2005-01-20  Simon Josefsson  <jas@extundo.com>
64057
64058         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
64059         * lib/version-etc.c: Remove version_etc_copyright.
64060         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
64061         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
64062
64063 2005-01-20  Simon Josefsson  <jas@extundo.com>
64064
64065         * lib/base64.h (isbase64): Add.
64066
64067         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
64068         using a unsigned prototype, don't inline.
64069         (base64_decode): Use it.
64070
64071 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64072
64073         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
64074         it.
64075
64076 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64077
64078         * lib/save-cwd.c (save_cwd): Remove code to support the case
64079         where fchdir is missing or flaky.
64080
64081 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
64082
64083         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
64084
64085 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
64086
64087         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
64088         AC_LIBSOURCES now does this.
64089         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
64090         with new ullong_max module.
64091
64092 2005-01-19  Bruno Haible  <bruno@clisp.org>
64093
64094         * modules/sh-quote: New file.
64095         * MODULES.html.sh (Executing programs): Add sh-quote.
64096
64097 2005-01-19  Bruno Haible  <bruno@clisp.org>
64098
64099         * lib/sh-quote.h: New file, from GNU gettext.
64100         * lib/sh-quote.c: New file, from GNU gettext.
64101
64102 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
64103
64104         Merge from coreutils.
64105         * m4/ullong_max.m4: New file.
64106         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
64107         (gl_MACROS): Assume localeconv exists.
64108
64109 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
64110
64111         Merge changes from coreutils, as described below in several
64112         changelogs dated today.
64113
64114         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
64115         (O_DIRECTORY): Remove; not needed here, since "." must be
64116         a directory.  All uses removed.
64117         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
64118         universal on Suns, and we also need to test for IRIX.
64119         Revamp code to use 'if' rather than '#if'.
64120         Avoid unnecessary comparison of cwd->desc to 0.
64121
64122         * lib/utimens.c (futimens): Robustify the previous patch, by checking
64123         for known valid error numbers rather than observed invalid ones.
64124
64125 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
64126
64127         * modules/ullong_max: New file.
64128
64129         * modules/chdir-long, modules/openat: New files.
64130         * modules/save-cwd (Depends-on): Depend on chdir-long.
64131         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
64132
64133 2005-01-18  Jim Meyering  <jim@meyering.net>
64134
64135         Merge from coreutils.
64136         * m4/chdir-long.m4, m4/openat.m4: New files.
64137         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
64138         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
64139         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
64140         is sane and DOES follow symlinks.  Besides, testing 20 different
64141         systems found no broken chown implementations.
64142         Prompted by a change in rsync's copy of this macro.
64143         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
64144
64145         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
64146
64147         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
64148         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
64149         NULL-means-set-to-current-time semantics.
64150         Remove temporary file immediately, rather than waiting
64151         for configure's at-exit trap code to do it.
64152
64153 2005-01-18  Jim Meyering  <jim@meyering.net>
64154
64155         * lib/version-etc.c (version_etc_copyright): Update copyright date.
64156
64157         * lib/utimens.c (futimens): Account for the fact that futimes
64158         can also fail with errno == ENOSYS or errno == ENOENT.
64159         Patch from Dmitry V. Levin.
64160
64161         Change the name of the robust chdir function from chdir to chdir_long.
64162         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
64163         (restore_cwd): Use chdir_long, not chdir.
64164         * lib/chdir-long.c: Renamed from chdir.c.
64165         * lib/chdir-long.h: Renamed from chdir.h.
64166         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
64167         Hurd.
64168
64169 2005-01-18  Bruno Haible  <bruno@clisp.org>
64170
64171         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
64172         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
64173         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
64174         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
64175         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
64176         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
64177         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
64178         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
64179         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
64180         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
64181         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
64182         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
64183         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
64184         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
64185         Use an all-permissive copyright notice, recommended by RMS.
64186
64187 2005-01-18  Bob Proulx  <bob@proulx.com>
64188
64189         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
64190         simplify offsetof() macro construct to avoid compile failure with
64191         native HP-UX 11.0 ANSI C compiler.
64192
64193 2005-01-17  Bruno Haible  <bruno@clisp.org>
64194
64195         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
64196         redundant because stpncpy.m4 takes care of it.
64197
64198 2005-01-17  Bruno Haible  <bruno@clisp.org>
64199
64200         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
64201
64202 2005-01-17  Bruno Haible  <bruno@clisp.org>
64203
64204         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
64205         used.
64206
64207 2005-01-17  Bruno Haible  <bruno@clisp.org>
64208
64209         * lib/fwriteerror.h (fwriteerror): Change specification to include
64210         fclose.
64211         * lib/fwriteerror.c: Include <stdbool.h>.
64212         (fwriteerror): At the end, close the file stream. Record whether
64213         stdout was already closed.
64214
64215 2005-01-17  Bruno Haible  <bruno@clisp.org>
64216
64217         * lib/execute.c (environ): Declare if needed.
64218         * lib/pipe.c (environ): Likewise.
64219         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
64220
64221 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64222
64223         * modules/argp: Depend on vsnprintf
64224
64225 2005-01-10  Jim Meyering  <jim@meyering.net>
64226
64227         * modules/closeout (Depends-on): Add atexit.
64228
64229 2005-01-06  Bruno Haible  <bruno@clisp.org>
64230
64231         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
64232
64233 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64234
64235         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
64236         definitions to be after all include files, to avoid collisions.
64237         Problem reported by Bob Proulx.
64238
64239 2005-01-04  Jim Meyering  <jim@meyering.net>
64240
64241         Changes imported from coreutils.
64242         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
64243         as the mkstemp template, use a temporary directory and an
64244         8.3-friendly template to avoid trouble on systems like DJGPP.
64245         Reported by Juan M. Guerrero via Stepan Kasal.
64246         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
64247         close. Remove the temporary directory right away, rather than waiting
64248         for configure's at-exit trap code to do it.
64249         Suggestion from Stepan Kasal.
64250
64251 2005-01-01  Simon Josefsson  <jas@extundo.com>
64252
64253         * gnulib-tool: Print #include directives when --import'ing.
64254
64255 2004-12-28  Simon Josefsson  <jas@extundo.com>
64256
64257         * tests/test-base64.c: Include required header files.  Remove
64258         unused variables.
64259
64260 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64261
64262         * modules/error (Depends-on): Remove gettext.
64263
64264 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
64265
64266         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
64267         not needed.  This removes a dependency on the gettext module.
64268         [defined _LIBC]: Do not include <libintl.h>; not needed.
64269
64270 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
64271
64272         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
64273         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
64274
64275 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
64276
64277         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
64278         HAVE_DECL_STRTOLD.
64279
64280 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64281
64282         * modules/getdate (Depends-on): Remove alloca-opt.
64283
64284 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64285
64286         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
64287
64288 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
64289
64290         * lib/argp-parse.c: Include <stddef.h>.
64291         (alignof, alignto): New macros.
64292         (parser_init): Don't assume that void * is aligned sufficiently
64293         for struct option.
64294
64295         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
64296         need to extend the stack.
64297         (YYINITDEPTH): New macro, so that the initial stack isn't overly
64298         large.
64299
64300 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64301
64302         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
64303
64304 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
64305
64306         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
64307         (2004-10-24) change.  Apparently this was a false alarm.
64308
64309         * modules/getdate: Depend on alloca-opt, not alloca.
64310
64311 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
64312
64313         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
64314         Remove now-obsolete comment about AIX.
64315         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
64316         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
64317         (YYMAXDEPTH): New macro.
64318
64319 2004-12-18  Simon Josefsson  <jas@extundo.com>
64320
64321         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
64322
64323 2004-12-18  Bruno Haible  <bruno@clisp.org>
64324
64325         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
64326
64327 2004-12-18  Bruno Haible  <bruno@clisp.org>
64328
64329         * lib/fatal-signal.c (fatal_signals): Make non-const.
64330         (init_fatal_signals): New function.
64331         (uninstall_handlers, install_handlers): Ignore signals that were set to
64332         SIG_IGN.
64333         (at_fatal_signal): Call init_fatal_signals.
64334         (init_fatal_signal_set): Likewise. Ignore signals that were set to
64335         SIG_IGN.
64336         Reported by Paul Eggert.
64337
64338 2004-12-18  Bruno Haible  <bruno@clisp.org>
64339
64340         * doc/alloca.texi: New file.
64341         * doc/alloca-opt.texi: New file.
64342
64343 2004-12-17  Jim Meyering  <jim@meyering.net>
64344
64345         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
64346         Otherwise, install-sh could exit with improper exit status when
64347         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
64348
64349 2004-12-16  Simon Josefsson  <jas@extundo.com>
64350
64351         * tests/test-base64.c: Add license.
64352
64353 2004-12-15  Stepan Kasal  <address@hidden>
64354
64355         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
64356
64357 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
64358
64359         * modules/getcwd (Files): Add m4/d-ino.m4.
64360         Suggested by Mark D. Baushke.
64361
64362 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
64363
64364         * lib/getdate.y (textint): New member "negative".
64365         (time_zone_hhmm): New function.
64366         Expect 14 shift-reduce conflicts, not 13.
64367         (o_colon_minutes): New rule.
64368         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
64369         (yylex): Set the "negative" member of signed numbers.
64370
64371 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
64372
64373         * doc/getdate.texi (Time of day items, Time zone items):
64374         Describe new formats +00:00, UTC+00:00.
64375
64376 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
64377
64378         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
64379         spurious "-l"s.  Problem reported by Stepan Kasal.
64380
64381 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
64382
64383         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
64384         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
64385
64386 2004-12-04  Simon Josefsson  <jas@extundo.com>
64387
64388         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
64389         Vandoorselaere <yoann@prelude-ids.org>.
64390
64391 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
64392
64393         Changes imported from coreutils.
64394         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
64395         exist.
64396         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
64397
64398 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
64399
64400         Changes imported from coreutils.
64401         * lib/hard-locale.c: Assume <locale.h> exists.
64402         Include "strdup.h".
64403         (GLIBC_VERSION): New macro.
64404         (hard_locale): Assume setlocale exists.
64405         Rewrite to avoid #ifdef.
64406         Use strdup rather than malloc + strcpy.
64407         * lib/human.c: Assume <locale.h> exists.
64408         (human_readable): Assume localeconv exists.
64409
64410 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
64411
64412         * modules/hard-locale (Depends-on): Add strdup.
64413
64414 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
64415
64416         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
64417         convert T2, not T.  (Imported from libc.)
64418
64419 2004-11-30  Simon Josefsson  <jas@extundo.com>
64420
64421         * modules/restrict (License): Change to LGPL.
64422
64423 2004-11-30  Simon Josefsson  <jas@extundo.com>
64424
64425         * m4/restrict.m4: Add copyright and copying conditions.
64426
64427 2004-11-30  Simon Josefsson  <jas@extundo.com>
64428
64429         * m4/base64.m4: New file.
64430
64431 2004-11-30  Simon Josefsson  <jas@extundo.com>
64432
64433         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
64434         base64.
64435
64436         * tests/test-base64.c: New file.
64437
64438         * modules/base64: New file.
64439
64440 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
64441
64442         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
64443         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
64444
64445         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
64446
64447 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
64448
64449         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
64450         (__getcwd.c): Don't restore errno; glibc doesn't.
64451         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
64452         first, falling back to our code only if its results look suspicious.
64453         Ensure that the resulting buffer is only as large as necessary.
64454
64455         * lib/readutmp.c: Include readutmp.h first.
64456         Include <errno.h>, since readutmp.h no longer does that.
64457         * lib/readutmp.h: Don't include <errno.h>,
64458         <sys/param.h>, <time.h>; not needed to establish interface.
64459         (errno): Remove decl.
64460         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
64461         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
64462         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
64463
64464 2004-11-28  Simon Josefsson  <jas@extundo.com>
64465
64466         * lib/base64.h, base64.c: New file.
64467
64468 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
64469
64470         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
64471
64472 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
64473
64474         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
64475         (Depends-on): Remove pathmax, same.  Add mempcpy.
64476         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
64477         (Makefile.am): Append getcwd.h to lib_SOURCES.
64478         (Include): Add getcwd.h.
64479         (Maintainer): Change from Jim Meyering to "all, glibc",
64480         since getdate now uses intended-for-glibc code.
64481         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
64482         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
64483
64484 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64485
64486         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
64487         HP's ANSI C compiler.
64488         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
64489         Declaring int functions causes warnings on some modern systems and
64490         shouldn't be needed to compile on ancient ones.
64491         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
64492         defined.
64493
64494         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
64495         with the following changes.
64496         (__set_errno): Parenthesize properly.
64497         Include <stdbool.h>.
64498         (MIN, MAX, MATCHING_INO): New macros.
64499         (__getcwd): Define with prototype, not K&R form.
64500         Use heuristics to allocate default buffer on stack if possible.
64501         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
64502         behavior, and to avoid the PATH_MAX limit when computing
64503         ../../../../...
64504         Use MATCHING_INO to compare inode number to file.
64505         Check for arithmetic overflow in size calculations.
64506         Fix bug in reallocation of dot array that caused getcwd to fail
64507         on directories nested deeper than 75.
64508         Be more careful about saving errno on error.
64509         Do not use realloc; use only free+malloc, as this is a bit
64510         more flexible and avoids a needless copy operation.
64511         Do not inspect st_dev and st_ino for symbolic links; POSIX
64512         doesn't specify the latter.
64513         Check for closedir errors.
64514         Avoid needless casts.
64515         Use "#ifdef weak_alias" around weak_alias, to be like other
64516         glibc code.
64517         The following changes to getcwd.c have effect only when used in
64518         gnulib; they have no effect inside glibc proper.
64519         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
64520         as alloca isn't used.
64521         (alloca, __alloca): Likewise.
64522         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
64523         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
64524         unconditionally, as gnulib assumes C89 or better.
64525         Do not include <sys/param.h>.
64526         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
64527         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
64528         better.
64529         (NULL) [!defined NULL]: Remove; we assume C89 or better.
64530         Include <dirent.h> in a way that is compatible with modern Autoconf.
64531         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
64532         New macros, if not already defined.
64533         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
64534         Use "_LIBC", not "defined _LIBC", for consistency.
64535         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
64536         a mempcpy module.
64537         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
64538         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
64539         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
64540         credit only to Jim Meyering and adjust the copyright dates.
64541         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
64542         <stdlib.h>, <unistd.h>, "pathmax.h".
64543         Instead, include "xgetcwd.h" (first) and "getcwd.h".
64544         (INITIAL_BUFFER_SIZE): Remove.
64545         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
64546
64547 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
64548
64549         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
64550         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
64551         Use the _ONCE methods, for efficiency.
64552         Check for fcntl.h.  In test program, include <errno.h>
64553         and <fcntl.h> if available.  Remove old K&R cruft from
64554         test program.  Check for common errors in GNU/Linux,
64555         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
64556         don't do AC_LIBOBJ, as that's getcwd.m4's job.
64557         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
64558         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
64559         name accordingly.
64560         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
64561         accommodate new getcwd.c.
64562         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
64563         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
64564         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
64565         that's all we need now.
64566
64567 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64568
64569         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
64570         argp-parse.c depends on getopt internals, that means we should
64571         always use our getopt, to be on the safe side.
64572         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
64573         order not to spoil the result of an eventual previous invocation
64574         of gl_GETOPT_SUBSTITUTE.
64575
64576 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
64577
64578         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
64579         redefinition warnings. To avoid them, include the defines
64580         in `#if !defined __need_getopt ... #endif'. The only place
64581         where __getopt_argv_const is used is in definitions
64582         of getopt_long and getopt_long_only below, which are as well
64583         protected by `#ifndef __need_getopt'.
64584         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
64585         __need_getopt after including <stdio.h> and <unistd.h> These
64586         headers might have defined it.
64587
64588 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
64589
64590         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
64591
64592 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
64593
64594         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
64595         (futimens): New function, which uses futimes if available.
64596         (futimens, utimens): Support timespec==NULL, with same semantics
64597         as utime and utimens.
64598         * lib/utimens.h (futimens): New decl.
64599
64600 2004-11-23  Jim Meyering  <jim@meyering.net>
64601
64602         * lib/getopt_.h: Remove trailing blanks.
64603
64604 2004-11-23  Jim Meyering  <jim@meyering.net>
64605
64606         * lib/__fpending.c: Add comment.
64607
64608 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
64609
64610         * modules/canonicalize (Depends-on): Add xreadlink.
64611         Problem reported by James Youngman.
64612
64613 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
64614
64615         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
64616         New macros.
64617         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
64618         optopt): Use them instead of invoking ## directly; otherwise, the
64619         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
64620
64621 2004-11-19  Bruno Haible  <bruno@clisp.org>
64622
64623         * lib/strtok_r.c: Move comments from here...
64624         * lib/strtok_r.h: ... to here.
64625
64626 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64627
64628         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
64629         implementations that mishandle size_t overflow.
64630
64631 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
64632
64633         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
64634         might fail.  Problem reported by Yoann Vandoorselaere.
64635         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
64636         implementations that mishandle size_t overflow.
64637
64638 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64639
64640         * modules/canon-host (Depends-on): Add strdup.
64641
64642 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64643
64644         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
64645
64646 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64647
64648         * lib/canon-host.c: Include "strdup.h".
64649         (canon_host): Use getaddrinfo if available, so that IPv6 works.
64650         Use strdup instead of malloc/strcpy to duplicate strings.
64651
64652         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
64653         (human_space_before_unit): New constant.
64654         * lib/human.c (human_readable): Support it.
64655
64656         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
64657         (xgetcwd): Set errno correctly when failing.
64658         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
64659         the failure is actually due to a PATH_MAX problem.
64660
64661         Further getopt changes to make it more likely that glibc will
64662         buy the changes back.
64663         * lib/getopt.c (POSIXLY_CORRECT): New constant.
64664         (getopt): Use it, so to preserve glibc semantic
64665         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
64666         when compiling for libc.
64667         * lib/getopt_.h (__getopt_argv_const): Bring it back.
64668         (getopt_long, getopt_long_only): Use it.
64669
64670         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
64671         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
64672         (getopt): Argv is now char * const *, as per standard.
64673         (_getopt_internal_r, _getopt_internal): Argv is now char **,
64674         not char *__getopt_argv_const *.
64675         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
64676         _getopt_long_only_r): Likewise.
64677         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
64678         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
64679         _getopt_long_r, _getopt_long_only_r): Likewise.
64680         * lib/getopt_.h (__getopt_argv_const): Remove.
64681         (getopt): Argv is now char * const *, as per standard.
64682
64683         * lib/getdate.y (tORDINAL): New token.
64684         (day, relunit): Allow it for relative times.
64685         (relative_time_table): Use tORDINAL for ordinals.
64686
64687 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
64688
64689         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
64690         Document that "second" isn't allowed as an ordinal number.
64691
64692 2004-11-16  Jim Meyering  <jim@meyering.net>
64693
64694         * modules/closeout (Depends-on): Add fpending.
64695
64696 2004-11-15  Jim Meyering  <jim@meyering.net>
64697
64698         * lib/closeout.c: Include "__fpending.h" once again.
64699         Include <stdbool.h>.
64700         (close_stdout): Don't fail just because stdout was closed initially,
64701         since some programs don't write to stdout in the normal course of
64702         operation (other than --version and --help), and we don't want this
64703         function to make e.g. `touch file >&-' fail.
64704         But do fail if it was closed and someone has tried to write to it.
64705         E.g., `printf foo >&-' must fail.
64706
64707 2004-11-13  Jim Meyering  <jim@meyering.net>
64708
64709         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
64710
64711 2004-11-12  Simon Josefsson  <jas@extundo.com>
64712
64713         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
64714         small doc fix is still pending.
64715
64716 2004-11-11  Simon Josefsson  <jas@extundo.com>
64717
64718         * modules/strtok_r: New file.
64719
64720         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64721         strtok_r.
64722
64723 2004-11-11  Simon Josefsson  <jas@extundo.com>
64724
64725         * m4/strtok_r.m4: New file.
64726
64727         * m4/getopt.m4: Replace opterr.
64728
64729 2004-11-11  Simon Josefsson  <jas@extundo.com>
64730
64731         * lib/strtok_r.h, strtok_r.c: New file.
64732
64733 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64734
64735         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
64736         of replacing opterr, getopt, etc.  This should handle the
64737         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
64738
64739 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
64740
64741         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
64742         we can stop lying to compilers about the constness of argv when we
64743         are compiled outside glibc.
64744         (getopt, getopt_long, getopt_long_only): Use it.
64745         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
64746         _getopt_internal, getopt): Likewise.
64747         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
64748         _getopt_long_only_r): Likewise.
64749         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
64750         _getopt_long_r, _getopt_long_only_r): Likewise.
64751
64752         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
64753         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
64754         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
64755         the other external symbols.
64756         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
64757         declaration, since the above renaming now works around collisions.
64758
64759 2004-11-11  Jim Meyering  <jim@meyering.net>
64760
64761         * lib/linebreak.c: Remove trailing blanks.
64762         * lib/alloca_.h: Likewise.
64763         * lib/acosl.c: Likewise.
64764         * lib/euidaccess.c: Likewise.
64765         * lib/allocsa.h: Likewise.
64766
64767 2004-11-10  Simon Josefsson  <jas@extundo.com>
64768
64769         * m4/getaddrinfo.m4: New file.
64770
64771 2004-11-10  Simon Josefsson  <jas@extundo.com>
64772
64773         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
64774
64775 2004-11-10  Simon Josefsson  <jas@extundo.com>
64776
64777         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
64778         getaddrinfo.
64779
64780         * modules/getaddrinfo: New file.
64781
64782 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64783
64784         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
64785
64786 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
64787
64788         * lib/mktime.c (SHR): New macro, which is a portable
64789         substitute for >> that should work even on Crays.
64790         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
64791         Problem reported by Mark D. Baushke in
64792         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
64793         * lib/getdate.y (SHR): Likewise.
64794         (tm_diff): Use it.
64795         * lib/strftime.c (SHR): Likewise.
64796         (tm_diff): Use it.
64797         * lib/quotearg.c (struct quoting_options): Use unsigned int for
64798         quote_these_too, so that right shifts are well defined.  All uses
64799         changed.
64800
64801 2004-11-10  Jim Meyering  <jim@meyering.net>
64802
64803         Ensure that no close failure goes unreported.
64804         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
64805         return early when it seems there's nothing to flush.
64806         Don't include __fpending.h.
64807
64808 2004-11-10  Jim Meyering  <jim@meyering.net>
64809
64810         * modules/closeout (Depends-on): Remove fpending.
64811
64812 2004-11-10  Jim Meyering  <jim@meyering.net>
64813
64814         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
64815
64816 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
64817
64818         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
64819         gl_FUNC_STRFTIME.
64820         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
64821         and AC_REQUIRE when possible, to avoid duplicate checks.
64822         Check for <wchar.h>.
64823
64824 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
64825
64826         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
64827
64828 2004-11-09  Bruno Haible  <bruno@clisp.org>
64829
64830         * m4/sockpfaf.m4: New file.
64831
64832 2004-11-05  Bruno Haible  <bruno@clisp.org>
64833
64834         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
64835         Reported by Mark D. Baushke <mdb@cvshome.org>.
64836
64837 2004-11-04  Bruno Haible  <bruno@clisp.org>
64838
64839         2004-09-11  Bruno Haible  <bruno@clisp.org>
64840                 * allocsa.valgrind: New file.
64841         2004-02-06  Bruno Haible  <bruno@clisp.org>
64842                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
64843                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
64844                 Reported by Christopher Seip <chris.seip@hp.com>.
64845
64846 2004-11-04  Bruno Haible  <bruno@clisp.org>
64847
64848         * modules/allocsa (Files): Add lib/allocsa.valgrind.
64849         (Makefile.am): Distribute it.
64850
64851 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
64852
64853         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
64854         with errno == ERANGE if the buffer is too small.
64855         Problem reported by Mark D. Baushke.
64856
64857 2004-11-03  Albert Chin  <china@thewrittenword.com>
64858             Paul Eggert  <eggert@cs.ucla.edu>
64859
64860         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
64861         equivalent, substitute $ac_type for equivalent type rather than
64862         blindly using uint32_t *always* which won't work if uint32_t is not
64863         available.  Define _UINT32_T to work around typedef of uint32_t if
64864         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
64865         2.5.1.
64866
64867 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
64868
64869         * m4/jm-macros.m4: Sync from coreutils.
64870         (gl_MACROS): Check for mbrlen, for pathchk.
64871         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
64872
64873 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
64874
64875         * lib/xreadlink.c (MAXSIZE): New macro.
64876         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
64877         size does not exceed MAXSIZE.  Avoid cast.
64878         As suggested by Mark D. Baushke in
64879         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
64880         if readlink fails with buffer size just under MAXSIZE, try again
64881         with MAXSIZE.
64882
64883 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
64884
64885         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
64886
64887 2004-11-02  Derek R. Price  <derek@ximbiot.com>
64888         and  Paul Eggert  <eggert@cs.ucla.edu>
64889
64890         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
64891         (get_date): Overparenthesize to avoid GCC warning.
64892
64893 2004-11-02  Bruno Haible  <bruno@clisp.org>
64894
64895         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
64896         returns void.
64897
64898 2004-11-02  Bruno Haible  <bruno@clisp.org>
64899
64900         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
64901         function returns void.
64902
64903 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64904
64905         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
64906         fflush_unlocked, flockfile, funlockfile, funlockfile,
64907         fputs_unlocked, putc_unlocked.
64908
64909 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64910
64911         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
64912         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
64913         already declared.
64914
64915 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64916
64917         * modules/getdate (Files): Add doc/getdate.texi.
64918         (Depends-on): Add setenv, xalloc.
64919
64920 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64921
64922         * lib/getdate.y: Add support for TZ="foo" within a date string.
64923         Fix some bugs near time_t boundaries.  Reject dates with
64924         out-of-range components, e.g., "Sept 31".
64925         Include <stdlib.h>, "setenv.h", "xalloc.h".
64926         (ISDIGIT_LOCALE): Remove; unused.
64927         Note that the TZ and time functions used here are not reentrant.
64928         (mktime_ok, get_tz): New functions.
64929         (TZBUFSIZE): New constant.
64930         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
64931         This requires that we sometimes generate our own TZ="XXX..." setting.
64932
64933 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
64934
64935         * doc/getdate.texi: New file, from coreutils with modifications for
64936         the new TZ parsing.
64937
64938 2004-10-27  Derek R. Price  <derek@ximbiot.com>
64939
64940         * lib/mktime.c (not_equal_tm): Remove redundant check.
64941
64942 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64943
64944         * modules/regex (lib_SOURCES): Add regex.c.
64945         Reported by James Youngman in
64946         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
64947
64948 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64949
64950         * lib/getdate.y: Use Bison 1.875 features, and some minor
64951         code cleanups.  This change does not affect semantics.
64952         Don't include <stdlib.h>; no longer needed.
64953         Don't include unlocked-io.h; only the "#if TEST" code uses
64954         stdio, and performance isn't crucial there.
64955         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
64956         Bison 1.875 features as described below.
64957         All uses of "PC." replaced by "pc->".
64958         (YYSTYPE): Add a forward declaration.
64959         (yylex, yyerror): Use full prototypes in forward decls.
64960         Use "%pure-parser" rather than obsolescent "%pure_parser".
64961         Use %parse-param and %lex-param instead of obsolescent
64962         YYPARSE_PARAM and YYLEX_PARAM.
64963         (meridian_table, month_and_day_table, time_units_table,
64964         relative_time_table, time_zone_table, military_table,
64965         lookup_zone, lookup_word, get_date):
64966         Use NULL instead of 0 where appropriate.
64967         (to_hour): Avoid abort (), to avoid a dependency on
64968         stdlib.h.
64969         (yyerror, yylex): Now accepts parser_control * arg.
64970         (main) [TEST]: Use '\0' rather than 0 for char.
64971
64972 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64973
64974         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
64975
64976 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64977
64978         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
64979         It's now the caller's responsibility to handle the case where
64980         !HAVE_GETPAGESIZE && !defined getpagesize.
64981
64982         * lib/mktime.c (leapyear): Arg is long int, not int.
64983
64984 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
64985
64986         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
64987
64988 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64989
64990         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
64991         missing.  Problem reported by James Youngman.
64992
64993 2004-10-16  Simon Josefsson  <jas@extundo.com>
64994
64995         * gnulib-tool: Fix comments.  Fix parse problem.
64996         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
64997
64998 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
64999
65000         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
65001         implementation of getopt_long.  Problem reported by Alexander Taler in:
65002         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
65003
65004 2004-10-15  Bruno Haible  <bruno@clisp.org>
65005
65006         * gnulib-tool: Untabify. Initialize supplied_libname.
65007         (func_usage): More homogenous output.
65008         (func_modules_transitive_closure, func_modules_to_filelist,
65009         func_emit_lib_Makefile_am): New functions.
65010         (func_import): New function, extracted from big case statement. Use
65011         func_get_license, func_modules_transitive_closure,
65012         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
65013         opt_lgpl. Don't use test -a, as it's not portable.
65014         (func_create_testdir): Use func_modules_transitive_closure,
65015         func_modules_to_filelist, func_emit_lib_Makefile_am.
65016
65017 2004-10-15  Bruno Haible  <bruno@clisp.org>
65018
65019         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
65020
65021 2004-10-15  Bruno Haible  <bruno@clisp.org>
65022
65023         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
65024         the portions belonging to each module.
65025         Suggested by Derek Robert Price <derek@ximbiot.com>.
65026
65027 2004-10-12  Simon Josefsson  <jas@extundo.com>
65028
65029         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
65030         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
65031         to real functions.
65032
65033 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65034
65035         * modules/vsnprintf: New file.
65036
65037 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65038
65039         * m4/vsnprintf.m4: New file.
65040
65041 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65042
65043         * lib/vsnprintf.h: New file.
65044         * lib/vsnprintf.c: New file.
65045
65046 2004-10-11  Bruno Haible  <bruno@clisp.org>
65047
65048         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
65049         vsnprintf.
65050
65051 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
65052
65053         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
65054
65055 2004-10-07  Bruno Haible  <bruno@clisp.org>
65056
65057         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
65058         fits into the provided buffer.
65059
65060 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
65061
65062         * lib/diacrit.c, diacrit.h: Add GPL notice.
65063
65064         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
65065         notice.
65066         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
65067         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
65068         This avoids a potential constant-folding bug.
65069
65070 2004-10-05  Bruno Haible  <bruno@clisp.org>
65071
65072         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
65073         for the declaration of strsep.
65074
65075 2004-10-05  Bruno Haible  <bruno@clisp.org>
65076
65077         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
65078
65079 2004-10-04  Simon Josefsson  <jas@extundo.com>
65080
65081         * modules/memmem: New file.
65082         * tests/test-memmem.c: New file.
65083         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
65084
65085 2004-10-04  Simon Josefsson  <jas@extundo.com>
65086
65087         * m4/memmem.m4: New file.
65088
65089 2004-10-04  Simon Josefsson  <jas@extundo.com>
65090
65091         * lib/memmem.h: New file.
65092         * lib/memmem.c: New file, taken from glibc.
65093
65094 2004-10-04  Simon Josefsson  <jas@extundo.com>
65095
65096         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
65097         '#ifdef USE_UNLOCKED_IO'.
65098
65099 2004-10-04  Simon Josefsson  <jas@extundo.com>
65100
65101         * config/srclist.txt: Add memmem from glibc.
65102
65103 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65104
65105         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
65106
65107         * modules/argmatch, modules/argp, modules/closeout, modules/error,
65108         modules/exclude, modules/getdate, modules/getline,
65109         modules/getndelim2, modules/getpass, modules/getpass-gnu,
65110         modules/getusershell, modules/linebuffer, modules/md5,
65111         modules/mountlist, modules/posixtm, modules/readtokens,
65112         modules/readutmp, modules/regex, modules/sha1,
65113         modules/version-etc, modules/yesno:
65114         Remove dependency on unlocked-io.
65115
65116 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65117
65118         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
65119
65120         * m4/unlocked-io.m4: Add copyright notice.
65121         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
65122
65123 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65124
65125         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
65126         * lib/xmalloc.c (xmemdup): Likewise.
65127         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
65128         XFREE): Remove these long-obsolescent macros.
65129         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
65130         * lib/xstrdup.c: Remove.
65131
65132         * lib/regex.c (re_comp): Cast gettext return value to char *,
65133         Problem reported by Martin Neitzel via Mark D. Baushke.
65134
65135 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
65136
65137         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
65138         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
65139         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
65140         regex.c, sha1.c, version-etc.c, yesno.c:
65141         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
65142         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
65143         the includer's responsibility.
65144
65145         Sync from coreutils.
65146
65147         * lib/modechange.c (mode_compile): Don't decrement a pointer that
65148         points to the start of a string, as the C Standard says the
65149         resulting behavior is undefined.
65150
65151         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
65152         simple -> simple_backups, numbered_existing ->
65153         numbered_existing_backups, numbered -> numbered_backups
65154         to avoid shadowing problems.  All uses changed.
65155         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
65156         * lib/backupfile.c (check_extension, numbered_backup):
65157         Rename locals to avoid shadowing 'basename'.
65158         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
65159         once.
65160
65161         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
65162         * lib/.cvsignore: Add getopt.h.
65163
65164 2004-10-04  Bruno Haible  <bruno@clisp.org>
65165
65166         * modules/README: New file.
65167         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
65168         not a module.
65169
65170 2004-10-02  Jim Meyering  <jim@meyering.net>
65171
65172         * lib/dirfd.h, getpagesize.h: Add copyright notice.
65173
65174 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65175
65176         * modules/strsep: New file.
65177
65178 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65179
65180         * m4/strsep.m4: New file.
65181
65182 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65183
65184         * lib/strsep.h: New file.
65185         * lib/strsep.c: New file.
65186
65187 2004-10-01  Simon Josefsson  <jas@extundo.com>
65188
65189         * lib/snprintf.c (snprintf): Handle size==0.
65190
65191 2004-10-01  Simon Josefsson  <jas@extundo.com>
65192             Bruno Haible  <bruno@clisp.org>
65193
65194         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
65195         (snprintf): Declare 'args'.
65196
65197 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
65198
65199         * lib/snprintf.c: Remove comments as to why each header is needed.
65200
65201 2004-10-01  Bruno Haible  <bruno@clisp.org>
65202
65203         * MODULES.html.sh: Add strsep.
65204
65205 2004-09-30  Simon Josefsson  <jas@extundo.com>
65206
65207         * modules/snprintf: New file.
65208
65209 2004-09-30  Simon Josefsson  <jas@extundo.com>
65210
65211         * m4/snprintf.m4: New file.
65212
65213 2004-09-30  Simon Josefsson  <jas@extundo.com>
65214
65215         * lib/snprintf.h, lib/snprintf.c: New files.
65216
65217 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65218
65219         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
65220         (hol_entry_help): Never translate an empty string.
65221         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
65222         * lib/argp.h (OPTION_NO_TRANS): New option.
65223
65224 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
65225
65226         * modules/argp (Maintainer): Replace Simon Josefsson
65227         by Sergey Poznyakoff.
65228
65229 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
65230
65231         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
65232         changes merged back into glibc.
65233
65234 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
65235
65236         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
65237
65238 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
65239
65240         * lib/xvasprintf.c: Include xalloc.h.
65241         (xvasprintf): Use xalloc_die, not xmalloc_die.
65242
65243 2004-09-29  Bruno Haible  <bruno@clisp.org>
65244
65245         * modules/alloca-opt: New file, derived from modules/alloca.
65246         * modules/allocsa: Depend on alloca-opt instead of alloca.
65247         * modules/setenv: Likewise.
65248         * modules/vasnprintf: Likewise.
65249         * MODULES.html.sh: Add alloca-opt.
65250
65251 2004-09-28  Simon Josefsson  <jas@extundo.com>
65252
65253         * gnulib-tool: New parameter --lgpl, to asseert that modules are
65254         LGPL, and to replace license template from GPL to LGPL.
65255
65256 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
65257
65258         * modules/dummy: Change license to LGPL.
65259
65260 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
65261
65262         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
65263
65264 2004-09-24  Simon Josefsson  <jas@extundo.com>
65265
65266         * modules/minmax (License): Change from GPL to LGPL.
65267
65268 2004-09-23  Simon Josefsson  <jas@extundo.com>
65269
65270         * gnulib-tool (--import): Typo.
65271
65272 2004-09-23  Simon Josefsson  <jas@extundo.com>
65273
65274         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
65275
65276 2004-09-22  Bruno Haible  <bruno@clisp.org>
65277
65278         * modules/*: Add 'License' field.
65279         * gnulib-tool: Accept --extract-license option.
65280         (func_get_license): New function.
65281
65282 2004-09-21  Bruno Haible  <bruno@clisp.org>
65283
65284         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
65285         Reported by Simon Josefsson.
65286
65287 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65288
65289         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
65290         gl_AC_TYPE_LONG_LONG.
65291
65292 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
65293
65294         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
65295
65296 2004-09-18  Simon Josefsson  <jas@extundo.com>
65297         and  Paul Eggert  <eggert@cs.ucla.edu>
65298
65299         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
65300         calls with autoreconf.  Define GL_LIB.
65301
65302 2004-09-14  Karl Berry  <karl@gnu.org>
65303
65304         * config/srclist.txt: unsync setenv.c, sigh.
65305
65306 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65307
65308         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
65309         Problem reported by Bruno Haible in:
65310         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
65311
65312 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
65313
65314         * config/srclist.txt: Comment out argp-pvh.c.
65315
65316 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
65317
65318         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
65319         in case some system header has #define'd it.  Problem reported by
65320         Soeren D. Schulze in
65321         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
65322
65323 2004-09-09  Karl Berry  <karl@gnu.org>
65324
65325         * regex.[ch]: delete from the root.  These were supposed to be
65326                 synced with emacs cvs, but this has not happened for about
65327                 a year, and anyway nothing else uses emacs regex.[ch].
65328                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
65329                 lib/regex[.ch] is untouched.
65330
65331 2004-09-09  Bruno Haible  <bruno@clisp.org>
65332
65333         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
65334
65335 2004-09-09  Bruno Haible  <bruno@clisp.org>
65336
65337         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
65338         modifications.
65339         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
65340
65341 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
65342
65343         * modules/xvasprintf: New file.
65344         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
65345
65346 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
65347
65348         * lib/xvasprintf.h: New file.
65349         * lib/xvasprintf.c: New file.
65350         * lib/xasprintf.c: New file.
65351
65352 2004-09-08  Bruno Haible  <bruno@clisp.org>
65353
65354         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
65355
65356 2004-09-08  Bruno Haible  <bruno@clisp.org>
65357
65358         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
65359         length is > INT_MAX.
65360         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
65361         more.
65362
65363 2004-09-08  Bruno Haible  <bruno@clisp.org>
65364
65365         * lib/stdint_.h: New file, taken from GNU clisp.
65366
65367 2004-09-08  Bruno Haible  <bruno@clisp.org>
65368             Oskar Liljeblad  <oskar@osk.mine.nu>
65369
65370         * modules/stdint: New file.
65371         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
65372
65373 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65374
65375         Import from coreutils.
65376         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
65377         strings on unbounded length.  alloca's performance benefits aren't
65378         that important here.
65379         (V_STRDUP): Remove.
65380         (parse_with_separator): New function, with most of the internals
65381         of the old parse_user_spec.  Allow user to omit both user and group,
65382         for compatibility with FreeBSD.
65383         Clone only the user name, not the entire spec.
65384         Do not set *uid, *gid unless entirely successful.
65385         Avoid memory leak in some failing cases.
65386         Fix regression for USER.GROUP reported by Dmitry V. Levin in
65387         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
65388         (parse_user_spec): Rewrite to use parse_with_separator.
65389
65390 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65391
65392         * modules/userspec: Don't depend on alloca.
65393
65394 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65395
65396         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
65397
65398 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65399
65400         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
65401         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
65402         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
65403
65404 2004-08-16  Simon Josefsson  <jas@extundo.com>
65405
65406         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
65407         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
65408         Add --dry-run for --import.
65409         Let user provided command line parameters override configure.ac
65410         settings.
65411
65412 2004-08-12  Simon Josefsson  <jas@extundo.com>
65413
65414         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
65415         as discussed with Paul Eggert in threads rooted at
65416         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
65417         and
65418         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
65419         Before, the test was empty, and relied on ELIDE_CODE in source
65420         code.)
65421         (gl_PREREQ_GETOPT): New macro.
65422         (gl_GETOPT): Use them.
65423
65424 2004-08-12  Simon Josefsson  <jas@extundo.com>
65425
65426         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
65427         * lib/getopt_.h: Renamed from getopt.h.
65428
65429 2004-08-12  Simon Josefsson  <jas@extundo.com>
65430
65431         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
65432         Change default library name from libfoo to libgnu.
65433         Now, if you have a configure.ac that says:
65434                 gl_SOURCE_BASE(gl)
65435                 gl_M4_BASE(gl/m4)
65436                 gl_MODULES(error getopt etcetera)
65437                 gl_INIT
65438         you can import all you need by running:
65439                 ../gnulib/gnulib-tool --import
65440
65441         * modules/getopt (Files): Rename getopt.h to getopt_.h.
65442         (Makefile.am): Rewrite, use logic from argz.
65443         (Include): Use <getopt.h> instead of "getopt.h".
65444
65445 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65446
65447         * modules/argp (Files): Add m4/unlocked-io.m4.
65448         (Depends-on): Add extensions.
65449
65450 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65451
65452         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
65453         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
65454         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
65455         Check for program_invocation_name, program_invocation_short_name,
65456         flockfile, funlockfile, features.h, _getopt_long_only_r.
65457
65458 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65459
65460         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
65461         its complicated substitute.
65462         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
65463         and program_invocation_name.
65464         (__argp_basename) [!_LIBC]: Remove; the only use was
65465         replaced by its body.
65466         (__argp_short_program_name): Change condition from
65467         !defined __argp_short_program_name to
65468         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
65469         to match argp-namefrob.h.
65470         (__argp_failure): Don't assume strerror_r returns char *.
65471         * lib/argp-parse.c (N_): Define unconditionally.
65472         (argp_default_options): Fill out initializers with 0 to avoid
65473         gcc warnings.
65474
65475 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
65476
65477         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
65478         getopt1.c.
65479
65480 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65481
65482         Merge from coreutils.
65483
65484         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
65485
65486         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
65487         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
65488
65489 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65490
65491         Merge from coreutils.
65492
65493         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
65494         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
65495         for Reliant Unix 5.43.
65496
65497         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
65498         (union fooround): Use uintmax_t, not long int.
65499         The rest is a merge from libc:
65500         [defined _LIBC]: Include <shlib-compat.h>.
65501         (_obstack) [defined _LIBC]: Remove after 2.3.4.
65502
65503         * lib/settime.c (settime): Recode to avoid warning with
65504         Sun Forte C 6U2.
65505
65506         * lib/strverscmp.c: Convert to UTF-8.
65507
65508 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65509
65510         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
65511         m4/uintmax_t.m4.
65512
65513 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65514
65515         * modules/xalloc-die: New file.
65516         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
65517
65518         * modules/md5 (Files): Add m4/uint32_t.m4.
65519         * modules/sha1: Renamed from modules/sha.
65520         (Files):
65521         Rename lib/sha.h to lib/sha1.h.
65522         Rename lib/sha.c to lib/sha1.c.
65523         Rename m4/sha.m4 to m4/sha1.m4.
65524         (lib_SOURCES): Likewise.
65525         (configure.ac): Rename gl_SHA to gl_SHA1.
65526         (Include): sha.h -> sha1.h.
65527
65528 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65529
65530         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
65531         * m4/sha1.m4: Renamed from sha.m4.
65532         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
65533
65534 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65535
65536         * lib/obstack.h (obstack_empty_p):
65537         Don't assume that chunk->contents is suitably aligned.
65538         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
65539         Likewise. Problem reported by Benno in
65540         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
65541
65542         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
65543         readable.  This could be improved further but it'd take some work.
65544
65545 2004-08-08  Simon Josefsson  <jas@extundo.com>
65546
65547         * modules/xgethostname (Depends-on): Remove exit and error (not
65548         used).
65549
65550         * modules/getpass-gnu: Add getpass.h.
65551         (Depends-on): Add stdbool.
65552         * modules/getpass: Add getpass.h.
65553
65554 2004-08-08  Simon Josefsson  <jas@extundo.com>
65555
65556         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
65557         Check getpass declaration.
65558
65559 2004-08-08  Simon Josefsson  <jas@extundo.com>
65560
65561         * lib/xgethostname.c: Don't include error.h (not used).
65562
65563         * lib/getpass.h: Add.
65564         * lib/getpass.c: Include getpass.h first.
65565
65566 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
65567
65568         * lib/xalloc-die.c: New file.
65569         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
65570         All uses removed.
65571         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
65572         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
65573         xalloc-die.c.
65574         (_, N_, xalloc_die): Move to xalloc-die.c.
65575         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
65576         so that we needn't mess with xalloc_msg_memory_exhausted.
65577
65578         * lib/sha1.h: Renamed from sha.h.
65579         (SHA1_H): Renamed from _SHA_H.
65580         (sha1_ctx): Renamed from sha_ctx.
65581         (sha1_init_ctx): Renamed from sha_init_ctx.
65582         (sha1_process_block): Renamed from sha_process_block.
65583         (sha1_process_bytes): Renamed from sha_process_bytes.
65584         (sha1_finish_ctx): Renamed from sha_finish_ctx.
65585         (sha1_read_ctx): Renamed from sha_read_ctx.
65586         (sha1_stream): Renamed from sha_stream.
65587         (sha1_buffer): Renamed from sha_buffer.
65588         * lib/sha1.c: Likewise; renamed from sha.c.
65589         Do not include <sys/types.h>.
65590         Include <stddef.h> rather than <stdlib.h>.
65591
65592 2004-08-08  Bruno Haible  <bruno@clisp.org>
65593
65594         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
65595         FILESYSTEM_PREFIX_LEN.
65596         * lib/progreloc.c: Likewise.
65597         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
65598
65599 2004-08-06  Simon Josefsson  <jas@extundo.com>
65600
65601         * modules/progname (Depends-on): Don't depend on stdbool.
65602
65603 2004-08-06  Simon Josefsson  <jas@extundo.com>
65604
65605         * modules/getsubopt: New file.
65606         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65607         getsubopt.
65608
65609 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65610
65611         More merge from coreutils.
65612
65613         * m4/utimens.m4, m4/utimecmp.m4: New files.
65614         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
65615         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
65616         prereq.m4, sha.m4: Import changes from coreutils.
65617
65618 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65619
65620         More merge from coreutils.
65621         * modules/raise, modules/readtokens0, modules/utimens:
65622         * modules/utimecmp, module/xnanosleep: New files.
65623         * modules/strftime: Add lib/strftime.h.
65624         Change include from <time.h> to "strftime.h".
65625         * modules/yesno: Add lib/yesno.h.
65626         * modules/backupfile: Remove lib/addext.c.
65627         * modules/euidaccess: Add stat-macros.h.
65628         * modules/canonicalize, modules/euidaccess,
65629         modules/filemode, modules/lchown, modules/makepath,
65630         modules/rmdir, modules/stat: Likewise.
65631
65632 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65633
65634         Merge from tar.
65635         * lib/argp-help.c (make_hol, hol_append): Don't assume that
65636         SIZE_MAX is a valid preprocessor constant.
65637         (__argp_basename): Change from "#ifndef _LIBC"
65638         to "#ifndef __argp_short_program_name", so that
65639         we don't compile these functions for tar.
65640
65641         More merges from coreutils.
65642         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
65643         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
65644         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
65645         * lib/addext.c: Remove; no longer needed.
65646         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
65647         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
65648         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
65649         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
65650         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
65651         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
65652         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
65653         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
65654         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
65655         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
65656         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
65657         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
65658         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
65659         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
65660         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
65661         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
65662         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
65663         Import changes from coreutils.
65664
65665 2004-08-05  Simon Josefsson  <jas@extundo.com>
65666
65667         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
65668
65669 2004-08-05  Simon Josefsson  <jas@extundo.com>
65670
65671         * m4/getsubopt.m4: New file.
65672
65673 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
65674
65675         Merge from coreutils.
65676
65677         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
65678         * m4/getcwd-path-max.m4: New files.
65679
65680         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
65681         FILESYSTEM_PREFIX_LEN ->
65682         FILE_SYSTEM_PREFIX_LEN.
65683         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
65684         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
65685         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
65686         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
65687
65688         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
65689         prerequisite modules now handle the DOS stuff.
65690         Don't check for unistd.h.
65691
65692 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
65693
65694         Merge from coreutils.
65695
65696         * lib/.gdb-history: Remove; this doesn't belong here.
65697
65698         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
65699         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
65700         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
65701         * lib/getcwd.c: New files.
65702
65703         * lib/dirname.h: Include <stdbool.h>.
65704         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
65705         for consistency with POSIX terminology.  All uses changed.
65706         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
65707         (strip_trailing_slashes): Use bool for booleans.
65708         * lib/stripslash.c (strip_trailing_slashes): Likewise.
65709
65710         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
65711         sometimes returns a positive errno value even when it succeeds.
65712         (print_errno_message) [!LIBC]: Fall back on strerror if
65713         __strerror_r fails.
65714
65715         * lib/path-concat.c (mempcpy): Don't define if a system header defines
65716         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
65717         (longest_relative_suffix): New function.
65718         (path_concat): Use it.  Assume first argument is not NULL.
65719         Port to DOS.  Omit redundant separators.
65720         Report an error instead of returning NULL.
65721         Use mempcpy instead of memcpy.
65722         (xpath_concat): Remove: not declared or used.
65723
65724         * lib/same.h: Include <stdbool.h>
65725         (same_name): Return bool, not int.
65726         * lib/same.c (same_name): Likewise.
65727         (errno): Don't declare; we assume C89 or better now.
65728
65729         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
65730         if not already defined.
65731
65732         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
65733         * lib/dup-safer.c (errno): Likewise.
65734
65735 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
65736
65737         Merge from coreutils.
65738         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
65739         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
65740         * modules/path-concat: Don't depend on strdup.
65741
65742 2004-08-03  Simon Josefsson  <jas@extundo.com>
65743
65744         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
65745         * lib/progname.h: Don't include stdbool.h.
65746
65747 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
65748
65749         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
65750         * MODULES.html.sh (func_all_modules): Remove fatal.
65751
65752 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
65753
65754         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
65755
65756 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
65757
65758         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
65759         working.
65760
65761 2004-08-02  Simon Josefsson  <jas@extundo.com>
65762
65763         * lib/getsubopt.h: New file, with comments from Bruno Haible.
65764         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
65765         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
65766
65767 2004-08-01  Simon Josefsson  <jas@extundo.com>
65768
65769         * lib/xgetdomainname.c: Include stdlib.h, for free().
65770
65771 2004-07-19  Bruno Haible  <bruno@clisp.org>
65772
65773         * MODULES.html.sh (func_all_modules): Add dummy.
65774
65775 2004-07-16  Simon Josefsson  <jas@extundo.com>
65776
65777         * modules/dummy: New file.
65778
65779 2004-07-16  Simon Josefsson  <jas@extundo.com>
65780
65781         * lib/dummy.c: New file.
65782
65783 2004-07-16  Bruno Haible  <bruno@clisp.org>
65784
65785         * lib/backupfile.h: Add extern "C" for C++.
65786         * lib/closeout.h: Likewise.
65787         * lib/copy-file.h: Likewise.
65788         * lib/findprog.h: Likewise.
65789         * lib/full-write.h: Likewise.
65790         * lib/pathname.h: Likewise.
65791         * lib/progname.h: Likewise.
65792         * lib/stpcpy.h: Likewise.
65793         * lib/stpncpy.h: Likewise.
65794         * lib/strcase.h: Likewise.
65795         * lib/strstr.h: Likewise.
65796         * lib/xalloc.h: Likewise.
65797
65798         * lib/mbswidth.h: Add extern "C" for C++.
65799         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
65800
65801 2004-07-13  Robert Millan  <robertmh@gnu.org>
65802
65803         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
65804
65805 2004-07-09  Simon Josefsson  <jas@extundo.com>
65806
65807         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
65808         failed without this.)
65809
65810 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65811
65812         * modules/chown (Files): Add lib/fchown-stub.c, since
65813         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
65814
65815 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
65816
65817         * lib/fchown-stub.c: New file.
65818
65819 2004-06-24  Jim Meyering  <jim@meyering.net>
65820
65821         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
65822
65823 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65824
65825         * modules/argz: Omit "#include".
65826
65827         * MODULES.html.sh (func_all_modules): Add calloc, to match
65828         2004-06-01 addition of calloc module.
65829
65830 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65831
65832         * m4/argz.m4: New file, which is autoupdated from libtool.
65833
65834 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65835
65836         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
65837         libtool.
65838
65839 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65840
65841         * config/srclist-update: Don't insist on "USA." before the
65842         close-comment, as libtool omits the period and puts the */ on a
65843         separate line.
65844         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
65845         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
65846
65847 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
65848
65849         * modules/argz: New file.
65850         * MODULES.html.sh (func_all_modules): Add argz.
65851
65852 2004-06-12  Jim Meyering  <jim@meyering.net>
65853         and  Paul Eggert  <eggert@cs.ucla.edu>
65854
65855         * modules/hash (Files): Add lib/xalloc.h.
65856         * modules/pipe (Depends-on): Add wait-process.
65857         * modules/stat (Depends-on): Add xalloc.
65858         * modules/userspec (Files): Add lib/userspec.h.
65859         * modules/xstrto
65860
65861         Upgrade from gettext-0.13.
65862         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
65863         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
65864         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
65865
65866 2004-06-10  Jim Meyering  <jim@meyering.net>
65867
65868         * lib/calloc.c: New file.
65869
65870 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65871
65872         * lib/getdate.y (yylex): Allow space between sign and number.
65873         Problem reported by Dan Jacobson.
65874
65875 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
65876
65877         Merge from coreutils CVS.
65878
65879         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
65880         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
65881         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
65882         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
65883         xstrtol.m4: Fix copyright date and/or serial number.
65884
65885         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
65886         See if we need an fchown replacement.
65887         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
65888         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
65889         and use the replacement function if we detect either defect.
65890
65891         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
65892         gl_UTIMECMP.
65893
65894 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
65895         and  Jim Meyering  <jim@meyering.net>
65896
65897         Merge from coreutils CVS.
65898
65899         * lib/stat-macros.h: New file, with contents from file-type.h
65900         and coreutils' system.h.
65901         * lib/file-type.c: Include "stat-macros.h".
65902         * lib/file-type.h (file_type): Move all macro definitions to new file,
65903         stat-macros.h.
65904
65905         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
65906         Wrap old code with this conditional.
65907         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
65908         function that does not dereference symlinks.
65909         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
65910
65911         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
65912         dependency problems.
65913         (xreadlink): Accept new arg SIZE, for efficiency.
65914         All decls and uses changed.
65915         * lib/xreadlink.h: Include <stddef.h>, for size_t.
65916
65917         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
65918         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
65919
65920         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
65921         sysexits.h.
65922
65923 2004-06-01  Jim Meyering  <jim@meyering.net>
65924
65925         * m4/calloc.m4: New file.
65926
65927 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
65928
65929         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
65930         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
65931         Also, fix a typo in a diagnostic.
65932
65933 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
65934
65935         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
65936         or AC_FUNC_REALLOC.
65937
65938 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
65939
65940         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
65941         macros to be defined.
65942         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
65943         the allocator returns NULL because the requested size is zero.
65944
65945 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
65946
65947         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
65948         var.  Add comment explaining why libc still defines it.  This
65949         merges the following patch from glibc:
65950         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
65951
65952 2004-05-20  Andreas Schwab  <schwab@suse.de>
65953
65954         * m4/free.m4: Replace free if it not known to work, not the other
65955         way round.
65956
65957 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
65958
65959         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
65960         present in glibc since revision 1.1 of this file.
65961         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
65962         obstack_alignment_mask, obstack_alloc, obstack_base,
65963         obstack_blank, obstack_blank_fast, obstack_chunk_size,
65964         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
65965         obstack_grow0, obstack_init, obstack_int_grow,
65966         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
65967         obstack_next_free, obstack_object_size, obstack_ptr_grow,
65968         obstack_ptr_grow_fast, obstack_room): Remove declarations of
65969         nonexistent functions.
65970
65971 2004-05-18  Karl Berry  <karl@gnu.org>
65972
65973         * config/srclist.txt: break link for vasnprintf.c.
65974
65975 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
65976
65977         Port obstack to the AS/400, where pointers are 16 bytes wide and
65978         you cannot cast an integer to a valid pointer.  This patch is
65979         currently waiting to be integrated into glibc; see
65980         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
65981
65982         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
65983         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
65984         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
65985         (struct obstack): temp member is now a union of a pointer and
65986         an integer, instead of an integer.  All integer uses changed.
65987         This does not affect the physical layout of struct obstack,
65988         except on hosts (like the AS/400) where the size or alignment of
65989         void * is greater than that of ptrdiff_t.
65990         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
65991         __STDC__)]: Store temporary in pointer member of union, not
65992         integer member.
65993         * lib/obstack.c: Include <stddef.h>, for offsetof.
65994         (struct fooalign): Remove; it doesn't need a name.
65995         (union fooround): Change double to long double, and add void *.
65996         (DEFAULT_ALIGNMENT): Use offsetof to compute.
65997         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
65998         not a macro.  Hence the values are always int; so remove all
65999         casts-to-int in uses.
66000
66001 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66002
66003         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
66004         we can get this patch merged into glibc.
66005
66006 2004-05-17  Derek R. Price  <derek@ximbiot.com>
66007             Paul Eggert  <eggert@cs.ucla.edu>
66008
66009         * m4/argp: Depend on alloca.
66010
66011 2004-05-17  Derek R. Price  <derek@ximbiot.com>
66012             Paul Eggert  <eggert@cs.ucla.edu>
66013
66014         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
66015         freecoding.
66016
66017 2004-05-17  Bruno Haible  <bruno@clisp.org>
66018
66019         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
66020         precision that consists of a '.' followed by an empty digit string.
66021         Patch by Tor Lillqvist <tml@iki.fi>.
66022
66023 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66024
66025         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
66026         for backward compatibility with older code.  We need our own
66027         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
66028         it under some other name, and our alloca.h will define it.
66029
66030 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66031             Derek Price  <derek@ximbiot.com>
66032
66033         * lib/alloca.c: Include <alloca.h>, to get our interface.
66034         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
66035         include <alloca.h> first.  Use C89 prototype for alloca; this
66036         requires including <stddef.h> for size_t.  Use extern "C" if C++.
66037         Use #elif for simplicity, since we can assume C89 now.
66038         Don't try to source the system alloca.h since it will not be found
66039         and to prevent recursively including its replacement.
66040         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
66041         * lib/regex.c: Likewise.
66042
66043 2004-05-16  Derek Price  <derek@ximbiot.com>
66044             Paul Eggert  <eggert@cs.ucla.edu>
66045
66046         getline cleanup.  This changes the getndelim2 API: both order of
66047         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
66048         no delimiter).
66049
66050         * lib/getline.c: Don't include stddef.h or stdio.h, since our
66051         interface does that.
66052         (getline): Always use getdelim, so that we don't have two
66053         copies of this code.
66054         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
66055         if available.
66056         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
66057         (GETNDELIM2_MAXIMUM): New macro.
66058         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
66059         instead of the old practice of delim2==0.  All callers changed.
66060         Return -1 on overflow, instead of returning junk.
66061         Do not set *linesize unless allocation succeeds.
66062         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
66063         that we include sys/types.h.
66064         * lib/getnline.h: Likewise.
66065         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
66066         (getndelim2): Reorder arguments.
66067         * lib/getnline.c (getnline, getndelim):
66068         Don't discard the NMAX argument.
66069         (getnline): Invoke getndelim, to avoid code duplication.
66070         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
66071         of (size_t) -1 by callers of the getnline family.
66072
66073 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66074
66075         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
66076         Check for gettimeofday.
66077         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
66078         Check for settimeofday, stime.
66079
66080 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66081
66082         * lib/nanosleep.c (suspended): Change its type from int to
66083         sig_atomic_t volatile.
66084         (first_call): Make it private to rpl_nanosleep, and have it
66085         be zero initially as that's a bit faster.
66086         (my_usleep): Round up fractional times instead of truncating them,
66087         as this is the usual meaning for 'sleep'.
66088
66089         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
66090         doesn't work.
66091         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
66092         (ENOSYS): Define if not defined.
66093         (settime): Fall back on stime if it exists and settimeofday fails.
66094         But don't bother with fallbacks if a method fails with errno == EPERM.
66095
66096 2004-05-11  Jim Meyering  <jim@meyering.net>
66097
66098         Prior to this change, the save_cwd caller required read access to the
66099         current directory on most systems (ones with the fchdir function).
66100
66101         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
66102         fails, try write-only, and finally, resort to using xgetcwd.
66103
66104 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
66105
66106         * lib/obstack.c, obstack.h: Import changes from libc.
66107
66108 2004-04-28  Bruno Haible  <bruno@clisp.org>
66109
66110         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
66111         also implicitly appends .exe to executables.
66112         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
66113         accepts Windows pathnames.
66114         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
66115         Treat Cygwin like Windows, since it now accepts Windows pathnames.
66116         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
66117         Treat Cygwin like Windows, since it now accepts Windows pathnames.
66118         Reported by Derek Robert Price <derek@ximbiot.com>.
66119
66120 2004-04-21  Karl Berry  <karl@gnu.org>
66121
66122         * config/srclist.txt (localcharset.c): break sync.
66123
66124 2004-04-20  Paul Eggert  <eggert@twinsun.com>
66125
66126         * m4/host-os.m4: Add a copyright notice.
66127
66128 2004-04-20  Jim Meyering  <jim@meyering.net>
66129
66130         Change UTILS_ to gl_ in AC_DEFINE'd names.
66131         Change utils_- and jm_-prefixed variables, too.
66132         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
66133         UTILS_FUNC_MKDIR_TRAILING_SLASH.
66134         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
66135
66136         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
66137         Don't emit trailing blanks.
66138         Also rename jm_-prefixed variables to have gl_ prefix.
66139
66140         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
66141         Also rename jm_-prefixed variables to have gl_ prefix.
66142
66143         * m4/jm-macros.m4: Reflect the renamings.
66144         * m4/prereq.m4: Likewise.
66145
66146 2004-04-20  Jim Meyering  <jim@meyering.net>
66147
66148         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
66149         memory.
66150
66151 2004-04-20  Jim Meyering  <jim@meyering.net>
66152             Bruno Haible  <bruno@clisp.org>
66153
66154         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
66155         memory when realloc fails.
66156
66157 2004-04-19  Jim Meyering  <jim@meyering.net>
66158
66159         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
66160         now that readutmp.c may call `free (0)'.
66161
66162 2004-04-19  Bruno Haible  <bruno@clisp.org>
66163
66164         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
66165         * m4/inttypes_h.m4: Likewise.
66166         * m4/stdint_h.m4: Likewise.
66167         * m4/intmax_t.m4: Likewise.
66168         * m4/uintmax_t.m4: Likewise.
66169
66170 2004-04-18  Jim Meyering  <jim@meyering.net>
66171
66172         * m4/prereq.m4: Don't forbid jm_ prefix.
66173
66174         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
66175         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
66176         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
66177         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
66178         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
66179         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
66180         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
66181         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
66182         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
66183         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
66184         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
66185         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
66186         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
66187         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
66188         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
66189         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
66190         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
66191         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
66192         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
66193
66194 2004-04-18  Jim Meyering  <jim@meyering.net>
66195
66196         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
66197         failure, don't leak memory and do call END_UTMP_ENT.
66198
66199 2004-04-16  Jim Meyering  <jim@meyering.net>
66200
66201         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
66202         coreutils' stat program.
66203         (gl_PREREQ): Don't require jm_PREREQ_STAT.
66204
66205 2004-04-11  Paul Eggert  <eggert@twinsun.com>
66206
66207         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
66208         C89.
66209         (CHAR_BIT): Remove, since we assume C89.
66210         Include <stdint.h> if available, as per current Autoconf CVS advice.
66211
66212 2004-03-31  Jim Meyering  <jim@meyering.net>
66213
66214         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
66215         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
66216         * m4/xalloc.m4: Likewise.
66217
66218 2004-03-30  Paul Eggert  <eggert@twinsun.com>
66219
66220         Merge from coreutils.
66221
66222         * m4/inttostr.m4: New file.
66223         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
66224         Require AM_STDBOOL_H and gl_TIMESPEC instead.
66225         Require gl_CLOCK_TIME.
66226         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
66227
66228 2004-03-30  Paul Eggert  <eggert@twinsun.com>
66229
66230         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
66231         not bool, to be more consistent with Unix conventions.
66232         Suggested by Bruno Haible.
66233
66234         Merge from coreutils.
66235
66236         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
66237         * lib/umaxtostr.c: New files.
66238
66239         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
66240         the usual <time.h> dance.
66241         (get_date): Change signature to support fractional time stamps.
66242         All callers changed.
66243         * lib/getdate.y: Include "getdate.h" first, as we can now
66244         assume C89 and don't need to worry about 'const'.
66245         Similarly, include "unlocked-io.h" near start, not in middle.
66246         Include <limits.h>.
66247         (textint.value): Use long int rather than int.
66248         (textint.digits): Use size_t rather than int.
66249         (BILLION, LOG10_BILLION): New constants.
66250         (parser_control): New member rel_ns.  Members day_ordinal,
66251         time_zone, month, day, hour, minutes, rel_year, rel_month,
66252         rel_day, rel_hour, rel_minutes, rel_seconds
66253         are now long int, not int.  Member seconds is now struct timespec,
66254         not int.  New member timespec_seen.  Members dates_seen, days_seen,
66255         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
66256         not int.
66257         (%union.intval): Now long int, not int.
66258         New member timespec.
66259         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
66260         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
66261         (spec): Now is a timespec or an item list.
66262         (timespec, items): New nonterminals.
66263         (time, rel, relunit, number, get_date):
66264         Add support for fractional seconds.
66265         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
66266         (gmtime, localtime, mktime): Remove decls; not needed with C89.
66267         (to_hour): First arg is now long int, not int.
66268         (to_year): Returns long int, not int.
66269         Don't treat year -70 like 70.
66270         (tm_diff): Returns long int, not int.
66271         (lookup_word): Use bool instead of int when appropriate.
66272         (yylex): Use size_t for count, not int.
66273         Detect overflow when parsing large integer constants.
66274         Add support for fractions.
66275         (get_date): Make pointers 'const' if possible.
66276         Use more-portable code to detect integer overflow.
66277         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
66278         Don't use ctime; it's not reliable if the year has >4 digits.
66279
66280         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
66281         This is for compatibility with BSD.
66282
66283         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
66284         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
66285         From coreutils' system.h.
66286
66287         * lib/userspec.c: Don't include "posixver.h".
66288         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
66289         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
66290         compatible extension.  Simplify code by removing a boolean int
66291         that was always nonzero if a string was nonnull.
66292
66293 2004-03-30  Jim Meyering  <jim@meyering.net>
66294
66295         Merge from coreutils.
66296
66297         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
66298         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
66299         on some systems one must include <grp.h> before it.
66300         Reported by Christian Krackowizer.
66301
66302 2004-03-30  Jim Meyering  <jim@meyering.net>
66303
66304         Merge from coreutils.
66305
66306         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
66307
66308         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
66309         an empty input stream.
66310
66311         * lib/readtokens.c: Include <stdbool.h>.
66312         (readtoken): Use `size_t' rather than int/long.
66313         All callers adjusted.
66314         Use `bool' rather than `int' where appropriate.
66315         Use memset rather than an explicit loop.
66316         Use x2nrealloc rather than xrealloc.
66317         Allow the use of `\0' as a delimiter.
66318         (readtokens): Likewise.
66319         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
66320
66321 2004-03-30  Jim Meyering  <jim@meyering.net>
66322
66323         * m4/realloc.m4: Remove file, since now it does no more than
66324         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
66325         the `configure.ac' section of module/realloc.
66326         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
66327
66328 2004-03-30  Bruno Haible  <bruno@clisp.org>
66329
66330         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
66331         nonnull.
66332
66333 2004-03-29  Paul Eggert  <eggert@twinsun.com>
66334
66335         Merge changes to getloadavg.c from coreutils and Emacs.
66336
66337         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
66338         Define to an expression, not to the empty string.
66339         Include cloexec.h and xalloc.h.
66340         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
66341         Use set_cloexec_flag rather than rolling our own.
66342         * lib/cloexec.c, lib/cloexec.h: New files.
66343
66344 2004-03-29  Paul Eggert  <eggert@twinsun.com>
66345
66346         * m4/cloexec.m4: New file.
66347
66348 2004-03-18  Paul Eggert  <eggert@twinsun.com>
66349
66350         * lib/getopt.h: Sync with libc CVS.
66351
66352 2004-03-18  Paul Eggert  <eggert@twinsun.com>
66353             Bruno Haible  <bruno@clisp.org>
66354
66355         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
66356         mbswidth.
66357
66358 2004-03-18  Paul Eggert  <eggert@twinsun.com>
66359             Bruno Haible  <bruno@clisp.org>
66360
66361         * lib/mbswidth.h: Include <wchar.h> only if
66362         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
66363         <wchar.h>.
66364         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
66365
66366 2004-03-09  Paul Eggert  <eggert@twinsun.com>
66367
66368         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
66369         Sync with libc CVS.
66370         * lib/getopt_int.h: New file, also synced from libc.
66371
66372 2004-03-09  Paul Eggert  <eggert@twinsun.com>
66373
66374         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
66375         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
66376         Bring back getopt.c, getopt.h, getopt1.c.
66377
66378 2004-03-07  Paul Eggert  <eggert@twinsun.com>
66379
66380         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
66381         All uses changed.  Check for sa_sigaction member; this fixes
66382         a bug first reported by Jason Andrade in
66383         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
66384
66385 2004-03-07  Paul Eggert  <eggert@twinsun.com>
66386
66387         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
66388         '#if' expressions.  Unlike the code it replaces, it does not
66389         depend on (defined _SC_PAGESIZE).  However, it does depend on
66390         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
66391         first reported by Jason Andrade in
66392         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
66393
66394 2004-02-25  Simon Josefsson  <jas@extundo.com>
66395
66396         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
66397
66398 2004-02-25  Simon Josefsson  <jas@extundo.com>
66399
66400         * lib/strdup.h: New file.
66401         * lib/strdup.c: Include it.
66402         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
66403         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
66404
66405 2004-02-23  Karl Berry  <karl@gnu.org>
66406
66407         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
66408         (from fencepost.gnu.org:/gd/gnuorg).
66409
66410 2004-02-23  Karl Berry  <karl@gnu.org>
66411
66412         * config/srclistvars.sh (GNUORG) [karl]: redefine.
66413         * config/srclist.txt: add maintain/standards documents.
66414
66415 2004-02-18  Bruno Haible  <bruno@clisp.org>
66416
66417         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
66418         Reported by Derek Robert Price <derek@ximbiot.com>.
66419
66420 2004-02-16  Karl Berry  <karl@gnu.org>
66421
66422         * config/mkinstalldirs, install-sh: update from automake.
66423
66424 2004-02-06  Karl Berry  <karl@gnu.org>
66425
66426         * m4/po.m4: update from gettext 0.14.1.
66427
66428 2004-02-06  Karl Berry  <karl@gnu.org>
66429
66430         * lib/config.charset: update from gettext 0.14.1.
66431
66432 2004-02-05  Paul Eggert  <eggert@twinsun.com>
66433
66434         Add comments and code, prompted by suggestions from Bruno Haible
66435         for sh-quote.
66436         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
66437         describing the enum quoting_style values.
66438         * lib/quotearg.c (quotearg_alloc): New function.
66439         (quotearg_buffer_restyled): Treat lone { and } as special.
66440         Treat = as special.  Work around bug with older shells
66441         that "see" a '\' that is really the 2nd byte of a multibyte char.
66442         Quote empty string with shell_quoting_style.
66443
66444 2004-02-03  Bruno Haible  <bruno@clisp.org>
66445
66446         * m4/pipe.m4: New file, from GNU gettext.
66447
66448 2004-02-03  Bruno Haible  <bruno@clisp.org>
66449
66450         * lib/pipe.h: New file, from GNU gettext.
66451         * lib/pipe.c: New file, from GNU gettext.
66452
66453 2004-01-27  Bruno Haible  <bruno@clisp.org>
66454
66455         * m4/execute.m4: New file, from GNU gettext.
66456
66457 2004-01-27  Bruno Haible  <bruno@clisp.org>
66458
66459         * lib/execute.h: New file, from GNU gettext.
66460         * lib/execute.c: New file, from GNU gettext.
66461         * lib/w32spawn.h: New file, from GNU gettext.
66462
66463 2004-01-24  Paul Eggert  <eggert@twinsun.com>
66464
66465         Merge from diffutils.
66466
66467         * lib/file-type.c (file_type): Add typed memory objects.
66468         * lib/file-type.h (S_TYPEISTMO): New macro.
66469
66470         * lib/c-stack.h (c_stack_action): Remove argv argument.
66471         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
66472         (die): Don't calculate message unless segv_action returns.
66473         (get_stack_location, min_address_from_argv, max_address_from_argv,
66474         volatile stack_base, volatile_stack_size): Remove.
66475         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
66476         that every segmentation violation is a stack overflow.  (Ouch!)
66477         See Debian bug 136249 (still outstanding) for more info about why
66478         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
66479
66480 2004-01-24  Paul Eggert  <eggert@twinsun.com>
66481
66482         Exit-status fix from coreutils.
66483
66484         Use exit_failure consistently in place of EXIT_FAILURE,
66485         so that program exit statuses are consistent on failure.
66486
66487         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
66488         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
66489         * lib/argmatch.h: Comment fix to match the above.
66490         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
66491         Now a macro referring to exit_failure, instead of a separate
66492         variable.  Include "exitfail.h" to get it.
66493         * lib/xstrtol.h: Include "exitfail.h".
66494         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
66495
66496         * lib/long-options.c (parse_long_options): Use prototype
66497         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
66498         for clarity.
66499
66500 2004-01-21  Jim Meyering  <jim@meyering.net>
66501
66502         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
66503         so as not to conflict with a different-sized __mktime_internal
66504         function in GNU libc.
66505         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
66506         Problem building statically-linked `ls' reported by Michael Brunnbauer.
66507
66508 2004-01-20  Karl Berry  <karl@gnu.org>
66509
66510         * config/config.guess: update from config.
66511
66512         * config/srclistvars.sh: GNUWWWLICENSES for karl.
66513
66514 2004-01-20  Bruno Haible  <bruno@clisp.org>
66515
66516         Safer stack allocation.
66517         * lib/setenv.c: Include allocsa.h.
66518         (alloca): Remove fallback definition.
66519         (freea): Remove macro.
66520         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
66521         instead of freea.
66522
66523 2004-01-20  Bruno Haible  <bruno@clisp.org>
66524
66525         * m4/eealloc.m4: New file, from GNU gettext.
66526
66527 2004-01-20  Bruno Haible  <bruno@clisp.org>
66528
66529         * m4/allocsa.m4: New file, from GNU gettext.
66530
66531 2004-01-20  Bruno Haible  <bruno@clisp.org>
66532
66533         * lib/xallocsa.h: New file, from GNU gettext.
66534         * lib/xallocsa.c: New file, from GNU gettext.
66535
66536 2004-01-20  Bruno Haible  <bruno@clisp.org>
66537
66538         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
66539
66540 2004-01-20  Bruno Haible  <bruno@clisp.org>
66541
66542         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
66543         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
66544         specially.
66545
66546 2004-01-20  Bruno Haible  <bruno@clisp.org>
66547
66548         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
66549         patch.
66550
66551 2004-01-20  Bruno Haible  <bruno@clisp.org>
66552
66553         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
66554
66555 2004-01-20  Bruno Haible  <bruno@clisp.org>
66556
66557         * lib/eealloc.h: New file.
66558
66559 2004-01-20  Bruno Haible  <bruno@clisp.org>
66560
66561         * lib/binary-io.h: Avoid warnings on Cygwin.
66562
66563 2004-01-20  Bruno Haible  <bruno@clisp.org>
66564
66565         * lib/allocsa.h: New file, from GNU gettext.
66566         * lib/allocsa.c: New file, from GNU gettext.
66567
66568 2004-01-18  Karl Berry  <karl@gnu.org>
66569
66570         * doc/gpl.texi, doc/lgpl.texi: new files.
66571
66572 2004-01-18  Karl Berry  <karl@gnu.org>
66573
66574         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
66575         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
66576
66577 2004-01-15  Paul Eggert  <eggert@twinsun.com>
66578
66579         Merge from coreutils.
66580
66581         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
66582         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
66583         (gl_DEFAULT_POSIX2_VERSION): Move
66584         the documentation from 'configure' into 'config.hin',
66585         so that 'configure --help' isn't burdened by it and
66586         we don't have to worry about its formatting there.
66587         Reword the documentation so that it's more succinct
66588         and can be run together into a single paragraph.
66589         * m4/same.m4 (gl_SAME): Check for pathconf.
66590
66591 2004-01-15  Paul Eggert  <eggert@twinsun.com>
66592
66593         Merge from coreutils.
66594
66595         * lib/posixver.c: Include posixver.h.
66596
66597         * lib/same.c: Include <stdbool.h>, <limits.h>.
66598         (_POSIX_NAME_MAX): Define if not defined.
66599         (MIN): New macro.
66600         (same_name): If file names are silently truncated, report
66601         that the file names are the same if they are the same after
66602         the silent truncation.
66603
66604         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
66605         conversion function.
66606         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
66607         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
66608         longer needed.
66609
66610 2004-01-15  Jim Meyering  <jim@meyering.net>
66611
66612         Merge from coreutils.
66613
66614         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
66615         if no library is required.
66616         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
66617         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
66618         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
66619         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
66620         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
66621         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
66622         value, $ac_cv_search_crypt, if it's "none required".
66623         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
66624         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
66625         not gl_FUNC_GETLOADAVG.
66626         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
66627         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
66628
66629 2004-01-15  Jim Meyering  <jim@meyering.net>
66630
66631         Merge from coreutils.
66632
66633         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
66634         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
66635         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
66636
66637         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
66638         optional configure-time default.
66639
66640         * lib/version-etc.c (version_etc_copyright): Update copyright date.
66641
66642         * lib/xreadlink.c (xreadlink): Correct outdated comment.
66643
66644 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
66645
66646         Merge from coreutils.
66647
66648         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
66649         value, $ac_cv_search_nanosleep, if it's "none required".
66650
66651 2004-01-14  Paul Eggert  <eggert@twinsun.com>
66652
66653         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
66654         with like-named macro in fnmatch.c.
66655         (EXT): Use an internal constant instead.
66656
66657         Merge fnmatch patches from glibc.
66658         * lib/fnmatch.c (mbsinit): Remove define.
66659         Add libc_hidden_ver (__fnmatch, fnmatch).
66660         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
66661         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
66662
66663 2004-01-14  Karl Berry  <karl@gnu.org>
66664
66665         * config/install-sh: update from automake.
66666
66667 2004-01-13  Karl Berry  <karl@gnu.org>
66668
66669         * config/install-sh: update from automake.
66670
66671 2004-01-09  Karl Berry  <karl@gnu.org>
66672
66673         * config/install-sh: update from automake.
66674
66675 2004-01-05  Karl Berry  <karl@gnu.org>
66676
66677         * config/config.{sub,guess}: update from config.
66678
66679 2003-12-31  Karl Berry  <karl@gnu.org>
66680
66681         * config/depcomp: update from automake.
66682
66683 2003-12-14  Karl Berry  <karl@gnu.org>
66684
66685         * lib/config.charset: update from gettext-runtime.
66686
66687 2003-12-03  Paul Eggert  <eggert@twinsun.com>
66688
66689         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
66690         Bug reported by Alfred M. Szmidt.
66691
66692 2003-12-03  Bruno Haible  <bruno@clisp.org>
66693
66694         * m4/gettext.m4: Upgrade from gettext-0.13.
66695         * m4/po.m4: Upgrade from gettext-0.13.
66696         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
66697         * m4/intmax.m4: New file, from gettext-0.13.
66698         * m4/printf-posix.m4: New file, from gettext-0.13.
66699
66700 2003-11-29  Karl Berry  <karl@gnu.org>
66701
66702         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
66703
66704 2003-11-25  Paul Eggert  <eggert@twinsun.com>
66705             Bruno Haible  <bruno@clisp.org>
66706
66707         * lib/printf-parse.h: Don't include sys/types.h.
66708         (ARG_NONE): New macro.
66709         (char_directive): Change type of *arg_index fields to size_t.
66710         * lib/printf-parse.c: Don't include sys/types.h.
66711         (SSIZE_MAX): Remove macro.
66712         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
66713         Remove unnecessary overflow check.
66714         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
66715         fields.
66716
66717 2003-11-25  Bruno Haible  <bruno@clisp.org>
66718
66719         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
66720
66721 2003-11-25  Bruno Haible  <bruno@clisp.org>
66722
66723         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
66724         gt_TYPE_SSIZE_T.
66725
66726 2003-11-24  Paul Eggert  <eggert@twinsun.com>
66727
66728         * modules/alloca: Remove dependency on xalloc.
66729
66730 2003-11-24  Paul Eggert  <eggert@twinsun.com>
66731
66732         * lib/alloca.c: Remove dependency on xalloc module.
66733         (xalloc_die): Remove.
66734         (memory_full) [!defined emacs]: New macro.
66735         [!defined emacs]: Don't include xalloc.h.
66736         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
66737         address arithmetic overflows.  Change datatypes a bit to avoid
66738         unnecessary casts.
66739
66740 2003-11-22  Jim Meyering  <jim@meyering.net>
66741
66742         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
66743         s/size/size_t/.
66744
66745 2003-11-21  Karl Berry  <karl@gnu.org>
66746
66747         * config/config.{sub,guess}: update from config.
66748
66749 2003-11-18  Karl Berry  <karl@gnu.org>
66750
66751         * config/config.{sub,guess}: update from config.
66752
66753         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
66754
66755 2003-11-17  Paul Eggert  <eggert@twinsun.com>
66756
66757         * README: Mention that S+T cannot overflow if S is the size of
66758         an existing object and T is sufficiently small.
66759
66760 2003-11-17  Jim Meyering  <jim@meyering.net>
66761
66762         On systems without utime and without a utimes function capable of
66763         dealing with a NULL struct utimbuf* argument, this utime replacement
66764         could -- in unusual circumstances -- leak a file descriptor.
66765         * lib/utime.c: Include <unistd.h> and <errno.h>.
66766         (utime_null): Be sure to close `fd' and to preserve errno.
66767         Reported by Geoff Collyer via Arnold Robbins.
66768
66769 2003-11-17  Bruno Haible  <bruno@clisp.org>
66770
66771         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
66772         (Depends-on): Add xsize.
66773
66774 2003-11-17  Bruno Haible  <bruno@clisp.org>
66775
66776         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
66777
66778 2003-11-17  Bruno Haible  <bruno@clisp.org>
66779
66780         * lib/vasnprintf.c (alloca): Remove fallback definition.
66781         (freea): Remove definition.
66782         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
66783         Reported by Paul Eggert.
66784
66785 2003-11-16  Paul Eggert  <eggert@twinsun.com>
66786             Bruno Haible  <bruno@clisp.org>
66787
66788         Protect against address arithmetic overflow.
66789         * lib/printf-args.h: Include stddef.h.
66790         (arguments): Change type of field 'count' to size_t.
66791         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
66792         'unsigned int' where appropriate.
66793         * lib/printf-parse.h: Include sys/types.h.
66794         (char_directive): Change type of *arg_index fields to ssize_t.
66795         (char_directives): Change type of fields 'count', max_*_length to
66796         size_t.
66797         * lib/printf-parse.c: Include sys/types.h and xsize.h.
66798         (SSIZE_MAX): Define fallback value.
66799         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
66800         instead of 'int' where appropriate. Check a_allocated, d_allocated
66801         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
66802         * lib/vasnprintf.c: Include xsize.h.
66803         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
66804         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
66805         overflow. Avoid wraparound when converting a width or precision from
66806         decimal to binary.
66807
66808 2003-11-16  Bruno Haible  <bruno@clisp.org>
66809
66810         Update from GNU gettext.
66811         * lib/printf-parse.c: Generalize to it can be compiled for wide
66812         strings.
66813         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
66814         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
66815         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
66816         SNPRINTF): New macros.
66817         Don't include <alloca.h> if the file is used inside libintl.
66818         (local_wcslen): New function, for Solaris 2.5.1.
66819         (VASNPRINTF): Use it instead of wcslen.
66820
66821 2003-11-16  Bruno Haible  <bruno@clisp.org>
66822
66823         * lib/xsize.h (xmax): New function.
66824         (xsum, xsum3, xsum4): Declare as "pure" functions.
66825
66826 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66827
66828         * modules/xalloc (Files): Undo latest change, since xalloc.h
66829         no longer needs SIZE_MAX or PTRDIFF_MAX.
66830
66831 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66832
66833         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
66834         gl_PTRDIFF_MAX.
66835
66836 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66837
66838         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
66839         "return", to pacify some unknown compiler.  Problem reported
66840         by Joerg Schilling.
66841
66842 2003-11-12  Paul Eggert  <eggert@twinsun.com>
66843
66844         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
66845         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
66846         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
66847         heuristic is just as accurate as far as we know, and it removes a
66848         dependency on size_max.m4 and ptrdiff_max.m4.
66849
66850 2003-11-11  Bruno Haible  <bruno@clisp.org>
66851
66852         * modules/xsize (Files): Add m4/size_max.m4.
66853         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
66854
66855 2003-11-11  Bruno Haible  <bruno@clisp.org>
66856
66857         * m4/size_max.m4: New file.
66858         * m4/ptrdiff_max.m4: New file.
66859         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
66860         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
66861         (gl_XALLOC): Invoke it.
66862
66863 2003-11-11  Bruno Haible  <bruno@clisp.org>
66864
66865         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
66866         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
66867         defined.
66868
66869 2003-11-10  Paul Eggert  <eggert@twinsun.com>
66870
66871         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
66872         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
66873         rejected some allocations of exactly SIZE_MAX - 2 bytes.
66874         From Bruno Haible.
66875         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
66876         not (size_t) -1, since it's defined here.
66877
66878 2003-11-09  Karl Berry  <karl@gnu.org>
66879
66880         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
66881
66882 2003-11-06  Paul Eggert  <eggert@twinsun.com>
66883
66884         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
66885         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
66886         Reject sizes of exactly SIZE_MAX bytes.
66887         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
66888         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
66889
66890 2003-11-05  Bruno Haible  <bruno@clisp.org>
66891
66892         * lib/xsize.h: Include limits.h, to avoid a possible collision with
66893         SIZE_MAX defined in <limits.h> on Solaris.
66894
66895 2003-11-04  Jim Meyering  <jim@meyering.net>
66896
66897         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
66898         variable names, rather than @VAR@.
66899         * modules/poll: Likewise.
66900
66901 2003-11-04  Bruno Haible  <bruno@clisp.org>
66902
66903         * modules/xsize: New file.
66904         * modules/linebreak: Depend on xsize.
66905         * MODULES.html.sh (func_all_modules): Add xsize.
66906
66907 2003-11-04  Bruno Haible  <bruno@clisp.org>
66908
66909         * m4/xsize.m4: New file.
66910
66911 2003-11-04  Bruno Haible  <bruno@clisp.org>
66912
66913         * lib/xsize.h: New file.
66914         * lib/linebreak.c: Include xsize.h.
66915         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
66916         argument for overflow.
66917         Suggested by Paul Eggert.
66918
66919 2003-11-03  Karl Berry  <karl@gnu.org>
66920
66921         * config/config.{guess,sub}: update from config.
66922
66923 2003-11-03  Jim Meyering  <jim@meyering.net>
66924
66925         * modules/userspec (lib_SOURCES): Add userspec.h.
66926         (Include): Add "userspec.h".
66927         Improve description.
66928
66929 2003-11-03  Jim Meyering  <jim@meyering.net>
66930
66931         * lib/userspec.c: Include "userspec.h".
66932         * lib/userspec.h: New file.
66933
66934 2003-11-03  Bruno Haible  <bruno@clisp.org>
66935
66936         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
66937
66938 2003-11-03  Bruno Haible  <bruno@clisp.org>
66939
66940         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
66941         available, to avoid (extremely rare) race condition.
66942         Suggested by Paul Eggert.
66943
66944 2003-11-02  Karl Berry  <karl@gnu.org>
66945
66946         * config/srclist.txt (vasprintf.c): sync broken, sigh.
66947
66948 2003-10-31  Paul Eggert  <eggert@twinsun.com>
66949
66950         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
66951         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
66952         (read_filesystem_list): Set and use me_type_malloced.
66953         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
66954         whatever the type happens to be), for brevity and consistency.
66955         Check for size calculation overflow on Alphas running OSF/1.
66956
66957 2003-10-31  Jim Meyering  <jim@meyering.net>
66958
66959         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
66960
66961         * lib/linebuffer.c: Include <string.h> for declaration of memset.
66962
66963 2003-10-30  Paul Eggert  <eggert@twinsun.com>
66964             Bruno Haible  <bruno@clisp.org>
66965
66966         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
66967         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
66968
66969 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
66970
66971         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
66972         netbsd*-gnu*.  Suggested by Robert Millan.
66973
66974 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66975
66976         * modules/group-member: Depend on stdbool.
66977
66978 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66979
66980         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
66981
66982 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66983
66984         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
66985         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
66986         after the 'gnu' in these cases.  This fixes some bugs in the
66987         previous change, and is based on suggestions by Robert Millan.
66988
66989 2003-10-29  Paul Eggert  <eggert@twinsun.com>
66990
66991         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
66992         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
66993         no longer needed.
66994         * lib/quotearg.c (quotearg_n_options): Use it.
66995         * lib/group-member.c: Include <stdbool.h>.
66996         (free_group_info): Arg is now const *; don't free arg.
66997         (get_group_info): Now returns bool and accepts struct group_info *,
66998         rather than returning a malloc'ed struct group_info *.
66999         All uses changed.  Check for overflow in internal size calculation.
67000
67001         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
67002         rather than xmalloc/xrealloc.
67003         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
67004         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
67005         conformance bug: the old code used a pointer after freeing the
67006         storage that it addressed.
67007         * lib/hash.c (hash_initialize): Simplify the code by using
67008         xalloc_oversized rather than doing it by hand.
67009         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
67010         the buffer preserved.  Use free and xmalloc instead.
67011         * lib/quotearg.c (quotearg_n_options): Likewise.
67012         Use a simpler test for size overflow.  Don't use xalloc_oversized
67013         because unsigned int might be wider than size_t (!); this suggests
67014         that we should switch from unsigned int to size_t for slot numbers.
67015
67016 2003-10-28  Paul Eggert  <eggert@twinsun.com>
67017
67018         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
67019         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
67020         NetBSD kernels.  Requested by Richard Stallman.
67021
67022 2003-10-27  Paul Eggert  <eggert@twinsun.com>
67023
67024         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
67025         to allocate the returned structure.  Do not allocate a subarray,
67026         as x2nrealloc will do that.
67027         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
67028         instead of xnrealloc.
67029         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
67030
67031 2003-10-27  Bruno Haible  <bruno@clisp.org>
67032
67033         * lib/stdbool_.h: Better support for BeOS.
67034
67035 2003-10-26  Paul Eggert  <eggert@twinsun.com>
67036
67037         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
67038         now uses inline.
67039
67040 2003-10-26  Paul Eggert  <eggert@twinsun.com>
67041
67042         * lib/xalloc.h (xalloc_oversized): New static inline function, for
67043         callers that want to do their own size-overflow checking.  Include
67044         <stdbool.h>, since xalloc_oversized returns bool.
67045         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
67046         to use xalloc_oversized.
67047
67048         Add two functions x2realloc, x2nrealloc, for programs that grow
67049         arrays dynamically by doubling their sizes.
67050         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
67051         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
67052         New functions.
67053
67054         Port to C99 semantics for 'inline' of external functions.
67055         Bug reported by Bruno Haible.
67056         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
67057         with the old contents of xnmalloc.
67058         (xnmalloc, xmalloc): Use it.
67059         (xnrealloc_inline): New static inline function,
67060         with the old contents of xnrealloc.
67061         (xnrealloc, xrealloc): Use it.
67062
67063         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
67064         that.
67065
67066 2003-10-26  Karl Berry  <karl@gnu.org>
67067
67068         * config/srclist.txt (COPYING.DOC): no longer available from
67069         /gd/gnuorg; don't know where the ultimate source is.
67070
67071 2003-10-25  Paul Eggert  <eggert@twinsun.com>
67072
67073         Fix several address-calculation bugs in the hash modules,
67074         plus some minor code cleanup.
67075
67076         * lib/hash.h: Include <stdbool.h>, for bool.
67077         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
67078         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
67079         hash_get_n_entries, hash_get_max_bucket_length,
67080         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
67081         hash_rehash): Use size_t rather than unsigned.
67082         * lib/hash.c (struct hash_table, hash_get_n_buckets,
67083         hash_get_n_buckets_used, hash_get_n_entries,
67084         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
67085         hash_get_entries, hash_do_for_each, hash_string, is_prime,
67086         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
67087         Likewise.
67088         (SIZE_MAX): Define if not defined.
67089         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
67090         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
67091         hash_print):
67092         Use const * when possible.
67093         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
67094         (check_tuning): Fix bug: if tuning parameters were very close to
67095         0 or 1, rounding errors could have caused subscript violations.
67096         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
67097         (hash_initialize): Add 'fail:' label
67098         to free table and return NULL, and use it to simplify code.
67099         Use calloc rather than clearing the storage ourself.
67100         (hash_initialize, hash_rehash): Check for arithmetic overflow in
67101         buffer size calculations.
67102         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
67103         Include <stddef.h>, for size_t.
67104         * lib/hash-pjw.c (hash_pjw): Likewise.
67105         Switch to method described by Bruno Haible.
67106         Include <limits.h>, for CHAR_BIT.
67107         (SIZE_BITS): New macro.
67108
67109 2003-10-23  Paul Eggert  <eggert@twinsun.com>
67110
67111         * m4/getline.m4 (AM_FUNC_GETLINE):
67112         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
67113         hosts.  Problem reported by Derek Robert Price in
67114         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
67115         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
67116         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
67117
67118 2003-10-21  Paul Eggert  <eggert@twinsun.com>
67119
67120         * lib/getndelim2.c (getndelim2): When size calculation overflows,
67121         ceiling the allocation at NMAX bytes rather than silently
67122         discarding input bytes before NMAX is reached.  This makes
67123         a difference only if NMAX exceeds SIZE_MAX / 2.
67124
67125         * lib/obstack.c: Merge from glibc.
67126         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
67127         Add libc_hidden_def (_obstack_newchunk).
67128         (_obstack_free) [! defined _LIBC]: Remove.
67129         [defined _LIBC]: Make a strong alias from obstack_free, rather than
67130         a clone of the function body.
67131         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
67132         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
67133
67134         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
67135         glibc.
67136         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
67137         arg to memcpy.
67138
67139         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
67140         (obstack_ptr_grow_fast, obstack_int_grow_fast):
67141         Don't use lvalue casts, as GCC plans to remove support for them
67142         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
67143         was also present in the non-GCC version, indicating that this
67144         code had always been buggy and had never been widely used.
67145         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
67146         Use the fast variant of each macro, rather than copying the
67147         definiens of the fast variant; that way, we'll be more likely to
67148         catch future bugs in the fast variants.
67149
67150 2003-10-20  Bruno Haible  <bruno@clisp.org>
67151
67152         * modules/wait-process: New file.
67153         * MODULES.html.sh (func_all_modules): Add wait-process.
67154
67155 2003-10-20  Bruno Haible  <bruno@clisp.org>
67156
67157         * m4/wait-process.m4: New file.
67158
67159 2003-10-20  Bruno Haible  <bruno@clisp.org>
67160
67161         * lib/wait-process.h: New file, from GNU gettext.
67162         * lib/wait-process.c: New file, from GNU gettext.
67163
67164 2003-10-19  Jim Meyering  <jim@meyering.net>
67165
67166         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
67167         HPUX 10.20.
67168
67169 2003-10-18  Karl Berry  <karl@gnu.org>
67170
67171         * config/config.guess: update from config.
67172
67173 2003-10-16  Paul Eggert  <eggert@twinsun.com>
67174
67175         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
67176         (getgroups): First arg is int, not size_t.
67177         Don't let 'free' mangle errno.
67178
67179 2003-10-16  Paul Eggert  <eggert@twinsun.com>
67180
67181         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
67182
67183 2003-10-16  Karl Berry  <karl@gnu.org>
67184
67185         * config/config.{guess,sub}: update from config.
67186
67187 2003-10-16  Jim Meyering  <jim@meyering.net>
67188
67189         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
67190         memcpy.
67191
67192 2003-10-15  Paul Eggert  <eggert@twinsun.com>
67193
67194         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
67195         (SIZE_MAX): Remove.
67196         (new_exclude, add_exclude_file): Initial size no longer needs to
67197         be a power of 2.
67198         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
67199         our own address arithmetic overflow checking.
67200
67201         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
67202         (fnmatch): Do not alloca more than 2000 wide characters;
67203         instead, use malloc for large buffers.
67204         Check for address arithmetic overflow, and return -1
67205         with errno set to ENOMEM in that case.
67206         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
67207         (NEW_PATTERN): Do not alloca more than 8000 bytes;
67208         instead, return -1.  Check for address arithmetic overflow.
67209
67210 2003-10-14  Paul Eggert  <eggert@twinsun.com>
67211
67212         Handle invalid suffixes and overflow independently, so that
67213         callers can treat them independently as needed.  Fix some bugs in
67214         suffix handling, e.g., "100k@" was not diagnosed as an invalid
67215         suffix for a human-readable blocksize.  The major caller-visible
67216         change is the addition of a new
67217         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
67218         that both overflow and suffix chars were found.
67219
67220         * lib/human.c (humblock): Don't check separately for invalid suffix
67221         char; that is xstrtoumax's job (now that its bug is fixed).
67222         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
67223         INTMAX_MAX]: New macros.
67224         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
67225         TYPE_MAXIMUM): New macros.
67226         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
67227         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
67228         if overflow occurs, as it's what __strtol does and it's more useful
67229         in practice.
67230         (__xstrtol): If __strtol reports some error other than ERANGE,
67231         reflect it to the caller as LONGINT_INVALID.  If it reports
67232         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
67233         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
67234         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
67235         value.
67236         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
67237         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
67238         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
67239         [defined UINTMAX_MAX]: New macros.
67240
67241 2003-10-14  Bruno Haible  <bruno@clisp.org>
67242
67243         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
67244
67245 2003-10-14  Bruno Haible  <bruno@clisp.org>
67246
67247         * m4/sig_atomic_t: New file, from GNU gettext.
67248         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
67249
67250 2003-10-14  Bruno Haible  <bruno@clisp.org>
67251
67252         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
67253         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
67254         Also use volatile where needed.
67255
67256 2003-10-12  Paul Eggert  <eggert@twinsun.com>
67257
67258         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
67259         Change maintainer from Bruno Haible to 'all'.
67260
67261 2003-10-12  Paul Eggert  <eggert@twinsun.com>
67262
67263         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
67264
67265 2003-10-12  Paul Eggert  <eggert@twinsun.com>
67266
67267         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
67268         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
67269         and define in terms of the other primitives.
67270         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
67271         (SIZE_MAX): Define if not already defined.
67272         (array_size_overflow): New function.
67273         (xalloc_die): Abort instead of exiting if 'error' returns.
67274         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
67275         (xmalloc, xrealloc): Use them.
67276         (xcalloc): Check for address arithmetic overflow.
67277         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
67278         a bit faster than strcpy.
67279
67280 2003-10-10  Simon Josefsson  <jas@extundo.com>
67281
67282         * modules/argp (Depends-on): Add restrict and strcase.
67283
67284 2003-10-10  Simon Josefsson  <jas@extundo.com>
67285
67286         * m4/argp.m4: Add AC_C_INLINE.
67287
67288 2003-10-08  Paul Eggert  <eggert@twinsun.com>
67289
67290         Merge getpass from libc, plus a few fixes.
67291
67292         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
67293         Include <stdbool.h>.
67294         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
67295         __fsetlocking to empty.
67296         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
67297         do include <bits/libc-lock.h>.
67298         Do not include <fcntl.h>; not needed.
67299         [_LIBC]: Include <wchar.h>.
67300         (NOTCANCEL_MODE): New macro.
67301         (flockfile, funlockfile) [_LIBC]: New macros.
67302         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
67303         [!_LIBC]: New macros.
67304         (call_fclose): New function.
67305         (getpass): Use it.  Save tty stream separately; this simplifies the
67306         code and makes it more reliable if stdin happens to equal stdout.
67307         Invoke __fsetlocking on tty.
67308         Handle thread cancellation if needed.
67309         Namespace cleanup (use __tcgetattr, __getline).
67310         Use bool for Booleans.
67311         [USE_IN_LIBIO]: Handle wide streams.
67312         [!_LIBC]: Unconditionally do the fseek, since we don't know what
67313         stream might go where.
67314
67315         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
67316         doesn't have to include <stdio.h> before us.
67317         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
67318         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
67319         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
67320         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
67321         if not declared, so that we can use getpass.c code from libc without
67322         rewriting it.
67323         (flockfile, ftrylockfile, funlockfile): New macros.
67324
67325 2003-10-08  Paul Eggert  <eggert@twinsun.com>
67326
67327         * modules/getpass: Depend on stdbool.
67328
67329 2003-10-08  Paul Eggert  <eggert@twinsun.com>
67330
67331         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
67332
67333 2003-10-07  Karl Berry  <karl@gnu.org>
67334
67335         * config/config.{guess,sub}: update from config.
67336
67337 2003-10-06  Jim Meyering  <jim@meyering.net>
67338             Bruno Haible  <bruno@clisp.org>
67339
67340         This lets translators provide better translations for the
67341         "Written by ..." part of --version output.
67342         * lib/version-etc.h: Include stdarg.h.
67343         (version_etc_copyright): Declare as readonly.
67344         (version_etc): Make this function variadic with a NULL-terminated list
67345         of author name strings.
67346         (version_etc_va): New declaration.
67347         * lib/version-etc.c: Include stdarg.h, stdlib.h.
67348         (version_etc_copyright): Declare as readonly.
67349         (version_etc_va): New function. Provide a different translatable string
67350         for each possible number of authors < 10. Abbreviate when there are 10
67351         authors or more.
67352         (version_etc): Make this function variadic. Call version_etc_va.
67353         Suggestion from Gary V. Vaughan.
67354
67355         * lib/long-options.h (parse_long_options): Change prototype: the
67356         authors string is moved to the end and becomes variadic.
67357         * lib/long-options.c: Include stdarg.h.
67358         (parse_long_options): Make this function variadic, too.
67359         Call version_etc_va, not version_etc.
67360
67361 2003-10-06  Bruno Haible  <bruno@clisp.org>
67362
67363         * modules/version-etc-2: Remove file.
67364         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
67365
67366 2003-10-06  Bruno Haible  <bruno@clisp.org>
67367
67368         * modules/fatal-signal: New file.
67369         * MODULES.html.sh (func_all_modules): Add fatal-signal.
67370
67371 2003-10-06  Bruno Haible  <bruno@clisp.org>
67372
67373         * m4/fatal-signal.m4: New file.
67374         * m4/signalblocking.m4: New file, from GNU gettext.
67375
67376 2003-10-06  Bruno Haible  <bruno@clisp.org>
67377
67378         * lib/version-etc-2.h: Remove file.
67379         * lib/version-etc-2.c: Remove file.
67380
67381 2003-10-06  Bruno Haible  <bruno@clisp.org>
67382
67383         * lib/fatal-signal.h: New file, from GNU gettext.
67384         * lib/fatal-signal.c: New file, from GNU gettext.
67385
67386 2003-10-05  Paul Eggert  <eggert@twinsun.com>
67387
67388         * README: Rework advice for preventing empty .o files.
67389         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
67390         not <sys/types.h>.
67391
67392 2003-10-04  Karl Berry  <karl@gnu.org>
67393
67394         * lib/argp*: update from libc.
67395
67396 2003-10-04  Karl Berry  <karl@gnu.org>
67397
67398         * config/config.{guess,sub}: update from config.
67399
67400 2003-10-02  Bruno Haible  <bruno@clisp.org>
67401
67402         * modules/lchown (Include): Add lchown.h.
67403         * modules/time_r (Include): Use "..." syntax.
67404         * modules/xgetdomainname (Include): Add xgetdomainname.h.
67405
67406 2003-10-01  Simon Josefsson  <jas@extundo.com>
67407
67408         * MODULES.html.sh (func_all_modules): Move gethostname from section
67409         'based on' to section 'lacking' POSIX:2001.
67410
67411 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
67412
67413         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
67414         to output mode on the same stream.
67415
67416 2003-09-29  Paul Eggert  <eggert@twinsun.com>
67417
67418         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
67419         Fix arg typo in previous patch.
67420
67421 2003-09-28  Jim Meyering  <jim@meyering.net>
67422
67423         * lib/error.c: Correct cpp indentation.
67424
67425 2003-09-27  Paul Eggert  <eggert@twinsun.com>
67426
67427         * modules/free: New file.
67428
67429 2003-09-27  Paul Eggert  <eggert@twinsun.com>
67430
67431         * m4/free.m4: New file.
67432
67433 2003-09-27  Paul Eggert  <eggert@twinsun.com>
67434
67435         * lib/minmax.h (MIN, MAX)
67436         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
67437         Omit the special code that used __typeof__, since we worry that
67438         it could be more trouble than it's worth.  See:
67439         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
67440         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
67441
67442         * lib/free.c: New file.
67443
67444 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
67445
67446         Trivial fixes to Makefile.am parts of module listings.
67447         * modules/strstr: Append strstr.h to lib_SOURCES.
67448         * modules/strcase: Likewise, for strcase.h.
67449
67450 2003-09-27  Karl Berry  <karl@gnu.org>
67451
67452         * config/mkinstalldirs: update from automake.
67453
67454 2003-09-26  Paul Eggert  <eggert@twinsun.com>
67455
67456         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
67457         (error_tail): Do not loop, reallocating temporary buffer, since
67458         the output cannot contain more wide characters than the input
67459         contains bytes, the size must be big enough already.  This avoids
67460         one potential size overflow calculation.  Check for size overflow
67461         when calculating temporary buffer size.  Free temporary buffer
67462         when done, if it was allocated with malloc; this plugs a memory
67463         leak.  Remove casts from void * to pointers, that are no longer
67464         needed now that we're assuming C89 or better.
67465
67466         Merge error changes from glibc.
67467
67468         * lib/error.c, error.h: Update copyright notice header to match glibc.
67469         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
67470         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
67471         Disable cancellation while printing error.
67472         * lib/error.h: Prepend __ to parameter names.
67473
67474 2003-09-26  Jim Meyering  <jim@meyering.net>
67475
67476         * lib/error.c (error_tail): Move some declarations
67477         into inner scope where the local variables are used.
67478
67479 2003-09-26  Bruno Haible  <bruno@clisp.org>
67480
67481         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
67482         stpncpy().
67483         Don't define stpncpy through config.h; it's now done through stpncpy.h.
67484
67485 2003-09-26  Bruno Haible  <bruno@clisp.org>
67486
67487         * lib/stpncpy.h (gnu_stpncpy): New declaration.
67488         (stpncpy): Define as alias for gnu_stpncpy.
67489         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
67490
67491 2003-09-25  Simon Josefsson  <jas@extundo.com>
67492
67493         * lib/xgetdomainname.h: New file.
67494         * lib/xgetdomainname.c: New file.
67495
67496 2003-09-25  Simon Josefsson  <jas@extundo.com>
67497             Bruno Haible  <bruno@clisp.org>
67498
67499         * modules/getdomainname: New file.
67500         * modules/xgetdomainname: New file.
67501         * MODULES.html.sh (func_all_modules): Add getdomainname,
67502         xgetdomainname.
67503
67504 2003-09-25  Simon Josefsson  <jas@extundo.com>
67505             Bruno Haible  <bruno@clisp.org>
67506
67507         * m4/getdomainname.m4: New file.
67508
67509 2003-09-25  Simon Josefsson  <jas@extundo.com>
67510             Bruno Haible  <bruno@clisp.org>
67511
67512         * lib/getdomainname.h: New file.
67513         * lib/getdomainname.c: New file.
67514
67515 2003-09-25  Karl Berry  <karl@gnu.org>
67516
67517         * lib/argp-fmtstream.c, argp-help.c: update from libc.
67518
67519 2003-09-25  Karl Berry  <karl@gnu.org>
67520
67521         * config/install-sh: update from automake.
67522
67523 2003-09-25  Bruno Haible  <bruno@clisp.org>
67524
67525         * modules/version-etc-2: New file, from modules/version-etc with
67526         modifications.
67527         * MODULES.html.sh (func_all_modules): Add version-etc-2.
67528
67529 2003-09-25  Bruno Haible  <bruno@clisp.org>
67530
67531         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
67532         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
67533
67534 2003-09-24  Simon Josefsson  <jas@extundo.com>
67535
67536         * modules/xgethostname: Add xgethostname.h.
67537
67538 2003-09-24  Paul Eggert  <eggert@twinsun.com>
67539
67540         * lib/linebuffer.c (freebuffer): Don't free the argument, just
67541         the buffer associated with the argument.  Bug reported by
67542         Simon Josefsson.
67543
67544 2003-09-24  Paul Eggert  <eggert@twinsun.com>
67545
67546         * README: Document assumptions that 'int' is at least 32 bits
67547         wide, that integer arithmetic is 2's complement without overflow,
67548         that there are no holes in integer values, that adding sizes of
67549         two nonoverlapping objects can't overflow, and that all-bits-zero
67550         yields scalar zero.  Fix spelling and capitalization typos.
67551
67552 2003-09-19  Karl Berry  <karl@gnu.org>
67553
67554         * lib/argp.h: update from libc.
67555
67556 2003-09-17  Paul Eggert  <eggert@twinsun.com>
67557
67558         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
67559         to avoid spurious warnings like "AC_RUN_IFELSE was called before
67560         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
67561
67562 2003-09-17  Paul Eggert  <eggert@twinsun.com>
67563
67564         * gnulib-tool: Use "test -h", not "test -L", for portability
67565         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
67566         (tags_regexp): Remove, since \| doesn't conform to POSIX.
67567         (sed_extract_prog): Issue s commands one-by-one, rather than
67568         using \| in one s command.
67569
67570 2003-09-16  Paul Eggert  <eggert@twinsun.com>
67571
67572         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
67573         input error, instead of returning NULL the next time we are called
67574         (and therefore losing track of errno).
67575
67576 2003-09-16  Bruno Haible  <bruno@clisp.org>
67577
67578         * gnulib-tool (func_create_testdir): Warn about duplicated
67579         dependencies.
67580
67581 2003-09-15  Paul Eggert  <eggert@twinsun.com>
67582
67583         * modules/argmatch, modules/fatal, modules/obstack,
67584         modules/xalloc, modules/xgethostname: Sort dependencies by
67585         importance, not alphabetically.
67586
67587 2003-09-15  Paul Eggert  <eggert@twinsun.com>
67588
67589         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
67590         fails, so that the caller gets the proper errno.
67591
67592         * lib/readutmp.c (read_utmp): Likewise.
67593         Check for fstat error.  Close stream and free storage
67594         when failing.
67595
67596 2003-09-14  Karl Berry  <karl@gnu.org>
67597
67598         * config/srclist.txt (strdup.c): disable for c89 changes.
67599
67600 2003-09-14  Jim Meyering  <jim@meyering.net>
67601
67602         * lib/getloadavg.c: Correct cpp indentation.
67603         * lib/strdup.c: Likewise.
67604         * lib/vasnprintf.c: Likewise.
67605
67606 2003-09-14  Bruno Haible  <bruno@clisp.org>
67607
67608         * modules/fwriteerror: New file.
67609         * MODULES.html.sh (func_all_modules): Add fwriteerror.
67610
67611 2003-09-14  Bruno Haible  <bruno@clisp.org>
67612
67613         * lib/fwriteerror.h: New file.
67614         * lib/fwriteerror.c: New file.
67615
67616 2003-09-12  Paul Eggert  <eggert@twinsun.com>
67617
67618         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
67619         modules/xgethostname, modules/xalloc: Depend on exit.
67620
67621 2003-09-12  Paul Eggert  <eggert@twinsun.com>
67622
67623         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
67624
67625         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
67626         and AC_MINIX, too, so that their extensions are available.
67627
67628         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
67629         This macro has been superseded by gl_BACKUPFILE.
67630
67631         More patches to assume C89 or better.
67632
67633         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
67634
67635         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
67636         unconditionally.
67637         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
67638         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
67639         Include <string.h>, <stdlib.h> unconditionally.
67640         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
67641         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
67642         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
67643         headers or for string.h.
67644         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
67645         or strtoul.
67646
67647         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
67648         headers.
67649         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
67650         * m4/userspec.m4 (gl_USERSPEC): Likewise.
67651         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
67652         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
67653         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
67654         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
67655         memcpy, memset.
67656         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
67657         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
67658         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
67659         strtol.
67660         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
67661         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
67662         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
67663         strtoul.
67664
67665 2003-09-12  Paul Eggert  <eggert@twinsun.com>
67666
67667         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
67668         * lib/obstack.c [!defined _LIBC]: Likewise.
67669         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
67670         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
67671         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
67672
67673         More changes to assume C89 or better.
67674
67675         * lib/error.c (error_tail): Assume vprintf.
67676
67677         * lib/argmatch.c (getenv): Remove decl.
67678         * lib/progreloc.c (get_full_program_name): Define via prototype.
67679         * lib/setenv.c (clearenv): Likewise.
67680         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
67681         needed.
67682         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
67683         (malloc, memcpy): Remove decls.
67684         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
67685         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
67686         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
67687         (memcpy): Remove macro.
67688         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
67689         (__P): Remove.  All uses removed.
67690         (PTR): Remove.  All uses changed to void *.
67691         (CHAR_BIT, NULL): Remove.
67692         (spaces, zeros, memset_space, memset_zero)
67693         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
67694         Remove.
67695         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
67696         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
67697         Define with prototype.
67698         Remove now-unnecessary prototype decl.
67699         (extra_args_spec): Assume ANSI C.  All uses changed.
67700         (extra_args_spec_iso): Remove.
67701         (my_strftime, emacs_strftimeu): Define via prototype.
67702         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
67703         unconditionally.
67704         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
67705         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
67706         (strtoul, strtol): Remove decls.
67707         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
67708         LONG_MAX): Remove.
67709         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
67710         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
67711         (LOCALE_PARAM_PROTO): New macro.
67712         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
67713         (INTERNAL (strtol), strtol): Define with a prototype.
67714         (PARAMS): Remove.  All uses removed.
67715         * lib/tempname.c: Include <string.h> unconditionally.
67716         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
67717         * lib/xgethostname.c (main): Define with a prototype.
67718         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
67719         Include <stdlib.h> unconditionally.
67720         (calloc, malloc, realloc, free): Remove decls.
67721         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
67722         Include <stdlib.h> unconditionally.  Sort include file names.
67723         (strtod): Remove.
67724         (xstrtod): Define with a prototype.
67725         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
67726         (strtol, strtoul): Remove decls.
67727
67728 2003-09-11  Paul Eggert  <eggert@twinsun.com>
67729
67730         More patches to assume C89 or better.
67731         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
67732         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
67733         string.h, memchr, STDC_HEADERS.
67734
67735 2003-09-11  Paul Eggert  <eggert@twinsun.com>
67736
67737         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
67738         Include <stdlib.h>, <string.h> unconditionally.
67739         Remove now-unnecessary cast to char *.
67740         * lib/strnlen.c: Include <string.h> unconditionally.
67741         * lib/yesno.c (yesno): Define with a prototype.
67742
67743 2003-09-11  Bruno Haible  <bruno@clisp.org>
67744
67745         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
67746
67747 2003-09-10  Jim Meyering  <jim@meyering.net>
67748
67749         * lib/error.c: Correct indentation of cpp directives.
67750
67751 2003-09-10  Bruno Haible  <bruno@clisp.org>
67752
67753         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
67754         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
67755         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
67756         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
67757         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
67758         <stdlib.h> and <string.h> checks.
67759         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
67760         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
67761
67762 2003-09-10  Bruno Haible  <bruno@clisp.org>
67763
67764         * lib/strcspn.c: Include <string.h> unconditionally.
67765         * lib/strpbrk.c: Include <string.h> unconditionally.
67766         * lib/strstr.c: Include <string.h> unconditionally.
67767         * lib/unicodeio.c: Include <string.h> unconditionally.
67768         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
67769         * lib/unsetenv.c: Likewise.
67770         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
67771         * lib/yesno.c: Include <stdlib.h> unconditionally.
67772         (rpmatch): Add prototype.
67773
67774 2003-09-09  Paul Eggert  <eggert@twinsun.com>
67775
67776         More patches to assume C89 or better.
67777         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
67778         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
67779         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
67780         or for string.h.
67781         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
67782         stdlib.h.
67783         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
67784         C headers.
67785         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
67786         string.h.
67787         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
67788         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
67789         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
67790         or for string.h.
67791         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
67792         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
67793         C headers.
67794         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
67795         memcpy.
67796         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
67797         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
67798         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
67799         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
67800         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
67801         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
67802         string.h, free.
67803         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
67804         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
67805         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
67806         C headers, or for string.h.
67807         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
67808         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
67809         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
67810         headers, memory.h, stdlib.h, string.h, strings.h.
67811         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
67812         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
67813         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
67814         strchr.
67815         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
67816         headers, memory.h, string.h.
67817         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
67818         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
67819         free.
67820         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
67821         headers.
67822         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
67823         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
67824         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
67825         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
67826         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
67827
67828 2003-09-09  Paul Eggert  <eggert@twinsun.com>
67829
67830         More K&R removal.
67831
67832         * lib/acosl.c (main): Use a prototype.
67833         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
67834         tanl.c: Likewise.
67835
67836         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
67837
67838         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
67839         (getopt, etopt_long, getopt_long_only, _getopt_internal)
67840         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
67841         with a prototype.
67842         * lib/getopt.c (const): Remove macro.
67843         Include <string.h> unconditionally.
67844         (my_index): Remove; all uses changed to strchr.
67845         (strlen): Remove decl.
67846         (exchange): Remove forward decl; no longer needed.
67847         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
67848         Define with prototype.
67849         * lib/getopt1.c (const): Remove macro.
67850         (getopt_long, getopt_long_only, main): Define with prototype.
67851
67852         * lib/getugroups.c: Include <string.h> unconditionally.
67853
67854         * lib/getusershell.c: Include <stdlib.h> unconditionally.
67855         (getusershell, setusershell, endusershell, readname, main):
67856         Define with prototypes.
67857
67858         * lib/group-member.c: Include group-member.h first.
67859         Include <stdlib.h> unconditionally.
67860
67861         * lib/hard-locale.c: Include hard-locale.h first.
67862         Include <stdlib.h>, <string.h> unconditionally.
67863
67864         * lib/hash.c (free, malloc): Remove decls.
67865         Include <stdlib.h> unconditionally.
67866
67867         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
67868         (getenv): Do not declare.
67869
67870         * lib/idcache.c: Include <string.h> unconditionally.
67871
67872         * lib/long-options.c: Include long-options.h first, to test interface.
67873         Include <stdlib.h> unconditionally.
67874
67875         * lib/makepath.c: Include makepath.h first, to test interface.
67876         Include <stdlib.h> and <string.h> unconditionally.
67877
67878         * lib/linebuffer.c: Include <stdlib.h>.
67879         (free): Remove decl.
67880
67881         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
67882         stddef.h. rpl_malloc returns void *, not char *.
67883         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
67884         prototype.
67885
67886         * lib/md5.h: Include <limits.h> unconditionally.
67887         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
67888         (__P): Remove; all uses removed.
67889         * lib/md5.c: Include "md5.h" first.
67890         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
67891         md5_buffer, md5_process_bytes, md5_process_block):
67892         Define with prototypes.
67893         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
67894         * lib/sha.c: Include "sha.h" first.
67895         Include <stdlib.h>, <string.h> unconditionally.
67896
67897         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
67898         * lib/memcmp.c (__ptr_t): Likewise.
67899         * lib/memrchr.c (__ptr_t): Likewise.
67900         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
67901         Include <string.h> unconditionally.
67902         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
67903         * lib/memchr.c: Include <stdlib.h> unconditionally.
67904         * lib/memchr.c (LONG_MAX): Remove.
67905         * lib/memrchr.c (LONG_MAX): Likewise.
67906         * lib/memchr.c (__memchr): Define via a prototype.
67907         * lib/memrchr.c (__memrchr): Likewise.
67908         * lib/memcmp.c (__P): Remove, and remove all uses.
67909         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
67910         Remove forward decls; no longer needed.
67911         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
67912         Use types required by C89 in prototype.
67913
67914         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
67915         * lib/savedir.c: Likewise.
67916         * lib/mkdir.c (free): Remove decl.
67917         * lib/rmdir.c (rmdir): Define with a prototype.
67918         * lib/savedir.c: Include savedir.h first, to test interface.
67919
67920         * lib/mktime.c (STDC_HEADERS): Remove.
67921         Include <stdlib.h>, <string.h> unconditionally.
67922
67923         * lib/modechange.c: Include <stdlib.h> unconditionally.
67924         (malloc): Remove decl.
67925
67926         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
67927         (free): Remove decl.
67928
67929         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
67930         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
67931         (This type really should be intptr_t, but that's a C99ism.)
67932         (_obstack_memcpy): Remove: all uses changed to memcpy.
67933         Include <string.h> unconditionally.
67934         (struct obstack): Assume __STDC__ for types of members
67935         chunkfun, freefun, extra_arg.
67936         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
67937         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
67938         obstack_begin, obstack_specify_allocation,
67939         obstack_specify_allocation_with_arg, obstack_chunkfun,
67940         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
67941         Remove unprototyped decls and the macros that use them.
67942         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
67943         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
67944         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
67945         (defined __STDC__ && __STDC__)]:
67946         Remove nonprototyped code.
67947         Include <stdlib.h> unconditionally.
67948         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
67949         _obstack_allocated_p, _obstack_free, obstack_free,
67950         _obstack_memory_used, print_and_abort):
67951         Define using prototypes.
67952         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
67953         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
67954         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
67955         obstack_next_free, obstack_object_size, obstack_room) [0]:
67956         Remove unused, unprototyped code.
67957
67958         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
67959
67960         * lib/physmem.c (physmem_total, physmem_available, main): Define
67961         with prototypes.
67962
67963         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
67964         (main): Define with a prototype.
67965
67966         * lib/posixver.c (getenv): Remove decl.
67967
67968         * lib/putenv.c (malloc): Returns void *, not char *.
67969         Include <string.h> unconditionally.
67970         (strchr, memcpy, NULL): Do not define.
67971
67972         * lib/readtokens.c: Include readtokens.h first, to test interface.
67973         Include <stdlib.h>, <string.h> unconditionally.
67974         (init_tokenbuffer): Define with a prototype.
67975
67976         * lib/regex.c (PARAMS): Remove.  All uses removed.
67977         All uses of _RE_ARGS removed, too.
67978         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
67979         unconditionally.
67980         (bzero): Assume memset exists.
67981         (memcmp, memcpy, NULL): Remove.
67982         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
67983         char, or assignments to local vars of type signed char.
67984         (init_syntax_once, PREFIX(extract_number_and_incr),
67985         PREFIX(print_partial_compiled_pattern),
67986         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
67987         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
67988         PREFIX(regex_grow_registers), PREFIX(regex_compile),
67989         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
67990         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
67991         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
67992         wcs_compile_range, byte_compile_range, truncate_wchar,
67993         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
67994         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
67995         count_mbs_length, wcs_re_match_2_internal,
67996         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
67997         PREFIX(alt_match_null_string_p),
67998         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
67999         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
68000         regfree, PREFIX(extract_number)): Define with prototype.  Remove
68001         now-unnecessary declaration, if any.
68002         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
68003         regcomp, regexec):
68004         Remove now-unnecessary casts among pointer types.
68005         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
68006
68007         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
68008         (free): Remove decl.
68009
68010         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
68011
68012         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
68013         (free): Remove decl.
68014
68015         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
68016         * lib/xgetcwd.c: Likewise.
68017
68018         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
68019         (free): Remove decl.
68020
68021         * lib/strchrnul.c (strchrnul): Define with a prototype.
68022         Fix bug: c_in was not converted to char before searching.
68023
68024         The following changes are not K&R related:
68025
68026         * lib/group-member.h: Include <sys/types.h>, so that this file is
68027         self-contained.
68028         * lib/makepath.h: Likewise.
68029
68030         * lib/getusershell.c (readname, default_index, line_size, readname):
68031         Use size_t, not int, for sizes.
68032         (readname): If the size overflows, report an error instead of
68033         looping forever.
68034
68035 2003-09-09  Paul Eggert  <eggert@twinsun.com>
68036
68037         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
68038         libc.
68039
68040 2003-09-09  Paul Eggert  <eggert@twinsun.com>
68041
68042         * README: New section: portability guidelines.
68043
68044 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
68045
68046         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
68047         C89 spec.
68048
68049 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
68050
68051         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
68052
68053 2003-09-08  Paul Eggert  <eggert@twinsun.com>
68054
68055         Assume C89 or better; remove K&R cruft.
68056         A few of these changes were first proposed by Derek Robert Price
68057         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
68058
68059         * lib/addext.c: Include <string.h> unconditionally.
68060         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
68061         Don't declare getenv or malloc.
68062
68063         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
68064         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
68065         (NULL): Remove.
68066         (find_stack_direction, alloca): Use prototypes.
68067
68068         * lib/atexit.c (atexit): Define using a prototype.
68069
68070         * lib/basename.c, dirname.c, stripslash.c:
68071         Include <string.h> unconditionally.
68072
68073         * lib/bcopy.c: Include <stddef.h>.
68074         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
68075
68076         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
68077
68078         * lib/error.h (error, error_at_line, error_print_progname)
68079         [! (defined (__STDC__) && __STDC__)]: Remove decls.
68080         * lib/error.c: Include error.h first, to check interface.
68081         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
68082         (VA_START): Remove; all uses changeed to va_start.
68083         (exit, strerror): Remove decls.
68084         (error_print_progname): Prototype uncondionally.
68085         Don't include <errno.h>; no longer needed.
68086         (private_strerror): Remove.
68087         (error_tail): Always define.
68088         (error, error_at_line): Assume C89 or better; always use prototypes.
68089         * lib/fatal.c: Include "fatal.h" first, to test interface.
68090         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
68091         (VA_START): Remove; all uses changed to va_start.
68092         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
68093         this case.
68094         (exit): Remove decl.
68095         (fatal): Prototype unconditionally.  Assume va_start works.
68096         Abort at end, to pacify gcc.
68097
68098         * lib/euidaccess.c (main): Define with a prototype.
68099
68100         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
68101
68102         * lib/exitfail.c: Include <stdlib.h> unconditionally.
68103
68104         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
68105         prototypes.
68106         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
68107         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
68108         (getenv): Remove decl.
68109         (fnmatch): Define using a prototype.
68110         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
68111         (FCT): Define using a prototype.
68112
68113         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
68114
68115         * lib/gethostname.c: Include <stddef.h>.
68116         (gethostname): Define with prototype.  Length is size_t, not int.
68117
68118 2003-09-08  Paul Eggert  <eggert@twinsun.com>
68119
68120         Assume C89 or better; remove K&R cruft.
68121         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
68122         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
68123         string.h, getenv, malloc.
68124         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
68125         headers.
68126         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
68127         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
68128         do not check for strerror.
68129         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
68130         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
68131         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
68132         do not check for doprnt or vprintf.
68133         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
68134         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
68135
68136 2003-09-08  Paul Eggert  <eggert@twinsun.com>
68137
68138         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
68139         getversion.c should have been removed then, but was accidentally
68140         preserved.
68141
68142         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
68143         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
68144
68145 2003-09-08  Karl Berry  <karl@gnu.org>
68146
68147         * config/config.sub, config.guess, srclistvars.sh: update from savannah
68148                 config, forget about prep.
68149
68150         * config/depcomp, missing: update from automake.
68151
68152 2003-09-07  Paul Eggert  <eggert@twinsun.com>
68153
68154         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
68155         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
68156
68157 2003-09-07  Paul Eggert  <eggert@twinsun.com>
68158
68159         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
68160         copy_tm_result.  Bug reported by Simon Josefsson in
68161         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
68162
68163 2003-09-06  Paul Eggert  <eggert@twinsun.com>
68164
68165         * m4/time_r.m4: New file.
68166         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
68167         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
68168         is. Check for timegm declaration.
68169         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
68170         Do not check for gmtime_r.
68171         Replace mktime if __mktime_internal does not exist and if mktime
68172         hasn't been replaced already.
68173
68174 2003-09-06  Paul Eggert  <eggert@twinsun.com>
68175
68176         * lib/time_r.c, lib/time_r.h: New files.
68177
68178         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
68179         __localtime_r.
68180         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
68181         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
68182
68183         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
68184         __gmtime_r.
68185         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
68186         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
68187         Include <time_r.h>.
68188
68189         * lib/timegm.c: Switch to glibc implementation, with the following
68190         changes:
68191         [defined HAVE_CONFIG_H]: Include <config.h>.
68192         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
68193         (__mktime_internal) [!defined _LIBC]: New decl.
68194         (__gmtime_r) [!defined _LIBC]: New macro and function.
68195         (timegm): Use a prototype, since gnulib assumes C89.
68196         Do not bother declaring tmp to be const, as it's not really usefu.
68197         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
68198         (timegm): Declare only if HAVE_DECL_TIMEGM.
68199
68200 2003-09-06  Paul Eggert  <eggert@twinsun.com>
68201
68202         * MODULES.html.sh (func_all_modules): Add time_r.
68203         * modules/time_r: New file.
68204         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
68205         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
68206
68207 2003-09-03  Paul Eggert  <eggert@twinsun.com>
68208
68209         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
68210         Bug reported by Lute Kamstra in
68211         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
68212
68213         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
68214         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
68215         course with correspondingly smaller numbers for tomorrow and
68216         yesterday.  From Tadayoshi Funaba.  Originally installed into
68217         sh-utils on 1999-08-07, but the patch got lost (I guess during the
68218         coreutils merge?).
68219
68220 2003-08-31  Simon Josefsson  <jas@extundo.com>
68221
68222         * modules/timegm: New file.
68223         * MODULES.html.sh (func_all_modules): Add timegm.
68224
68225 2003-08-31  Simon Josefsson  <jas@extundo.com>
68226
68227         * m4/timegm.m4: New file.
68228
68229 2003-08-31  Simon Josefsson  <jas@extundo.com>
68230
68231         * lib/timegm.h: New file.
68232         * lib/timegm.c: New file.  Based on
68233         wget-1.8.2/src/http.c:mktime_from_utc.
68234
68235 2003-08-31  Karl Berry  <karl@gnu.org>
68236
68237         * lib/argp.h: update from libc.
68238
68239 2003-08-28  Bruno Haible  <bruno@clisp.org>
68240
68241         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
68242         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
68243         followed by '#define fnmatch fnmatch_posix' gives an error.
68244
68245 2003-08-28  Bruno Haible  <bruno@clisp.org>
68246
68247         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
68248         warning on QNX, which defines O_BINARY to 000000.
68249
68250 2003-08-27  Jim Meyering  <jim@meyering.net>
68251
68252         * m4/mkstemp.m4: Require that the system mkstemp be able to create
68253         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
68254         would fail after 32.  Reported by Danny Levinson.  Details here:
68255         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
68256
68257 2003-08-24  Bruno Haible  <bruno@clisp.org>
68258
68259         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
68260         MSVC7 <stdio.h> is included later.
68261
68262 2003-08-22  Simon Josefsson  <jas@extundo.com>
68263
68264         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
68265
68266 2003-08-20  Karl Berry  <karl@gnu.org>
68267
68268         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
68269
68270 2003-08-20  Bruno Haible  <bruno@clisp.org>
68271
68272         * modules/progname: New file.
68273         * MODULES.html.sh (func_all_modules): Add progname.
68274
68275 2003-08-20  Bruno Haible  <bruno@clisp.org>
68276
68277         * lib/progname.h: New file, from GNU gettext.
68278         * lib/progname.c: New file, from GNU gettext.
68279         * lib/progreloc.c: New file, from GNU gettext.
68280
68281 2003-08-19  Jim Meyering  <jim@meyering.net>
68282
68283         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
68284         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
68285
68286 2003-08-19  Bruno Haible  <bruno@clisp.org>
68287
68288         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
68289         more.
68290
68291 2003-08-19  Bruno Haible  <bruno@clisp.org>
68292
68293         * lib/xstrdup.c: Assume <string.h> exists.
68294
68295 2003-08-18  Paul Eggert  <eggert@twinsun.com>
68296
68297         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
68298         in makefile rules.
68299
68300 2003-08-18  Jim Meyering  <jim@meyering.net>
68301
68302         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
68303         * m4/lib-ld.m4: Likewise.
68304
68305 2003-08-18  Jim Meyering  <jim@meyering.net>
68306
68307         * lib/setenv.h: Indent nested cpp directive.
68308         * lib/vasnprintf.c: Remove trailing blanks.
68309
68310 2003-08-17  Simon Josefsson  <jas@extundo.com>
68311
68312         * modules/xstrndup: New file.
68313         * MODULES.html.sh (func_all_modules): Add xstrndup.
68314
68315 2003-08-17  Simon Josefsson  <jas@extundo.com>
68316
68317         * modules/argp: Fix autoconf macro name. Add more dependencies.
68318
68319 2003-08-17  Simon Josefsson  <jas@extundo.com>
68320
68321         * m4/xstrndup.m4: New file.
68322
68323 2003-08-17  Simon Josefsson  <jas@extundo.com>
68324
68325         * m4/argp.m4: New file.
68326
68327 2003-08-17  Simon Josefsson  <jas@extundo.com>
68328             Bruno Haible  <bruno@clisp.org>
68329
68330         * lib/xstrndup.h: New file.
68331         * lib/xstrndup.c: New file.
68332
68333 2003-08-17  Bruno Haible  <bruno@clisp.org>
68334
68335         * modules/strndup (Files, Include): Add lib/strndup.h.
68336
68337 2003-08-17  Bruno Haible  <bruno@clisp.org>
68338
68339         * modules/euidaccess (Files): Add lib/euidaccess.h.
68340
68341 2003-08-17  Bruno Haible  <bruno@clisp.org>
68342
68343         * lib/strndup.h: New file.
68344
68345 2003-08-17  Bruno Haible  <bruno@clisp.org>
68346
68347         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
68348         like AC_GNU_SOURCE.
68349         * modules/extensions (configure.ac): Comment out the invocation of
68350         gl_USE_SYSTEM_EXTENSIONS.
68351
68352 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68353
68354         Merges from coreutils, etc.
68355         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
68356         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
68357         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
68358         fixing a typo.
68359         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
68360         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
68361
68362 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68363
68364         Document merge from coreutils.
68365         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
68366         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
68367         * modules/utime: Add m4/utimes-null.m4.
68368
68369 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68370
68371         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
68372         space, undoing this 2003-08-12 change:
68373         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
68374
68375 2003-08-16  Paul Eggert  <eggert@twinsun.com>
68376
68377         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
68378         strtoul.c from libc, undoing this 2003-08-12 change:
68379         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
68380
68381 2003-08-16  Jim Meyering  <jim@meyering.net>
68382
68383         Merges from coreutils.
68384         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
68385         prefix.  Adjust cache variables similarly.  Create 500 rather than
68386         just 300 files, to exercise bug on Darwin6.5, too.
68387         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
68388         $missing_dir.
68389         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
68390         AM_SYS_POSIX_TERMIOS.
68391         Reported by mkc@mathdogs.com.
68392         Also change use of $am_cv_sys_posix_termios
68393         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
68394         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
68395         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
68396         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
68397         in /proc/mounts until it finds one with matching device number.  This
68398         is unnecessary when the FILE argument *is* a mount point.  No stat call
68399         is necessary in that case.  So, disable the statvfs-testing code on
68400         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
68401         as RedHat bug# 84846.
68402         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
68403         to 1MB, so as not to render systems with no stack size limit (e.g.,
68404         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
68405         Include <unistd.h>.  On some systems,
68406         it is required for the definition of _SC_PAGESIZE.
68407
68408 2003-08-16  Jim Meyering  <jim@meyering.net>
68409
68410         Merge from coreutils.
68411         * lib/xstrtoimax.c: #else #if -> #elif.
68412         * lib/xstrtoumax.c: Likewise.
68413
68414 2003-08-16  Jim Meyering  <jim@meyering.net>
68415
68416         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
68417         * m4/utimes.m4: Removed.
68418         * m4/utimes-null.m4: Renamed from utimes.m4.
68419
68420         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
68421         to 1MB, so as not to render systems with no stack size limit (e.g.,
68422         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
68423         Include <unistd.h>.  On some systems,
68424         it is required for the definition of _SC_PAGESIZE.
68425
68426 2003-08-16  Jim Meyering  <jim@meyering.net>
68427         and Paul Eggert  <eggert@cs.ucla.edu>
68428
68429         Merges from coreutils, etc.
68430
68431         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
68432         using the latest version from cvs.  This avoids problems with #line
68433         directives using a vendor (Sun) compiler.
68434         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
68435         Don't set GETGROUPS_LIB here; now it's
68436         done via getgroups.m4's wrapper function.
68437         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
68438         rather than just in sh-util/configure.in, so that the
68439         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
68440         same.
68441         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
68442         AC_FUNC_GETLOADAVG where to find getloadavg.c.
68443         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
68444         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
68445         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
68446         Remove code that is now done by the newly-required macros.
68447         Append $(EXEEXT) to DF_PROG.
68448         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
68449         Do not invoke or require the following here,
68450         since prereq.m4 or some gnulib .m4 now does this for us:
68451         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
68452         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
68453         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
68454         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
68455         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
68456         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
68457         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
68458         AC_FUNC_OBSTACK.
68459         Do not replace the following functions, as this is now the job
68460         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
68461         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
68462         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
68463         atexit getpass, strdup, getpagesize.
68464         Replace 'raise'.
68465         Do not check for the following functions, as this is now the job
68466         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
68467         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
68468         setregid.
68469         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
68470         Check for sys/sysctl.h.
68471         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
68472         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
68473         of checking for ssize_t ourselves.
68474
68475         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
68476         Require every macro that gnulib/modules/* suggests for us.
68477         (jm_PREREQ_ADDEXT): New macro.
68478         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
68479         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
68480
68481         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
68482         (gl_PHYSMEM): Use it.
68483         Also check for `table' function.
68484         Check for new headers and functions.
68485         Add check for sys/sysmp.h.
68486         With suggestions from Kaveh Ghazi.
68487         Ignore headers that are present but cannot be compiled.  This
68488         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
68489         C 5.4.
68490
68491 2003-08-15  Paul Eggert  <eggert@twinsun.com>
68492
68493         Document merge from coreutils.
68494         * modules/userspec: Depend on posixver.
68495         * modules/strftime: Depend on tzset.
68496
68497 2003-08-15  Paul Eggert  <eggert@twinsun.com>
68498
68499         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
68500         rather than tab, after '#' in shell-script copyright notices.
68501         Suggested by Bruno Haible.
68502
68503 2003-08-15  Paul Eggert  <eggert@twinsun.com>
68504
68505         * config/srclist-update: Use three spaces, rather than tab, after '#'
68506         in shell-script copyright notices.  Suggested by Bruno Haible.
68507         Remove unnecessary parenthesization in regular expression.
68508
68509 2003-08-15  Jim Meyering  <jim@meyering.net>
68510
68511         Merge from coreutils.
68512         * lib/xgethostname.c: Include <stdlib.h>.
68513         (xghostname): Don't exit for anything other than memory-related
68514         failure; just return NULL.
68515         * lib/userspec.c: Include "posixver.h".
68516         (parse_user_spec): Accept `.' as a separator only
68517         in pre-POSIX-200112 mode.
68518         * lib/strtoimax.c: Use #elif rather than #else #if.
68519         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
68520         Remove function, now that we can rely on a working tzset function.
68521         [!_LIBC]: Ensure that the required autoconf test has been run.
68522         [!defined _NL_CURRENT && HAVE_STRFTIME]:
68523         Use underlying_strftime for %r.
68524         * lib/sha.c: Merge in some clean-up and optimization changes from
68525         glibc.
68526         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
68527         Ensure that it is a multiple of 64.
68528         Rearrange loop exit tests so as to avoid performing an
68529         additional fread after encountering an error or EOF.
68530         * lib/realloc.c: Update copyright date.
68531
68532 2003-08-15  Jim Meyering  <jim@meyering.net>
68533         and Paul Eggert  <eggert@twinsun.com>
68534
68535         Merge from coreutils.
68536         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
68537         member but strut utmpx does not.  Needed for AIX 4.3.3.
68538         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
68539
68540 2003-08-15  Jim Meyering  <jim@meyering.net>
68541         and Paul Eggert  <eggert@cs.ucla.edu>
68542
68543         Merges from coreutils, etc.
68544         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
68545         Require gl_FUNC_TZSET_CLOBBER.
68546         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
68547         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
68548         members.
68549
68550 2003-08-14  Paul Eggert  <eggert@twinsun.com>
68551
68552         Help the merge from coreutils.
68553         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
68554         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
68555         * m4/tzset.m4: Use it too.
68556
68557 2003-08-14  Paul Eggert  <eggert@twinsun.com>
68558
68559         * modules/tzset: New file.
68560
68561 2003-08-14  Jim Meyering  <jim@meyering.net>
68562
68563         Merges from coreutils.
68564         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
68565         variable names, rather than @FNMATCH_H@.
68566         * modules/alloca: Likewise for $(ALLOCA_H).
68567
68568         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
68569         the three copies of the literal target, `fnmatch.h'.
68570         * modules/alloca (alloca.h): Likewise.
68571
68572 2003-08-14  Jim Meyering  <jim@meyering.net>
68573
68574         Merge from coreutils.
68575         * m4/tzset.m4: New file.
68576         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
68577         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
68578         otherwise, AIX 5.1 systems would end up using the latter.
68579         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
68580         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
68581         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
68582         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
68583
68584 2003-08-14  Jim Meyering  <jim@meyering.net>
68585
68586         Merge from coreutils.
68587         * lib/obstack.h: Whitespace changes.
68588         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
68589         and xcalloc return values.
68590         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
68591         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
68592         hang on OSF/1 5.1 for DIR on both local and remote file systems.
68593         Reported by (and fix confirmed by) Nelson H. F. Beebe.
68594         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
68595         error from mntctl.
68596         Use mntctl's return value to drive the entry-processing loop, since
68597         we can't rely on the value of the vmt_length member in the last
68598         entry.  On some systems doing so could result in exhausting
68599         virtual memory.  Based in part on a patch from Mike Jetzer.
68600
68601 2003-08-14  Jim Meyering  <jim@meyering.net>
68602         and Paul Eggert  <eggert@twinsun.com>
68603
68604         Merges from coreutils, plus other fixes.
68605         * lib/physmem.c: Merge in portability changes from gcc/libiberty
68606         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
68607         for credits and details.  Thanks to Kaveh Ghazi for helping
68608         to keep these files in sync.
68609         (ARRAY_SIZE): Define it.
68610         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
68611         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
68612         (memcasecmp): Don't assume size_t fits in unsigned int.
68613         Remove casts and duplicate code.
68614         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
68615         (memcpy): Remove definition.
68616         Merge in some clean-up and optimization changes from glibc.
68617         [BLOCKSIZE]: Move definition to top of file.
68618         Ensure that it is a multiple of 64.
68619         Rearrange loop exit tests so as to avoid performing an
68620         additional fread after encountering an error or EOF.
68621         * lib/md5.h (md5_uintptr): Define.
68622         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
68623         return to the initial working directory.  Preserve errno
68624         for caller.
68625         * lib/idcache.c: Include "xalloc.h".
68626         (xmalloc, xrealloc): Remove decls.
68627         (getuser): Remove casts no longer required in C89.
68628         * lib/human.c: Include stdio.h, for sprintf.
68629         * lib/group-member.c: Include "xalloc.h".
68630         (xmalloc, xrealloc): Remove decls.
68631         (get_group_info): Remove casts no longer required in C89.
68632         * lib/getusershell.c (readname): Remove casts no longer required in
68633         C89.
68634         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
68635         * lib/getline.c: Whitespace fix, from coreutils.
68636
68637 2003-08-13  Paul Eggert  <eggert@twinsun.com>
68638
68639         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
68640         Check for isascii.
68641
68642         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
68643         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
68644         Undo previous (whitespace-only) change.
68645
68646 2003-08-13  Paul Eggert  <eggert@twinsun.com>
68647
68648         * lib/exclude.c: Include <ctype.h>
68649         (IN_CTYPE_DOMAIN): New macro.
68650         (is_space): New fn.
68651         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
68652         and empty lines.
68653
68654         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
68655         Undo previous (whitespace-only) change.
68656
68657 2003-08-13  Paul Eggert  <eggert@twinsun.com>
68658
68659         * config/srclist-update: Change update back to the old behavior,
68660         leaving whitespace alone.  Use one 'sed' command rather than a
68661         pipeline.
68662         (fixlicense): Now a variable, not a function.
68663         (remove_trailing_blanks): Remove.
68664         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
68665         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
68666         Undo previous (whitespace-only) change.
68667
68668 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68669
68670         Merge from coreutils.
68671         * modules/euidaccess: Add lib_SOURCES, include for new
68672         file euidaccess.h
68673
68674 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68675
68676         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
68677         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
68678         Normalize leading white space and remove trailing white space.
68679
68680         Merge from coreutils
68681         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
68682
68683         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
68684         0.12.1.  These files are now being upgraded automatically by
68685         ../config/srclist-update.
68686
68687 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68688
68689         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
68690         Normalize leading white space and remove trailing white space.
68691         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
68692         notice, as per ../config/srclist-update.
68693
68694         Merge from coreutils.
68695         * lib/euidaccess.h: New file.
68696         * lib/euidaccess.c: Include it.
68697         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
68698         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
68699         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
68700
68701 2003-08-12  Paul Eggert  <eggert@twinsun.com>
68702
68703         * config/srclist-update: Add copyright notice.
68704         (remove_id_lines, remove_trailing_blanks): New constants.
68705         (fixfile): Use them to normalize spacing a bit in copied files.
68706         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
68707         Normalize leading white space and remove trailing white space.
68708
68709         * config/texinfo.tex: Sync with texinfo.
68710
68711         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
68712         strtoul.c from libc, to merge coreutils whitespace changes.
68713
68714         * config/srclist.txt: Get the following m4 files from gettext:
68715         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
68716         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
68717         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
68718         wint_t.m4.
68719
68720 2003-08-12  Karl Berry  <karl@gnu.org>
68721
68722         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
68723         been made.
68724
68725 2003-08-11  Paul Eggert  <eggert@twinsun.com>
68726
68727         * modules/gnu-source, m4/gnu-source.m4:
68728         Remove; we're assuming Autoconf 2.54 or later now.
68729         Suggested by Bruno Haible.
68730         * MODULES.html.sh (func_all_modules): Remove gnu-source.
68731
68732 2003-08-11  Bruno Haible  <bruno@clisp.org>
68733
68734         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
68735
68736 2003-08-11  Bruno Haible  <bruno@clisp.org>
68737
68738         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
68739         (vasnprintf): Use it instead of wcslen.
68740
68741 2003-08-11  Bruno Haible  <bruno@clisp.org>
68742
68743         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
68744         value to ensure that _Bool promotes to int. Use #define for _Bool when
68745         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
68746
68747 2003-08-10  Karl Berry  <karl@gnu.org>
68748
68749         * lib/regex.h: update from libc (whitespace fix).
68750
68751 2003-08-09  Paul Eggert  <eggert@twinsun.com>
68752
68753         Merge some files from coreutils.  These changes were
68754         originally made by Jim Meyering.
68755         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
68756         many older Unixes require this.
68757         * lib/alloca.c (alloca): Remove cast to argument of free;
68758         no longer needed in C89.
68759         * lib/alloca_.h, regex.h: Fix white space to match
68760         what GNU indent does.
68761
68762 2003-08-09  Paul Eggert  <eggert@twinsun.com>
68763
68764         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
68765         apparently Emacs's Unicode mode got confused before my 2003-08-05
68766         checkin.
68767
68768 2003-08-08  Paul Eggert  <eggert@twinsun.com>
68769
68770         * m4/extensions.m4: New file.
68771         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
68772         Require gl_USE_SYSTEM_EXTENSIONS.
68773         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
68774         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
68775
68776 2003-08-08  Paul Eggert  <eggert@twinsun.com>
68777
68778         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
68779         * modules/extensions, modules/gnu-source: New files.
68780         * modules/timespec, modules/unlocked-io: Depend on extensions.
68781
68782 2003-08-07  Paul Eggert  <eggert@twinsun.com>
68783
68784         * modules/restrict: New file.
68785         * MODULES.html.sh (func_all_modules): Add restrict.
68786         * modules/regex: Depend on restrict.
68787
68788 2003-08-07  Paul Eggert  <eggert@twinsun.com>
68789
68790         * m4/restrict.m4: New file.
68791         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
68792
68793 2003-08-07  Bruno Haible  <bruno@clisp.org>
68794
68795         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
68796         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
68797
68798 2003-08-07  Bruno Haible  <bruno@clisp.org>
68799
68800         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
68801         makes the module 'getndelim2' compatible with the module 'getline'.
68802
68803 2003-08-05  Paul Eggert  <eggert@twinsun.com>
68804
68805         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
68806         byte with "\201" to avoid glitches when editing that source file
68807         with multi-gnome-terminal.
68808
68809 2003-08-05  Paul Eggert  <eggert@twinsun.com>
68810
68811         * lib/bumpalloc.h: Remove.
68812
68813 2003-08-05  Paul Eggert  <eggert@twinsun.com>
68814
68815         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
68816         * modules/bumpalloc: Remove.
68817
68818 2003-08-04  Paul Eggert  <eggert@twinsun.com>
68819
68820         * lib/getloadavg.c: Change copyright notice and spacing to conform to
68821         GNU coding style.
68822
68823         Merge from coreutils.
68824         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
68825         1. From glibc.
68826         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
68827         from Karl Berry, implemented by Jim Meyering.
68828         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
68829         from Dmitry V. Levin.
68830         Remove anachronistic cast of xrealloc.
68831         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
68832         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
68833         type. Otherwise, it wouldn't compile with at least /bin/cc on
68834         ymp-cray-unicos9.0.2.X.
68835         Combine two mostly-identical uses of alloca into one.
68836         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
68837
68838 2003-08-04  Dave Love  <d.love@dl.ac.uk>
68839
68840         [From Emacs.]
68841
68842         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
68843         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
68844         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
68845         obsolete NLIST_NAME_UNION.
68846         [__GNU__]: Undef BSD and FSCALE.
68847         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
68848
68849 2003-08-03  Paul Eggert  <eggert@twinsun.com>
68850
68851         * lib/stdbool_.h (_Bool): Make it signed char, instead of
68852         an enum type, so that it's guaranteed to promote to int.  See:
68853         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
68854
68855 2003-08-03  Karl Berry  <karl@gnu.org>
68856
68857         * config/depcomp: update from automake.
68858
68859 2003-07-31  Paul Eggert  <eggert@twinsun.com>
68860
68861         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
68862         (strerror): Don't assume that a printable int fits in 14 bytes.
68863
68864 2003-07-31  Bruno Haible  <bruno@clisp.org>
68865
68866         * modules/getpass-gnu: New file.
68867         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
68868
68869 2003-07-31  Bruno Haible  <bruno@clisp.org>
68870
68871         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
68872
68873 2003-07-24  Karl Berry  <karl@gnu.org>
68874
68875         * config/missing: update from automake.
68876
68877 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
68878             Bruno Haible  <bruno@clisp.org>
68879
68880         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
68881         * lib/getline.c (getline, getdelim): Likewise.
68882         Remove _GNU_SOURCE define; now it's defined in config.h through
68883         m4/getline.m4.
68884
68885 2003-07-23  Karl Berry  <karl@gnu.org>
68886
68887         * config/config.sub: update from prep.
68888
68889 2003-07-22  Paul Eggert  <eggert@twinsun.com>
68890
68891         * modules/xalloc (Depends-on): Add exitfail.
68892         * modules/xmemcoll: Likewise.
68893
68894 2003-07-22  Paul Eggert  <eggert@twinsun.com>
68895
68896         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
68897         over-parenthesization in macros.
68898
68899         Sync with coreutils.
68900
68901         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
68902         required by C99.
68903
68904         Use `exit_failure' for xalloc and xmemcoll instead of their own
68905         private exit-failure variables.
68906         * lib/xalloc.h (xalloc_exit_failure): Remove.
68907         * lib/xmalloc.c: Likewise.  Include exitfail.h.
68908         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
68909         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
68910         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
68911         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
68912
68913 2003-07-20  Jim Meyering  <jim@meyering.net>
68914
68915         * modules/closeout (Depends-on): Add exitfail.
68916         Suggestion from Bruno Haible.
68917
68918 2003-07-19  Karl Berry  <karl@gnu.org>
68919
68920         * config/config.sub: update from prep.
68921
68922 2003-07-18  Paul Eggert  <eggert@twinsun.com>
68923
68924         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
68925         Remove.
68926         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
68927         to test that it can stand by itself.  Include "exitfail.h".
68928         Clients should set exit_failure instead.
68929         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
68930
68931 2003-07-18  Bruno Haible  <bruno@clisp.org>
68932
68933         * modules/getndelim2: New file.
68934         * modules/getline: Share files with module getndelim2.
68935         * modules/getnline: Depend on getndelim2 instead of sharing files with
68936         it. Add getnline.c to lib_SOURCES.
68937         * MODULES.html.sh (func_all_modules): Add getndelim2.
68938
68939 2003-07-18  Bruno Haible  <bruno@clisp.org>
68940
68941         * m4/getndelim2.m4: New file.
68942         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
68943         invoke gl_PREREQ_GETNDELIM2.
68944         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
68945         gl_PREREQ_GETNDELIM2.
68946         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
68947         gl_GETNDELIM2.
68948
68949 2003-07-18  Bruno Haible  <bruno@clisp.org>
68950
68951         * lib/getndelim2.h: New file.
68952         * lib/getndelim2.c: Make into a module of its own. Include config.h,
68953         getndelim2.h.
68954         (getndelim2): Make non-static. Change return type to ssize_t.
68955         * lib/getline.h: Change argument names.
68956         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
68957         * lib/getnline.c: Include getndelim2.h.
68958
68959 2003-07-18  Andreas Schwab  <schwab@suse.de>
68960
68961         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
68962
68963 2003-07-17  Karl Berry  <karl@gnu.org>
68964
68965         * config/config.sub: update from prep.
68966
68967 2003-07-17  Bruno Haible  <bruno@clisp.org>
68968
68969         * modules/getnline: New file.
68970         * modules/getline: Add lib/getndelim2.c to source file list.
68971         * MODULES.html.sh (func_all_modules): Add getnline.
68972
68973 2003-07-17  Bruno Haible  <bruno@clisp.org>
68974
68975         * m4/getnline.m4: New file.
68976
68977 2003-07-17  Bruno Haible  <bruno@clisp.org>
68978
68979         * m4/Makefile.am.in: Remove file.
68980         * m4/Makefile.am: Remove file.
68981         * m4/Makefile.in: Remove file.
68982
68983 2003-07-17  Bruno Haible  <bruno@clisp.org>
68984
68985         * lib/getnline.h: New file.
68986         * lib/getnline.c: New file.
68987         * lib/getndelim2.c: New file, extracted from getline.c.
68988         (getndelim2): Renamed from getdelim2, with added nmax argument.
68989         * lib/getline.c: Include getndelim2.c.
68990         (getdelim2): Moved out to getndelim2.c.
68991         (getline, getdelim): Update.
68992
68993 2003-07-17  Bruno Haible  <bruno@clisp.org>
68994
68995         * lib/Makefile.am: Remove file.
68996         * lib/Makefile.in: Remove file.
68997
68998 2003-07-17  Bruno Haible  <bruno@clisp.org>
68999
69000         * configure.in: Remove file.
69001         * Makefile.in: Remove file.
69002
69003 2003-07-17  Bruno Haible  <bruno@clisp.org>
69004
69005         * MODULES.html.sh: Put the </BODY> right before </HTML>.
69006
69007 2003-07-16  Karl Berry  <karl@gnu.org>
69008
69009         * config/srclist-update: was running fixlicense twice, which caused
69010                 texinfo.tex to be nullified for some reason.  Simplify,
69011                 $gplsrc is no longer needed as far as I can see?
69012
69013 2003-07-16  Jim Meyering  <jim@meyering.net>
69014
69015         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
69016
69017 2003-07-15  Paul Eggert  <eggert@twinsun.com>
69018
69019         * config/srclist.txt: Get the following files from gettext-runtime/intl
69020         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
69021         ref-del.sin.  From Bruno Haible.
69022         * config/srclist-update (fixfile): Change grep pattern again, since the
69023         previous fix didn't work (there was another trailing $).  Use
69024         '[$]' to escape the $s.
69025
69026 2003-07-15  Karl Berry  <karl@gnu.org>
69027
69028         * lib/vasnprintf.c: update from gettext.
69029
69030 2003-07-15  Karl Berry  <karl@gnu.org>
69031
69032         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
69033         gets expanded when surrounded by '$'.
69034
69035 2003-07-15  Jim Meyering  <jim@meyering.net>
69036
69037         * modules/save-cwd: Don't depend on error.  From Derek Price.
69038
69039 2003-07-15  Jim Meyering  <jim@meyering.net>
69040
69041         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
69042
69043 2003-07-14  Simon Josefsson  <jas@extundo.com>
69044
69045         * modules/mempcpy: New file.
69046         * MODULES.html.sh (func_all_modules): Add mempcpy.
69047
69048 2003-07-14  Simon Josefsson  <jas@extundo.com>
69049
69050         * m4/mempcpy.m4: New file.
69051
69052 2003-07-14  Simon Josefsson  <jas@extundo.com>
69053
69054         * lib/mempcpy.h: New file.
69055         * lib/mempcpy.c: New file.
69056
69057 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69058
69059         * modules/getdate, modules/posixtm: Depend on mktime.
69060
69061 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69062
69063         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
69064         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
69065         unicodeio.c, unicodeio.h, unlocked-io.h:
69066         Switch from LGPL to GPL.
69067
69068 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69069
69070         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
69071         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
69072         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
69073         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
69074         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
69075         updated automatically by ../config/srclist-update.  This changes
69076         their license from LPGL to GPL.
69077
69078 2003-07-14  Paul Eggert  <eggert@twinsun.com>
69079
69080         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
69081         assumed to refer to the root of the most recent stable gettext version.
69082         * config/srclistvars.sh: Add defaults for eggert.
69083         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
69084         Match "This program" as well as "The program".  This is needed
69085         for gettext.
69086
69087 2003-07-14  Jim Meyering  <jim@meyering.net>
69088
69089         Don't emit diagnostics.  Let callers do that.
69090         * lib/save-cwd.c: Don't include "error.h".
69091         (save_cwd): Don't call error.  Ensure that errno is valid
69092         when returning nonzero.
69093
69094         * lib/save-cwd.h (restore_cwd): Update prototype.
69095         * lib/save-cwd.c (restore_cwd): Remove two parameters.
69096         Simplify.  Don't call error upon failure.  Let callers do that.
69097         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
69098         when auditing is enabled.  But don't bother updating the #if.
69099
69100 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
69101
69102         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
69103         it breaks C++ compilation.
69104         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
69105
69106 2003-07-10  Simon Josefsson  <jas@extundo.com>
69107
69108         * modules/strchrnul (Makefile.am): Add strchrnul.h.
69109
69110 2003-07-10  Jim Meyering  <jim@meyering.net>
69111
69112         * m4/clock_time.m4: Remove trailing blank.
69113         * m4/intmax_t.m4: Likewise.
69114
69115 2003-07-10  Jim Meyering  <jim@meyering.net>
69116
69117         * lib/vasnprintf.c: Remove trailing blanks.
69118         Make cpp indentation consistent.
69119
69120 2003-07-09  Paul Eggert  <eggert@twinsun.com>
69121
69122         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
69123         posixver.c, strftime.c, strnlen.c, strverscmp.c:
69124         Switch from LGPL to GPL.
69125
69126 2003-07-09  Paul Eggert  <eggert@twinsun.com>
69127
69128         * config/srclist.txt: Sort sublists.  Add
69129         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
69130         that differ from gnulib for one reason or another; we'd like this list
69131         to be smaller but for now let's document what we have.
69132
69133 2003-07-08  Paul Eggert  <eggert@twinsun.com>
69134
69135         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
69136         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
69137         and sweeter "eval x=$x".
69138         * config/srclist.txt: Get lib/argp* from glibc.
69139
69140 2003-07-07  Paul Eggert  <eggert@twinsun.com>
69141
69142         * lib/mktime.c: Fix some boundary cases and remove need for floating
69143         point.
69144
69145         Issue a compile-time diagnostic if time_t is floating point, or if
69146         two's complement arithmetic is not in effect, or if arithmetic
69147         right shift does not propagate the sign.  These assumptions were
69148         all in the original code but they weren't checked.
69149
69150         (TIME_T_MIDPOINT, verify): New macros.
69151         (__isleap): Remove; it has integer overflow problems.
69152         (leapyear): New function, without those problems.
69153         (ydhms_tm_diff): Remove; splitting into two parts.
69154         (ydhms_diff): New function, containing the arithmetic part of
69155         the old ydhms_tm_diff function.  Issue a compile-time
69156         diagnostic if we are not using C99 integer division.
69157         Avoid casts when possible.
69158         (guess_time_tm): New function, containing the checking part of
69159         the old ydhms_tm_diff function.  Return the new value, rather than
69160         the difference between it and the old.  Accept a new argument T
69161         so that *T specifies the old value.  Check for overflow in the result.
69162
69163         (__mktime_internal): Use a time_t offset, not a long int offset.
69164         This undoes the 2003-06-04 change, which is no longer needed now
69165         that we have better overflow checking.
69166         (localtime_offset): Likewise.
69167
69168         (__mktime_internal): Avoid harmful overflow on hosts where time_t
69169         and long are 64-bit but int is only 32-bit.
69170         (ydhms_diff): Use long int to store year1 and yday1.
69171         Issue a compile-time diagnostic if long int is not wide enough.
69172
69173         (__mktime_internal): Use long int to store adjusted year and yday.
69174         Use plain C rather than preprocessor commands, if that doesn't
69175         affect efficiency.
69176         Check for overflow (and try to repair) after each probe
69177         rather than checking only at the very end.  This avoids some bugs
69178         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
69179         does not equal GMT offset at maximum time).
69180         Use integer to check for overflow rather than floating point; this
69181         is more portable to non-IEEE hosts, and is a tad faster.
69182         When we detect that we are oscillating between two values,
69183         don't check whether tm_isdst has the requested value, since
69184         we already know the answer.  When tm_isdst has the wrong value,
69185         use a different heuristic to find the right one, based on the
69186         extreme values actually observed in practice in tz2003a,
69187         rather than the (overly optimistic) "previous 3 calendar quarters".
69188
69189         (not_equal_tm, print_tm, check_result): Use "const T" rather than
69190         "T const" to accommodate glibc style.
69191         (check_result): Use less-confusing report format.  "long" -> "long int.
69192         (main): Likewise.
69193         Don't loop if the iteration overflows time_t.
69194         Allow a negative step in the iteration.
69195
69196 2003-07-06  Karl Berry  <karl@gnu.org>
69197
69198         * config/depcomp: update from automake.
69199         * config/config.sub: update from prep.
69200
69201 2003-07-03  Karl Berry  <karl@gnu.org>
69202
69203         * config/config.guess: update from prep.
69204
69205 2003-07-01  Paul Eggert  <eggert@twinsun.com>
69206
69207         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
69208         xreadlink.c now includes it unconditionally.
69209
69210 2003-07-01  Paul Eggert  <eggert@twinsun.com>
69211
69212         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
69213         having it depend on HAVE_SYS_TYPES_H.
69214
69215 2003-07-01  Bruno Haible  <bruno@clisp.org>
69216
69217         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
69218         <sys/types.h> should be sufficient.
69219         Reported by Paul Eggert.
69220
69221 2003-06-26  Karl Berry  <karl@gnu.org>
69222
69223         * config/depcomp: update from automake.
69224
69225 2003-06-26  Bruno Haible  <bruno@clisp.org>
69226
69227         * modules/human: Depend on module stdbool.
69228
69229 2003-06-25  Bruno Haible  <bruno@clisp.org>
69230
69231         * modules/readlink: New file.
69232         * modules/xreadlink: Depend on it.
69233         * MODULES.html.sh (func_all_modules): Add readlink.
69234
69235 2003-06-25  Bruno Haible  <bruno@clisp.org>
69236
69237         * m4/readlink.m4: New file.
69238
69239 2003-06-25  Bruno Haible  <bruno@clisp.org>
69240
69241         * lib/readlink.c: New file.
69242
69243 2003-06-22  Karl Berry  <karl@gnu.org>
69244
69245         * config/srclist.txt: update mkinstalldirs from automake.
69246         * config/mkinstalldirs: update.
69247
69248 2003-06-22  Bruno Haible  <bruno@clisp.org>
69249
69250         Portability to mingw32.
69251         * m4/ssize_t.m4: New file, from GNU gettext.
69252         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
69253         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
69254
69255 2003-06-22  Bruno Haible  <bruno@clisp.org>
69256
69257         * modules/safe-read: Add m4/ssize_t.m4.
69258         * modules/xreadlink: Add m4/ssize_t.m4.
69259
69260 2003-06-20  Bruno Haible  <bruno@clisp.org>
69261
69262         Assume C89, so PARAMS isn't needed.
69263         * lib/unicodeio.h (PARAMS): Remove.
69264         * lib/unicodeio.c: Don't use PARAMS.
69265
69266 2003-06-18  Karl Berry  <karl@gnu.org>
69267
69268         * config/config.{guess,sub}: update from prep.
69269
69270 2003-06-18  Jim Meyering  <jim@meyering.net>
69271
69272         Merge changes from coreutils.
69273         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
69274         Remove explicit declarations of xmalloc and realloc.
69275         Include xalloc.h.
69276         (read_utmp): Remove anachronistic cast of xmalloc.
69277
69278 2003-06-17  Paul Eggert  <eggert@twinsun.com>
69279
69280         Assume C89, so PARAMS isn't needed.
69281         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
69282         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
69283         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
69284         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
69285         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
69286         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
69287         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
69288         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
69289         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
69290         lib/xstrtod.h, lib/xstrtol.h: Likewise.
69291         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
69292         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
69293         no longer needed. Anyway, config.h should always be included before any
69294         other file.
69295
69296 2003-06-11  Simon Josefsson  <jas@extundo.com>
69297
69298         * modules/sysexits: New file.
69299         * MODULES.html.sh (func_all_modules): Add sysexits.
69300
69301 2003-06-11  Simon Josefsson  <jas@extundo.com>
69302
69303         * lib/sysexit_.h: New file.
69304
69305 2003-06-11  Derek Price  <derek@ximbiot.com>
69306
69307         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
69308         necessary.
69309
69310 2003-06-11  Bruno Haible  <bruno@clisp.org>
69311
69312         * m4/sysexits.m4: New file.
69313
69314 2003-06-10  Simon Josefsson  <jas@extundo.com>
69315
69316         * lib/argp.h: New file, from glibc.
69317         * lib/argp-ba.c: New file, from glibc.
69318         * lib/argp-eexst.c: New file, from glibc.
69319         * lib/argp-fmtstream.c: New file, from glibc.
69320         * lib/argp-fmtstream.h: New file, from glibc.
69321         * lib/argp-fs-xinl.c: New file, from glibc.
69322         * lib/argp-help.c: New file, from glibc.
69323         * lib/argp-namefrob.h: New file, from glibc.
69324         * lib/argp-parse.c: New file, from glibc.
69325         * lib/argp-pv.c: New file, from glibc.
69326         * lib/argp-pvh.c: New file, from glibc.
69327         * lib/argp-xinl.c: New file, from glibc.
69328
69329 2003-06-10  Simon Josefsson  <jas@extundo.com>
69330
69331         * modules/strchrnul: New file.
69332
69333 2003-06-10  Simon Josefsson  <jas@extundo.com>
69334
69335         * modules/argp: New file.
69336
69337 2003-06-10  Simon Josefsson  <jas@extundo.com>
69338
69339         * m4/strchrnul.m4: New file.
69340
69341 2003-06-10  Simon Josefsson  <jas@extundo.com>
69342
69343         * lib/strchrnul.h: New file.
69344         * lib/strchrnul.c: New file.
69345
69346 2003-06-10  Bruno Haible  <bruno@clisp.org>
69347
69348         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
69349
69350 2003-06-07  Karl Berry  <karl@gnu.org>
69351
69352         * config/config.{guess,sub}: update from prep.
69353
69354 2003-06-07  Jim Meyering  <jim@meyering.net>
69355
69356         * modules/strtod: Use $(...) notation, not @...@ for
69357         AC_REPLACE'd variables.
69358         * modules/localcharset: Likewise.
69359
69360 2003-06-07  Jim Meyering  <jim@meyering.net>
69361
69362         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
69363         in place of my name in the copyright comment.
69364         Remove definition and uses of __P.
69365
69366         From coreutils.
69367         * lib/stat.c: Don't declare xmalloc explicitly.
69368         Instead, include "xalloc.h".
69369         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
69370         xrealloc, and xcalloc return values.
69371         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
69372         Improve comment.
69373         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
69374
69375 2003-06-07  Bruno Haible  <bruno@clisp.org>
69376
69377         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
69378         avoid AC_CONFIG_LINKS.
69379         * modules/fnmatch (Makefile.am): Use explicit creation rule for
69380         fnmatch.h, to avoid AC_CONFIG_LINKS.
69381         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
69382
69383 2003-06-07  Bruno Haible  <bruno@clisp.org>
69384
69385         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
69386         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
69387         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
69388         directory.
69389         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
69390         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
69391         directory.
69392
69393 2003-06-06  Jim Meyering  <jim@meyering.net>
69394
69395         Merge from coreutils.
69396         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
69397         Consolidate declarations and initializations of *_base* locals.
69398
69399         Merge from coreutils.
69400         This avoids a core dump on systems without GNU putenv,
69401         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
69402         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
69403         (unsetenv): New static function, from GNU libc.
69404         (rpl_putenv): Use it.
69405
69406         * lib/modechange.c: Remove trailing blanks.
69407
69408         Merge from coreutils.
69409         * lib/fsusage.c: Remove declaration of statfs.
69410         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
69411
69412         * lib/posixtm.c: Include <stdbool.h> unconditionally.
69413
69414 2003-06-06  Jim Meyering  <jim@meyering.net>
69415
69416         * lib/stdbool_.h: Renamed from stdbool.h.in.
69417
69418 2003-06-06  Jim Meyering  <jim@meyering.net>
69419             Bruno Haible  <bruno@clisp.org>
69420
69421         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
69422         Adjust Makefile.am snippet not to redirect directly to target.
69423         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
69424
69425 2003-06-05  Paul Eggert  <eggert@twinsun.com>
69426
69427         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
69428         mismatch, look in future quarters as well as past.  This fixes a
69429         bug when processing fall-backwards gaps immediately after a long
69430         period of daylight-saving time.
69431
69432         * lib/mktime.c: Assume freestanding C89 or better.
69433         (HAVE_LIMITS_H): Remove.  Assume it's 1.
69434         (__P): Remove; not used.
69435         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
69436         (mktime, not_equal_tm, print_tm, check_result,
69437         main): Use prototypes.  Use const * where appropriate.
69438         (main): Fix typo in testing code that uncovered by above changes.
69439         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
69440
69441 2003-06-04  Paul Eggert  <eggert@twinsun.com>
69442
69443         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
69444         locale.h, localeconv.  This merges changes from coreutils.
69445
69446         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
69447         It can be removed after the next Autoconf is released.
69448         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
69449         needed.
69450
69451 2003-06-04  Paul Eggert  <eggert@twinsun.com>
69452
69453         * lib/mktime.c: Fix Debian bug 177940
69454         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
69455         (localtime_offset): Now long int, not time_t, because we want it
69456         to be guaranteed to be signed.  All uses changed.
69457         (__mktime_internal): If overflow would occur when adding offset,
69458         don't add it.
69459
69460         Merge 'human' changes from coreutils.  Rewrite to support
69461         locale-specific notations like thousands separators.
69462         * lib/human.c: Simplify authorship notice.
69463         Include human.h immediately after config.h.
69464         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
69465         <limits.h>: Do not include, since human.h does.
69466         (SIZE_MAX, UINTMAX_MAX): New macros.
69467         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
69468         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
69469         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
69470         (power_letter): Renamed from suffixes.
69471         (generate_suffix_backwards): Remove.
69472         (adjust_value): Now takes int style (because of human.h changes)
69473         and long double value (for greater precision on some platforms).
69474         (group_number): New function.
69475         (human_readable): Use it.  Use integer options, not enum.
69476         Put the options before the sizes in the arg list.
69477         Support all the new options.
69478         The old human_readable function has been removed;
69479         use inttostr.h instead.
69480         (human_readable, default_block_size, humblock):
69481         Use uintmax_t, not int, for block sizes.
69482         (human_readable_inexact, block_size_types): Remove.
69483         (block_size_opts): New constant.
69484         (human_options): Renamed from human_block_size, with new signature
69485         that allows block sizes up to UINTMAX_MAX.  All callers changed.
69486         * lib/human.h: Add copyright and authorship notice.
69487         Include <limits.h> and <stdbool.h> unconditionally.
69488         (PARAMS): Remove.  All uses removed.
69489         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
69490         (enum human_inexact_style): Remove tag; now a nameless enum.
69491         (human_floor, human_ceiling, human_round_to_even): Now have
69492         values 2, 0, 1 rather than -1, 1, 0.
69493         (human_group_digits, human_suppress_point_zero, human_autoscale,
69494         human_base_1024, human_SI, human_B): New constants.
69495         (human_readable_inexact, human_block_size): Remove.
69496         (human_readable): Size args are now uintmax_t, not int.
69497         (human_options): New decl.
69498
69499         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
69500         unnecessary now that we assume C89 or better.  This change
69501         imported from coreutils.
69502
69503         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
69504         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
69505         in the 2003-05-30 sync from glibc.
69506
69507         .h files should stand alone, but we shouldn't include <sys/types.h>
69508         if we can get away with just <stddef.h>.
69509
69510         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
69511         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
69512         rather than <sys/types.h>, as we merely need size_t.
69513         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
69514         to get size_t.
69515         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
69516         Include <stdio.h>, to get FILE.
69517         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
69518         memcasecmp.h has included <stddef.h> and all we need is size_t.
69519         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
69520         our interface, instead of including <sys/types.h>
69521
69522 2003-06-04  Paul Eggert  <eggert@twinsun.com>
69523
69524         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
69525         now, as glibc mktime is buggy on non-glibc systems.
69526
69527 2003-06-03  Karl Berry  <karl@gnu.org>
69528
69529         * config/config.sub: update from prep.
69530
69531 2003-06-02  Paul Eggert  <eggert@twinsun.com>
69532
69533         [from coreutils]
69534         Fix some minor time-related bugs with POSIX time arguments.
69535         Some valid time stamps were being rejected (notably -1, and
69536         time stamps before 1900 on 64-bit hosts).  And some invalid
69537         time stamps were being accepted, e.g. September 31.
69538
69539         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
69540         that we can return (time_t) -1 successfully.
69541         * lib/posixtm.c: Likewise.
69542         [HAVE_STDBOOL_H]: Include <stdbool.h>.
69543         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
69544         (t): Remove static var.
69545         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
69546         of static var.  All uses changed.
69547         (year): Do not reject years before 1900; they can occur with
69548         64-bit time_t.
69549         (posix_time_parse): Do not check for out-of-range components;
69550         that is now the caller's responsibility, since our checks were
69551         only approximations.
69552         (posixtime): Use mktime to check for out-of-range components,
69553         since it knows them exactly.
69554         If mktime returns (time_t) -1, check whether an error actually occurred
69555         by invoking localtime on -1.
69556         (main) [TEST_POSIXTIME]: Check for input data errors, and report
69557         posixtime failures better.
69558         Improve the test data (in comments only).
69559
69560 2003-06-02  Karl Berry  <karl@gnu.org>
69561
69562         * config/mkinstalldirs (version): new variable.
69563         (--version): new option.
69564         (usage): improve message.
69565
69566 2003-05-30  Karl Berry  <karl@gnu.org>
69567
69568         * lib/mktime.c: update from libc.
69569
69570 2003-05-30  Bruno Haible  <bruno@clisp.org>
69571
69572         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
69573         * config/config.rpath: Upgrade to gettext-0.12.1.
69574
69575 2003-05-30  Bruno Haible  <bruno@clisp.org>
69576
69577         * m4/gettext.m4: Upgrade to gettext-0.12.1.
69578         * m4/nls.m4: New file, from gettext-0.12.1.
69579         * m4/po.m4: New file, from gettext-0.12.1.
69580         * m4/progtest.m4: Upgrade to gettext-0.12.1.
69581
69582 2003-05-30  Bruno Haible  <bruno@clisp.org>
69583
69584         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
69585         * lib/localcharset.h: Likewise.
69586         * lib/localcharset.c: Likewise.
69587
69588 2003-05-29  Karl Berry  <karl@gnu.org>
69589
69590         * config/config.rpath: update from gettext.
69591
69592 2003-05-28  Paul Eggert  <eggert@twinsun.com>
69593
69594         Assume the headers required for C89 freestanding compilers.
69595         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
69596         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
69597         * m4/human.m4 (gl_HUMAN): Likewise.
69598         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
69599         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
69600         * m4/userspec.m4 (gl_USERSPEC): Likewise.
69601         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
69602         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
69603         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
69604
69605 2003-05-28  Paul Eggert  <eggert@twinsun.com>
69606
69607         Assume the headers required for C89 freestanding compilers.
69608         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
69609         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
69610         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
69611         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
69612         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
69613         define, since <limits.h> is guaranteed to do that.
69614         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
69615         * lib/exclude.c: Include <stdbool.h> unconditionally.
69616         * lib/tempname.c: Include <stddef.h> unconditionally.
69617         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
69618         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
69619         <stddef.h> does that.
69620         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
69621         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
69622         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
69623         needed.
69624         * lib/xstrtol.c: Likewise.
69625         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
69626         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
69627
69628         * lib/addext.c (addext): Use assignment rather than cast, to avoid
69629         warnings on some platforms.
69630
69631         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
69632         arbitrarily.
69633
69634 2003-05-26  Jim Meyering  <jim@meyering.net>
69635
69636         Merge in a change from coreutils:
69637         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
69638         that is guaranteed to be `no'.  Use `no_such_member' to indicate
69639         that condition, rather than `-1' which is slightly misleading.
69640         Change the name of the cache variable to have the gl_ prefix.
69641         Prompted by a patch from Richard Dawe for DJGPP.
69642
69643 2003-05-24  Karl Berry  <karl@gnu.org>
69644
69645         * config/config.guess: update from prep.
69646
69647 2003-05-22  Karl Berry  <karl@gnu.org>
69648
69649         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
69650
69651 2003-05-20  Karl Berry  <karl@gnu.org>
69652
69653         * config/config.guess: update from prep.
69654
69655 2003-05-18  Karl Berry  <karl@gnu.org>
69656
69657         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
69658         might actually be set by the user.
69659
69660         * config/depcomp, install-sh, mdate-sh: update from automake.
69661
69662 2003-05-17  Bruno Haible  <bruno@clisp.org>
69663
69664         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
69665         invalid expansion for AC_EGREP_CPP.
69666         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
69667         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
69668         Suggested by Akim Demaille <akim@epita.fr> in
69669         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
69670
69671 2003-05-12  Jim Meyering  <jim@meyering.net>
69672
69673         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
69674         the space-padded-by-default conversion specifiers, %e, %k, %l.
69675
69676 2003-05-12  Bruno Haible  <bruno@clisp.org>
69677
69678         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
69679         the string is longer than 4 KB.
69680
69681 2003-05-11  Karl Berry  <karl@gnu.org>
69682
69683         * config/config.{guess,sub}: update from prep.
69684
69685 2003-05-09  Bruno Haible  <bruno@clisp.org>
69686
69687         * modules/error: Add m4/strerror_r.m4 to file list.
69688
69689 2003-05-03  Bruno Haible  <bruno@clisp.org>
69690
69691         Upgrade to Unicode-4.0.
69692         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
69693         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
69694         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
69695         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
69696         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
69697         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
69698         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
69699         Change width of U+E0100..U+E01EF from 1 to 0.
69700
69701 2003-04-25  Jim Meyering  <jim@meyering.net>
69702
69703         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
69704         of type size_t, not int.
69705
69706 2003-04-25  Bruno Haible  <bruno@clisp.org>
69707
69708         * lib/copy-file.c: Include <stddef.h>, for size_t.
69709
69710 2003-04-21  Paul Eggert  <eggert@twinsun.com>
69711
69712         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
69713         code which expansion is under static control.  Patch imported from
69714         Akim Demaille's patch to Bison; see
69715         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
69716
69717 2003-04-14  Bruno Haible  <bruno@clisp.org>
69718
69719         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
69720
69721 2003-04-11  Jim Meyering  <jim@meyering.net>
69722
69723         Merge changes from Coreutils.
69724
69725         2003-03-22  Jim Meyering  <jim@meyering.net>
69726
69727         * lib/strftime.c (widen): Cast alloca return value to proper type.
69728
69729         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
69730
69731         From GNU libc.
69732         * lib/strftime.c (my_strftime): Handle very large width
69733         specifications for numeric values correctly.  Improve checks for
69734         overflow.
69735
69736         2003-01-19  Jim Meyering  <jim@meyering.net>
69737
69738         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
69739         definitions.
69740         (nl_get_alt_digit) [! defined my_strftime]: Define.
69741         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
69742         _nl_get_alt_digit and _nl_get_walt_digit.
69743
69744         * lib/strftime.c (my_strftime): Merge in locale-related changes from
69745         libc. These changes have no effect outside of _LIBC.
69746
69747 2003-04-10  Bruno Haible  <bruno@clisp.org>
69748
69749         * modules/findprog: New file.
69750         * MODULES.html.sh (func_all_modules): Add it.
69751
69752 2003-04-10  Bruno Haible  <bruno@clisp.org>
69753
69754         * m4/findprog.m4: New file.
69755         * m4/eaccess.m4: New file.
69756
69757 2003-04-10  Bruno Haible  <bruno@clisp.org>
69758
69759         * lib/findprog.h: New file, from GNU gettext.
69760         * lib/findprog.c: New file, from GNU gettext.
69761
69762 2003-04-05  Jim Meyering  <jim@meyering.net>
69763
69764         Merge changes from Coreutils.
69765
69766         * lib/exclude.h (PARAMS): Remove definition and uses.
69767         * lib/exclude.c: Remove uses of `PARAMS'.
69768
69769         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
69770         Add test-cases for DOS filenames. Declare program_name.
69771         (main): Set up program_name.  Patch by Rich Dawe.
69772
69773         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
69774         error from mntctl.
69775         Use mntctl's return value to drive the entry-processing loop, since
69776         we can't rely on the value of the vmt_length member in the last
69777         entry.  On some systems doing so could result in exhausting
69778         virtual memory.  Based in part on a patch from Mike Jetzer.
69779
69780 2003-04-04  Bruno Haible  <bruno@clisp.org>
69781
69782         * modules/linebreak: New file.
69783         * MODULES.html.sh (func_all_modules): Add it.
69784
69785 2003-04-04  Bruno Haible  <bruno@clisp.org>
69786
69787         * m4/linebreak.m4: New file.
69788
69789 2003-04-04  Bruno Haible  <bruno@clisp.org>
69790
69791         * lib/linebreak.h: New file, from GNU gettext.
69792         * lib/linebreak.c: New file, from GNU gettext with slight
69793         modifications.
69794         * lib/lbrkprop.h: New file, from GNU gettext.
69795
69796 2003-04-03  Bruno Haible  <bruno@clisp.org>
69797
69798         * modules/utf8-ucs4: New file.
69799         * modules/utf16-ucs4: New file.
69800         * modules/ucs4-utf8: New file.
69801         * modules/ucs4-utf16: New file.
69802         * MODULES.html.sh (func_all_modules): Add them.
69803
69804 2003-04-03  Bruno Haible  <bruno@clisp.org>
69805
69806         * m4/utf-ucs4.m4: New file.
69807         * m4/ucs4-utf.m4: New file.
69808
69809 2003-04-03  Bruno Haible  <bruno@clisp.org>
69810
69811         * lib/utf8-ucs4.h: New file, from GNU gettext.
69812         * lib/utf16-ucs4.h: New file, from GNU gettext.
69813         * lib/ucs4-utf8.h: New file, from GNU gettext.
69814         * lib/ucs4-utf16.h: New file, from GNU gettext.
69815
69816 2003-04-02  Bruno Haible  <bruno@clisp.org>
69817
69818         * modules/binary-io: New file.
69819         * MODULES.html.sh (func_all_modules): Add it.
69820
69821 2003-04-02  Bruno Haible  <bruno@clisp.org>
69822
69823         * lib/binary-io.h: New file, from GNU gettext.
69824
69825 2003-04-01  Bruno Haible  <bruno@clisp.org>
69826
69827         * modules/pathname: New file.
69828         * MODULES.html.sh (func_all_modules): Add it.
69829
69830 2003-04-01  Bruno Haible  <bruno@clisp.org>
69831
69832         * lib/pathname.h: New file, from GNU gettext.
69833         * lib/concatpath.c: New file, from GNU gettext.
69834
69835 2003-03-30  Bruno Haible  <bruno@clisp.org>
69836
69837         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
69838
69839 2003-03-30  Bruno Haible  <bruno@clisp.org>
69840
69841         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
69842         function chown() doesn't exist.
69843
69844 2003-03-28  Bruno Haible  <bruno@clisp.org>
69845
69846         * modules/copy-file: New file.
69847         * MODULES.html.sh (func_all_modules): Add it.
69848
69849 2003-03-28  Bruno Haible  <bruno@clisp.org>
69850
69851         * m4/copy-file.m4: New file.
69852
69853 2003-03-28  Bruno Haible  <bruno@clisp.org>
69854
69855         * lib/copy-file.h: New file, from GNU gettext.
69856         * lib/copy-file.c: New file, from GNU gettext.
69857
69858 2003-03-18  Jim Meyering  <jim@meyering.net>
69859
69860         * lib/quote.c (quote_n): Fix typo in comment.
69861
69862 2003-03-18  Bruno Haible  <bruno@clisp.org>
69863
69864         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
69865         checking.
69866         * m4/onceonly_2_57.m4: Likewise.
69867
69868 2003-03-17  Bruno Haible  <bruno@clisp.org>
69869
69870         * m4/onceonly.m4: Require autoconf 2.54 or newer.
69871         (m4_quote): Remove macro.
69872         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
69873
69874 2003-03-14  Jim Meyering  <jim@meyering.net>
69875
69876         Merge changes from Coreutils.
69877         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
69878         to be const, in order to avoid warnings.
69879         (obstack_room): Likewise.
69880         (obstack_empty_p): Likewise.
69881
69882 2003-03-14  Bruno Haible  <bruno@clisp.org>
69883
69884         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
69885         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
69886
69887 2003-03-13  Paul Eggert  <eggert@twinsun.com>
69888
69889         Merge changes from Bison.
69890         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
69891         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
69892         when compiling Bison 1.875's `bitset bset = obstack_alloc
69893         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
69894         * lib/hash.c: Include <stdbool.h> unconditionally.
69895
69896 2003-03-13  Paul Eggert  <eggert@twinsun.com>
69897
69898         * m4/onceonly.m4 (m4_quote): New macro.
69899         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
69900         Quote AC_FOREACH variable-expansions properly.
69901
69902 2003-03-13  Paul Eggert  <eggert@twinsun.com>
69903
69904         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
69905
69906 2003-03-09  Paul Eggert  <eggert@twinsun.com>
69907
69908         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
69909         Reported by Bruce Becker; see:
69910         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
69911
69912 2003-03-03  Paul Eggert  <eggert@twinsun.com>
69913             Bruno Haible  <bruno@clisp.org>
69914
69915         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
69916         Reported by John Hughes, see
69917         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
69918
69919 2003-02-20  Bruno Haible  <bruno@clisp.org>
69920
69921         * MODULES.html.sh (func_all_modules): Add poll.
69922
69923 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
69924
69925         * modules/poll: New file.
69926
69927 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
69928
69929         * lib/poll_.h: New file.
69930         * lib/poll.c: New file.
69931
69932 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
69933
69934         * m4/poll.m4: New file.
69935
69936 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
69937
69938         * modules/mathl: New file.
69939
69940 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
69941
69942         * lib/mathl.h: New file.
69943         * lib/acosl.c: New file.
69944         * lib/asinl.c: New file.
69945         * lib/atanl.c: New file.
69946         * lib/ceill.c: New file.
69947         * lib/cosl.c: New file.
69948         * lib/expl.c: New file.
69949         * lib/floorl.c: New file.
69950         * lib/frexpl.c: New file.
69951         * lib/ldexpl.c: New file.
69952         * lib/logl.c: New file.
69953         * lib/sincosl.c: New file.
69954         * lib/sinl.c: New file.
69955         * lib/sqrtl.c: New file.
69956         * lib/tanl.c: New file.
69957         * lib/trigl.c: New file.
69958         * lib/trigl.h: New file.
69959
69960 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
69961
69962         * m4/mathl.m4: New file.
69963
69964 2003-02-18  Bruno Haible  <bruno@clisp.org>
69965
69966         * MODULES.html.sh (func_all_modules): Add mathl.
69967
69968 2003-02-17  Bruno Haible  <bruno@clisp.org>
69969
69970         * modules/mkdtemp: New module.
69971         * MODULES.html.sh (func_all_modules): Add it.
69972
69973 2003-02-17  Bruno Haible  <bruno@clisp.org>
69974
69975         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
69976
69977 2003-02-17  Bruno Haible  <bruno@clisp.org>
69978
69979         * lib/mkdtemp.h: New file, from GNU gettext.
69980         * lib/mkdtemp.c: New file, from GNU gettext.
69981
69982 2003-02-02  Jim Meyering  <jim@meyering.net>
69983
69984         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
69985         e.g. glibc-2.2.93.
69986
69987 2003-01-31  Bruno Haible  <bruno@clisp.org>
69988
69989         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
69990         'rpl_rename'.
69991         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
69992         'rpl_strnlen'.
69993         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
69994         'rpl_strtod'.
69995         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
69996         'rpl_utime'.
69997
69998 2003-01-31  Bruno Haible  <bruno@clisp.org>
69999
70000         * lib/rename.c: #undef rename before defining rpl_rename.
70001         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
70002
70003 2003-01-30  Bruno Haible  <bruno@clisp.org>
70004
70005         * modules/vasnprintf, modules/vasprintf: New modules.
70006         * MODULES.html.sh (func_all_modules): Add them.
70007
70008 2003-01-30  Bruno Haible  <bruno@clisp.org>
70009
70010         * m4/signed.m4: New file, from GNU gettext.
70011         * m4/longdouble.m4: New file, from GNU gettext.
70012         * m4/wchar_t.m4: New file, from GNU gettext.
70013         * m4/wint_t.m4: New file, from GNU gettext.
70014         * m4/vasnprintf.m4: New file.
70015         * m4/vasprintf.m4: New file.
70016
70017 2003-01-30  Bruno Haible  <bruno@clisp.org>
70018
70019         * lib/printf-args.h: New file, from GNU gettext.
70020         * lib/printf-args.c: New file, from GNU gettext.
70021         * lib/printf-parse.h: New file, from GNU gettext.
70022         * lib/printf-parse.c: New file, from GNU gettext.
70023         * lib/vasnprintf.h: New file, from GNU gettext.
70024         * lib/vasnprintf.c: New file, from GNU gettext.
70025         * lib/asnprintf.c: New file, from GNU gettext.
70026         * lib/vasprintf.h: New file, from GNU gettext with modifications.
70027         * lib/vasprintf.c: New file, from GNU gettext.
70028         * lib/asprintf.c: New file, from GNU gettext.
70029
70030 2003-01-29  Bruno Haible  <bruno@clisp.org>
70031
70032         * modules/stpncpy: New module.
70033         * MODULES.html.sh (func_all_modules): Add it.
70034
70035 2003-01-29  Bruno Haible  <bruno@clisp.org>
70036
70037         * m4/stpncpy.m4: New file.
70038
70039 2003-01-29  Bruno Haible  <bruno@clisp.org>
70040
70041         * lib/stpncpy.h: New file, from GNU gettext with modifications.
70042         * lib/stpncpy.c: New file, from GNU gettext with modifications.
70043
70044 2003-01-28  Bruno Haible  <bruno@clisp.org>
70045
70046         * modules/c-ctype: New module.
70047         * MODULES.html.sh (func_all_modules): Add it.
70048
70049 2003-01-28  Bruno Haible  <bruno@clisp.org>
70050
70051         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
70052         Paul Eggert.
70053         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
70054         Paul Eggert.
70055
70056 2003-01-27  Bruno Haible  <bruno@clisp.org>
70057
70058         * modules/xsetenv: New module.
70059         * MODULES.html.sh (func_all_modules): Add it.
70060
70061 2003-01-27  Bruno Haible  <bruno@clisp.org>
70062
70063         * lib/xsetenv.h: New file, from GNU gettext.
70064         * lib/xsetenv.c: New file, from GNU gettext.
70065
70066 2003-01-23  Jim Meyering  <jim@meyering.net>
70067
70068         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
70069         from working on systems without dirfd (at least Irix and OSF1/Tru64).
70070
70071 2003-01-23  Bruno Haible  <bruno@clisp.org>
70072
70073         * modules/minmax: New module.
70074         * MODULES.html.sh (func_all_modules): Add it.
70075
70076 2003-01-23  Bruno Haible  <bruno@clisp.org>
70077
70078         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
70079         Eggert.
70080
70081 2003-01-22  Bruno Haible  <bruno@clisp.org>
70082
70083         * modules/exit: New module.
70084         * MODULES.html.sh (func_all_modules): Add it.
70085
70086 2003-01-22  Bruno Haible  <bruno@clisp.org>
70087
70088         * lib/exit.h: New file, from GNU gettext.
70089
70090 2003-01-19  Bruno Haible  <bruno@clisp.org>
70091
70092         * gnulib-tool: Recognize option --extract-maintainer.
70093         (func_get_maintainer): New function.
70094         * modules/*: Add Maintainer entry.
70095
70096 2003-01-16  Jim Meyering  <jim@meyering.net>
70097
70098         * m4/regex.m4: The `regex' struct is both input and output.
70099         Initialize it before each use.  Patch by Tim Waugh.
70100
70101 2003-01-16  Bruno Haible  <bruno@clisp.org>
70102
70103         * MODULES.html.sh: Add a table of contents. Add the module name as
70104         leftmost column. Add hyperlinks.
70105
70106 2003-01-15  Bruno Haible  <bruno@clisp.org>
70107
70108         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
70109
70110 2003-01-15  Bruno Haible  <bruno@clisp.org>
70111
70112         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
70113         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
70114         suffix.
70115
70116 2003-01-15  Bruno Haible  <bruno@clisp.org>
70117
70118         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
70119
70120 2003-01-15  Bruno Haible  <bruno@clisp.org>
70121
70122         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
70123         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
70124
70125 2003-01-14  Jim Meyering  <jim@meyering.net>
70126
70127         * lib/same.c (same_name): Tweak a comment.
70128
70129 2003-01-14  Bruno Haible  <bruno@clisp.org>
70130
70131         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
70132         when a string comparison is sufficient.
70133
70134 2003-01-14  Bruno Haible  <bruno@clisp.org>
70135
70136         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
70137         'unsigned int'.
70138
70139 2003-01-14  Bruno Haible  <bruno@clisp.org>
70140
70141         * lib/hash-pjw.c: Add comment about low quality of this function.
70142
70143 2003-01-13  Bruno Haible  <bruno@clisp.org>
70144
70145         * modules/stpcpy: Distribute lib/stpcpy.h.
70146         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
70147
70148 2003-01-13  Bruno Haible  <bruno@clisp.org>
70149
70150         * modules/*: Add a description.
70151         * modules/strpbrk: Fix Makefile.am snippet.
70152         * modules/strtoimax: Fix dependencies.
70153         * modules/strtoumax: Likewise.
70154
70155 2003-01-13  Bruno Haible  <bruno@clisp.org>
70156
70157         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
70158         * modules/alloca (Makefile.am): All object files depend on alloca.h.
70159         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
70160
70161 2003-01-13  Bruno Haible  <bruno@clisp.org>
70162
70163         * gnulib-tool (func_create_testdir): Store config/* files in the main
70164         directory.
70165         * config.rpath: Move to ...
70166         * config/config.rpath: ... here.
70167         * modules/gettext: Contains config/config.rpath, not config.rpath.
70168         * modules/iconv: Likewise.
70169
70170 2003-01-12  Paul Eggert  <eggert@twinsun.com>
70171
70172         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
70173         to avoid collisions with libcurses and libreadline.
70174
70175         * m4/getstr.m4: Remove.
70176         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
70177
70178 2003-01-12  Paul Eggert  <eggert@twinsun.com>
70179
70180         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
70181         to avoid collisions with libcurses and libreadline.
70182
70183         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
70184         * lib/getstr.h, getstr.c: Remove.
70185         * lib/getline.c: Include "getline.h", to check interface.
70186         Move body of old getstr.c here: this defines MIN_CHUNK and
70187         declares getdelim2, which is renamed from getstr.
70188         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
70189
70190         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
70191         All uses changed.
70192         * lib/linebuffer.h: Likewise.
70193         (readline): Remove backward-compatibility macro.
70194
70195 2003-01-12  Paul Eggert  <eggert@twinsun.com>
70196
70197         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
70198         to avoid collisions with libcurses and libreadline.
70199         * getstr: Remove.
70200         * MODULES.html.sh: Remove getstr.
70201         * modules/getline: Depend on unlocked-io, not getstr.
70202
70203 2003-01-12  Jim Meyering  <jim@meyering.net>
70204
70205         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
70206
70207 2003-01-10  Bruno Haible  <bruno@clisp.org>
70208
70209         * modules/alloca: Change Makefile.am requirements. Simplify Include
70210         requirements. Add lib/alloca_.h to file list.
70211
70212 2003-01-10  Bruno Haible  <bruno@clisp.org>
70213
70214         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
70215
70216 2003-01-10  Bruno Haible  <bruno@clisp.org>
70217
70218         * lib/alloca_.h: New file.
70219         * lib/getdate.y: Unconditionally include alloca.h.
70220         * lib/makepath.c: Likewise.
70221         * lib/setenv.c: Likewise.
70222         * lib/userspec.c: Likewise.
70223
70224 2003-01-09  Karl Berry  <karl@gnu.org>
70225
70226         * MODULES.html.sh: include `dirname $0` in PATH, to find
70227         gnulib-tool.
70228
70229 2003-01-09  Bruno Haible  <bruno@clisp.org>
70230
70231         * modules/stdbool: Change configure.ac, Makefile.am requirements.
70232         Simplify Include requirements. Add lib/stdbool.h.in to file list.
70233
70234 2003-01-09  Bruno Haible  <bruno@clisp.org>
70235
70236         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
70237
70238 2003-01-09  Bruno Haible  <bruno@clisp.org>
70239
70240         * lib/stdbool.h.in: New file.
70241
70242 2003-01-09  Bruno Haible  <bruno@clisp.org>
70243
70244         * gnulib-tool (func_all_modules): Ignore files ending in ~.
70245         * MODULES.html.sh: Likewise.
70246
70247 2003-01-08  Jim Meyering  <jim@meyering.net>
70248
70249         * lib/full-write.c: Undefine and define-away `const' after inclusion
70250         of errno.h, not before.  Suggestion from Bruno Haible.
70251
70252 2003-01-08  Bruno Haible  <bruno@clisp.org>
70253
70254         * modules/full-read: Depend on full-write.
70255
70256 2003-01-08  Bruno Haible  <bruno@clisp.org>
70257
70258         * lib/safe-read.c: Include specification header first, to ensure its
70259         selfcontainedness.
70260         * lib/full-write.c: Likewise.
70261
70262 2003-01-07  Jim Meyering  <jim@meyering.net>
70263
70264         * lib/full-write.c: Rework so that it may serve to define full_read,
70265         too.
70266         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
70267
70268 2003-01-07  Bruno Haible  <bruno@clisp.org>
70269
70270         * lib/strtoimax.c: Include <stdint.h> as an alternative to
70271         <inttypes.h>.
70272         * lib/xstrtol.h: Likewise.
70273         * lib/xstrtoimax.c: Likewise.
70274         * lib/xstrtoumax.c: Likewise.
70275         * lib/human.h: Likewise.
70276
70277         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
70278         on systems that have <inttypes.h> but not <stdint.h>.
70279
70280 2003-01-07  Bruno Haible  <bruno@clisp.org>
70281
70282         * MODULES.html.sh: Add copyright notice.
70283         (missed_files): Omit CVS directory entries.
70284         (func_module): Make it work with sed-3.02.
70285         * MODULES.txt: Remove file.
70286
70287 2003-01-06  Jim Meyering  <jim@meyering.net>
70288
70289         * lib/version-etc.c: Update year in translatable copyright string.
70290
70291 2003-01-03  Karl Berry  <karl@gnu.org>
70292
70293         * config/config.{guess,sub}: update from prep.
70294
70295 2003-01-02  Karl Berry  <karl@gnu.org>
70296
70297         * doc/COPYING.DOC: belatedly updated to 1.2.
70298
70299 2003-01-01  Karl Berry  <karl@gnu.org>
70300
70301         * gnulib-tool (func_verify_module): report module name $module in
70302         error message, not $1.
70303         * gnulib-tool (create-testdir): don't complain if destdir couldn't
70304         be created, only if it doesn't exist.
70305         * gnulib-tool (last_checkin_date): don't expand the $Date here.
70306
70307 2002-12-31  Paul Eggert  <eggert@twinsun.com>
70308
70309         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
70310
70311 2002-12-31  Paul Eggert  <eggert@twinsun.com>
70312
70313         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
70314         memcmp if strcoll doesn't work.
70315
70316 2002-12-31  Bruno Haible  <bruno@clisp.org>
70317
70318         * lib/utime.c (utime_null): No need to call ftruncate if the file was
70319         nonempty.
70320
70321 2002-12-31  Bruno Haible  <bruno@clisp.org>
70322
70323         * lib/memcoll.c (STRCOLL): New macro.
70324         (memcoll): Use it.
70325
70326 2002-12-31  Bruno Haible  <bruno@clisp.org>
70327
70328         * lib/localcharset.h: New file.
70329         * lib/localcharset.c: Include it.
70330         * lib/unicodeio.c: Likewise.
70331
70332 2002-12-31  Bruno Haible  <bruno@clisp.org>
70333
70334         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
70335         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
70336
70337 2002-12-31  Bruno Haible  <bruno@clisp.org>
70338
70339         * lib/getline.h: Include <stddef.h>, for size_t.
70340
70341         * lib/unicodeio.h: Include <stddef.h>, for size_t.
70342         * lib/unicodeio.c: Don't include <stddef.h>.
70343
70344 2002-12-31  Bruno Haible  <bruno@clisp.org>
70345
70346         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
70347         HAVE_TM_ZONE.
70348
70349 2002-12-24  Karl Berry  <karl@gnu.org>
70350
70351         * config/config.guess: update from prep.
70352
70353 2002-12-24  Bruno Haible  <bruno@clisp.org>
70354
70355         General infrasructure.
70356         * m4/README: Rewritten.
70357         * m4/onceonly.m4: New file.
70358         * m4/onceonly_2_57.m4: New file.
70359
70360         Module atexit.
70361         * m4/atexit.m4: New file.
70362
70363         Module strtod.
70364         * m4/strtod.m4: New file.
70365
70366         Module strtol.
70367         * m4/strtol.m4: New file.
70368
70369         Module strtoul.
70370         * m4/strtoul.m4: New file.
70371
70372         Module memchr.
70373         * m4/memchr.m4: New file.
70374
70375         Module memcmp.
70376         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
70377         (jm_FUNC_MEMCMP): Invoke it.
70378
70379         Module memcpy.
70380         * m4/memcpy.m4: New file.
70381
70382         Module memmove.
70383         * m4/memmove.m4: New file.
70384
70385         Module memset.
70386         * m4/memset.m4: New file.
70387
70388         Module strcspn.
70389         * m4/strcspn.m4: New file.
70390
70391         Module strpbrk.
70392         * m4/strpbrk.m4: New file.
70393
70394         Module strstr.
70395         * m4/strstr.m4: New file.
70396
70397         Module strerror.
70398         * m4/strerror.m4: New file.
70399
70400         Module mktime.
70401         * m4/mktime.m4: Renamed from jm-mktime.m4.
70402         (gl_PREREQ_MKTIME): New macro.
70403         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
70404
70405         Module malloc.
70406         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
70407         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
70408         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
70409
70410         Module realloc.
70411         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
70412         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
70413         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
70414
70415         Module strftime.
70416         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
70417         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
70418         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
70419         gl_TM_GMTOFF.
70420         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
70421
70422         Module xalloc.
70423         * m4/xalloc.m4: New file.
70424
70425         Module alloca.
70426         * m4/alloca.m4: New file.
70427
70428         Module putenv.
70429         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
70430         (jm_FUNC_PUTENV): Invoke it.
70431
70432         Module setenv.
70433         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
70434         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
70435         when invoked twice.
70436         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
70437         gt_FUNC_SETENV.
70438
70439         Module memrchr.
70440         * m4/memrchr.m4: New file.
70441
70442         Module stpcpy.
70443         * m4/stpcpy.m4: New file.
70444
70445         Module strcase.
70446         * m4/strcase.m4: New file.
70447
70448         Module strdup.
70449         * m4/strdup.m4: New file.
70450
70451         Module strnlen.
70452         * m4/strnlen.m4: New file.
70453
70454         Module strndup.
70455         * m4/strndup.m4: New file.
70456
70457         Module xstrtod.
70458         * m4/xstrtod.m4: New file.
70459
70460         Module xstrtol.
70461         * m4/xstrtol.m4: New file.
70462
70463         Module getdate.
70464         * m4/getdate.m4: New file.
70465
70466         Module unlocked-io.
70467         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
70468         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
70469         * m4/jm-glibc-io.m4n: Remove file.
70470
70471         Module long-options.
70472         * m4/long-options.m4: New file.
70473
70474         Module md5.
70475         * m4/md5.m4: New file.
70476
70477         Module sha.
70478         * m4/sha.m4: New file.
70479
70480         Module getstr.
70481         * m4/getstr.m4: New file.
70482
70483         Module getline.
70484         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
70485         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
70486         <sys/types.h>, for size_t. Use the function name gnu_getline, not
70487         simply getline. Infoke gl_PREREQ_GETLINE.
70488
70489         Module obstack.
70490         * m4/obstack.m4: New file.
70491
70492         Module hash.
70493         * m4/hash.m4: New file.
70494
70495         Module readtokens.
70496         * m4/readtokens.m4: New file.
70497
70498         Module strverscmp.
70499         * m4/strverscmp.m4: New file.
70500
70501         Module stdbool.
70502         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
70503         OSF/1.
70504
70505         Module strtoll.
70506         * m4/strtoll.m4: New file.
70507
70508         Module strtoull.
70509         * m4/strtoull.m4: New file.
70510
70511         Module strtoimax.
70512         * m4/strtoimax.m4: New file.
70513
70514         Module strtoumax.
70515         * m4/strtoumax.m4: New file.
70516
70517         Module xstrtoimax.
70518         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
70519         jm_AC_PREREQ_XSTRTOIMAX.
70520         Moved the strtol prerequisites to strtol.m4.
70521         Moved the strtoll prerequisites to strtoll.m4.
70522         Moved the strtoimax prerequisites to strtoimax.m4.
70523
70524         Module xstrtoumax.
70525         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
70526         jm_AC_PREREQ_XSTRTOUMAX.
70527         Moved the strtoul prerequisites to strtoul.m4.
70528         Moved the strtoull prerequisites to strtoull.m4.
70529         Moved the strtoumax prerequisites to strtoumax.m4.
70530
70531         Module chown.
70532         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
70533         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
70534
70535         Module dup2.
70536         * m4/dup2.m4: New file.
70537
70538         Module ftruncate.
70539         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
70540         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
70541
70542         Module getgroups.
70543         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
70544         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
70545
70546         Module gettimeofday.
70547         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
70548         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
70549         gl_PREREQ_GETTIMEOFDAY.
70550
70551         Module mkdir.
70552         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
70553         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
70554
70555         Module mkstemp.
70556         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
70557         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
70558         jm_AC_TYPE_UINTMAX_T.
70559         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
70560
70561         Module stat.
70562         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
70563         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
70564
70565         Module lstat.
70566         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
70567         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
70568
70569         Module timespec.
70570         * m4/timespec.m4 (gl_TIMESPEC): New macro.
70571         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
70572         * m4/st_mtim.m4: Indentation.
70573
70574         Module nanosleep.
70575         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
70576         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
70577         gl_PREREQ_NANOSLEEP.
70578
70579         Module regex.
70580         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
70581         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
70582         (gl_REGEX): New macro.
70583
70584         Module rename.
70585         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
70586         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
70587
70588         Module rmdir.
70589         * m4/rmdir.m4: New file.
70590
70591         Module utime.
70592         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
70593         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
70594         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
70595
70596         Module dirname.
70597         * m4/dirname.m4: New file.
70598
70599         Module getopt.
70600         * m4/getopt.m4: New file.
70601
70602         Module unistd-safer.
70603         * m4/unistd-safer.m4: New file.
70604
70605         Module fnmatch.
70606         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
70607         declaration.
70608         (gl_PREREQ_FNMATCH_EXTRA): New macro.
70609         (gl_FUNC_FNMATCH_POSIX): New macro.
70610         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
70611         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
70612         simply fnmatch.
70613
70614         Module exclude.
70615         * m4/exclude.m4: New file.
70616
70617         Module human.
70618         * m4/human.m4: New file.
70619
70620         Module acl.
70621         * m4/acl.m4: Nop.
70622
70623         Module backupfile.
70624         * m4/backupfile.m4: New file.
70625         * m4/d-ino.m4: Indentation.
70626
70627         Module fsusage.
70628         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
70629         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
70630         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
70631
70632         Module dirfd.
70633         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
70634         requirements.
70635
70636         Module euidaccess.
70637         * m4/euidaccess.m4: New file.
70638
70639         Module file-type.
70640         * m4/file-type.m4: New file.
70641
70642         Module fileblocks.
70643         * m4/fileblocks.m4: New file.
70644
70645         Module filemode.
70646         * m4/filemode.m4: New file.
70647
70648         Module isdir.
70649         * m4/isdir.m4: New file.
70650
70651         Module lchown.
70652         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
70653         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
70654
70655         Module makepath.
70656         * m4/makepath.m4: New file.
70657
70658         Module modechange.
70659         * m4/modechange.m4: New file.
70660
70661         Module mountlist.
70662         * m4/mountlist.m4: New file.
70663         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
70664         Indentation.
70665
70666         Module path-concat.
70667         * m4/path-concat.m4: New file.
70668
70669         Module pathmax.
70670         * m4/pathmax.m4: New file.
70671
70672         Module same.
70673         * m4/same.m4: New file.
70674
70675         Module save-cwd.
70676         * m4/save-cwd.m4: New file.
70677
70678         Module savedir.
70679         * m4/savedir.m4: New file.
70680
70681         Module xgetcwd.
70682         * m4/xgetcwd.m4: New file.
70683         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
70684
70685         Module xreadlink.
70686         * m4/xreadlink.m4: New file.
70687
70688         Module safe-read.
70689         * m4/safe-read.m4: New file.
70690
70691         Module safe-write.
70692         * m4/safe-write.m4: New file.
70693
70694         Module closeout.
70695         * m4/closeout.m4: New file.
70696
70697         Module stdio-safer.
70698         * m4/stdio-safer.m4: New file.
70699
70700         Module getpass.
70701         * m4/getpass.m4: New file.
70702
70703         Module getugroups.
70704         * m4/getugroups.m4: New file.
70705
70706         Module group-member.
70707         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
70708         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
70709
70710         Module idcache.
70711         * m4/idcache.m4: New file.
70712
70713         Module userspec.
70714         * m4/userspec.m4: New file.
70715
70716         Module gettime.
70717         * m4/clock_time.m4: New file.
70718         * m4/gettime.m4: New file.
70719
70720         Module settime.
70721         * m4/settime.m4: New file.
70722
70723         Module posixtm.
70724         * m4/posixtm.m4: New file.
70725
70726         Module gethostname.
70727         * m4/gethostname.m4: New file.
70728
70729         Module canon-host.
70730         * m4/canon-host.m4: New file.
70731
70732         Module gettext.
70733         * m4/codeset.m4: New file, from gettext-0.11.5.
70734         * m4/gettext.m4: New file, from gettext-0.11.5.
70735         * m4/glibc21.m4: New file, from gettext-0.11.5.
70736         * m4/iconv.m4: New file, from gettext-0.11.5.
70737         * m4/intdiv0.m4: New file, from gettext-0.11.5.
70738         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
70739         * m4/inttypes.m4: New file, from gettext-0.11.5.
70740         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
70741         * m4/isc-posix.m4: New file, from gettext-0.11.5.
70742         * m4/lcmessage.m4: New file, from gettext-0.11.5.
70743         * m4/lib-ld.m4: New file, from gettext-0.11.5.
70744         * m4/lib-link.m4: New file, from gettext-0.11.5.
70745         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
70746         * m4/progtest.m4: New file, from gettext-0.11.5.
70747         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
70748         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
70749         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
70750
70751         Module localcharset.
70752         * m4/localcharset.m4: New file.
70753
70754         Module hard-locale.
70755         * m4/hard-locale.m4: New file.
70756
70757         Module mbswidth.
70758         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
70759         onceonly macros.
70760         * m4/mbrtowc.m4: Add comment.
70761
70762         Module memcasecmp.
70763         * m4/memcasecmp.m4: New file.
70764
70765         Module memcoll.
70766         * m4/memcoll.m4: New file.
70767
70768         Module unicodeio.
70769         * m4/unicodeio.m4: New file.
70770
70771         Module rpmatch.
70772         * m4/rpmatch.m4: New file.
70773
70774         Module yesno.
70775         * m4/yesno.m4: New file.
70776
70777         Module exitfail.
70778         * m4/exitfail.m4: New file.
70779
70780         Module c-stack.
70781         * m4/c-stack.m4 (gl_C_STACK): New macro.
70782         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
70783
70784         Module error.
70785         * m4/error.m4 (gl_ERROR): New macro.
70786         (jm_PREREQ_ERROR): Use onceonly macros.
70787
70788         Module fatal.
70789         * m4/fatal.m4: New file.
70790
70791         Module getloadavg.
70792         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
70793         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
70794
70795         Module getpagesize.
70796         * m4/getpagesize.m4: New file.
70797
70798         Module getusershell.
70799         * m4/getusershell.m4: New file.
70800
70801         Module physmem.
70802         * m4/physmem.m4: New file.
70803
70804         Module posixver.
70805         * m4/posixver.m4: New file.
70806
70807         Module quotearg.
70808         * m4/quotearg.m4: New file.
70809
70810         Module quote.
70811         * m4/quote.m4: New file.
70812
70813         Module readutmp.
70814         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
70815
70816         Module sig2str.
70817         * m4/sig2str.m4: New file.
70818
70819         Other.
70820         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
70821         ulonglong.m4.
70822         * m4/intmax_t.m4: New file.
70823         * m4/d-type.m4: Indentation.
70824         * m4/jm-macros.m4: Update.
70825         * m4/prereq.m4 (jm_PREREQ): Update.
70826         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
70827         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
70828         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
70829         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
70830         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
70831         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
70832         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
70833         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
70834         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
70835         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
70836         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
70837         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
70838         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
70839         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
70840         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
70841         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
70842         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
70843         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
70844         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
70845
70846 2002-12-24  Bruno Haible  <bruno@clisp.org>
70847
70848         * MODULES.txt: Update according to m4/ changes.
70849
70850         Module gettext.
70851         * config.rpath: New file, from gettext-0.11.5.
70852
70853         * modules/*: New module descriptions.
70854         * gnulib-tool: New file.
70855         * MODULES.html.sh: New file.
70856
70857 2002-12-21  Karl Berry  <karl@gnu.org>
70858
70859         * doc/fdl.texi: update to version 1.2.
70860
70861 2002-12-19  Karl Berry  <karl@gnu.org>
70862
70863         * config/config.guess: update from prep.
70864
70865 2002-12-18  Bruno Haible  <bruno@clisp.org>
70866
70867         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
70868         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
70869
70870 2002-12-17  Bruno Haible  <bruno@clisp.org>
70871
70872         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
70873         stdlib.h, string.h.
70874
70875 2002-12-17  Bruno Haible  <bruno@clisp.org>
70876
70877         * lib/canon-host.c (strdup): Remove unused declaration.
70878
70879         * lib/fsusage.c: Include full_read.h.
70880         (get_fs_usage): Use full_read instead of safe_read.
70881
70882         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
70883
70884 2002-12-12  Karl Berry  <karl@gnu.org>
70885
70886         * config/config.guess: update from prep.
70887
70888 2002-12-11  Bruno Haible  <bruno@clisp.org>
70889
70890         * m4/setenv.m4: New file, from gettext-0.11.5.
70891
70892 2002-12-11  Bruno Haible  <bruno@clisp.org>
70893
70894         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
70895         not unsetenv().
70896         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
70897         modifications:
70898
70899         2002-12-11  Bruno Haible  <bruno@clisp.org>
70900
70901                 * setenv.c (alloca): Fall back to malloc.
70902                 (freea): New macro.
70903                 (setenv): Use freea() to free memory allocated with alloca().
70904
70905         2002-11-13  Bruno Haible  <bruno@clisp.org>
70906
70907                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
70908                 function declarations.
70909                 * unsetenv.c (unsetenv): Likewise.
70910
70911         2002-03-04  Bruno Haible  <bruno@clisp.org>
70912
70913                 Portability to AIX 4.3.3.
70914                 * unsetenv.c: New file, extracted from setenv.c.
70915                 * setenv.c: Move the unsetenv() function to unsetenv.c.
70916
70917         2001-12-20  Bruno Haible  <bruno@clisp.org>
70918
70919                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
70920                 use malloc instead. For SunOS 4.
70921
70922         2001-12-11  Bruno Haible  <bruno@clisp.org>
70923
70924                 * setenv.c: Declare alloca.
70925                 (compar_fn_t): New typedef.
70926                 (KNOWN_VALUE, STORE_VALUE): Use it.
70927
70928         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
70929         setenv.h.
70930
70931 2002-12-10  Paul Eggert  <eggert@twinsun.com>
70932
70933         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
70934         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
70935         Choose values that are less likely to collide with system fnmatch
70936         options.
70937         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
70938         defined (e.g., a pure POSIX system).
70939         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
70940         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
70941
70942 2002-12-06  Paul Eggert  <eggert@twinsun.com>
70943
70944         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
70945         a pain in practice to deal with generated m4 files.  This change
70946         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
70947
70948         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
70949         and jm-glibc-io.m4, as they are no longer a special case.
70950         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
70951         kludge and the auto-generation stuff.  Check only whether the
70952         functions are declared, not whether they exist, since older hosts
70953         that don't declare the functions can't use the optimization anyway.
70954
70955 2002-12-06  Jim Meyering  <jim@meyering.net>
70956
70957         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
70958
70959         Merge in changes from libc's misc/error.c, in preparation
70960         for the merge of gnulib's changes back into libc.
70961
70962         * lib/error.c (_): Define only if not already defined.
70963         Move definition to follow all #include directives.
70964         Include unlocked-io.h only if !_LIBC.
70965         [_LIBC]: Include <libio/libioP.h>.
70966         [USE_IN_LIBIO]: Include <libio/iolibio.h>
70967         (fflush): Tweak definition to use INTUSE.
70968         (putc): Define.
70969
70970 2002-12-05  Paul Eggert  <eggert@twinsun.com>
70971
70972         * lib/alloca.c [defined emacs]: Include "lisp.h".
70973         (xalloc_die) [defined emacs]: New macro.
70974         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
70975         [! defined emacs]: Include <xalloc.h>.
70976         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
70977         (pointer): Typedef to POINTER_TYPE *.
70978         (malloc): Remove decl; we now always use xmalloc.
70979         (alloca): Use old-style definition, since Emacs needs this.
70980         Check for arithmetic overflow when computing combined size.
70981
70982 2002-12-04  Paul Eggert  <eggert@twinsun.com>
70983
70984         Do not generate unlocked-io.h automatically, since it's easier to
70985         maintain it by hand.
70986
70987         * lib/unlocked-io.h: New file, from GNU diffutils,
70988         but with proper copyright notice and attribution.
70989         * lib/gen-uio: Remove.
70990         * lib/Makefile.am: Add copyright notice.
70991         (libfetish_a_SOURCES): Add unlocked-io.h.
70992         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
70993         (DISTCLEANFILES, io_functions): Remove macros.
70994         (EXTRA_DIST): Remove gen_uio.
70995         (unlocked-io.h): Remove rule.
70996
70997 2002-12-04  Jim Meyering  <jim@meyering.net>
70998
70999         Reflect the fact that stat.c and lstat.c are no longer generated.
71000         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
71001         (DISTCLEANFILES): Likewise.
71002         (EXTRA_DIST): Likewise.
71003         (all_local): Don't depend on stat.c or lstat.c.
71004         (stat.c, lstat.c): Remove rules.
71005         (EXTRA_DIST): Remove xstat.in.
71006
71007         * lib/xstat.in: Remove file.  Contents moved into stat.c.
71008         * lib/stat.c: New file.  Contents mostly from xstat.in.
71009         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
71010         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
71011
71012         * lib/safe-read.c: Rework so that it may serve to define safe_write,
71013         too.
71014         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
71015
71016 2002-12-03  Jim Meyering  <jim@meyering.net>
71017
71018         * lib/safe-read.c, safe-write.c: Change variable names and comments,
71019         but not semantics, to minimize the differences between these two files.
71020         (safe_read): Change comment to mention SAFE_READ_ERROR.
71021
71022         * lib/safe-read.c (IS_EINTR): Define.
71023         (safe_read): Use IS_EINTR in place of in-function cpp directives.
71024
71025 2002-12-02  Jim Meyering  <jim@meyering.net>
71026
71027         * lib/safe-read.c (EINTR): Define.
71028         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
71029         (INT_MAX): Provide fallback.
71030         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
71031
71032         * lib/safe-read.h (SAFE_READ_ERROR): Define.
71033
71034 2002-12-02  Bruno Haible  <bruno@clisp.org>
71035
71036         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
71037         Define, taken from safe-read.c.
71038         (INT_MAX): Provide fallback.
71039         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
71040         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
71041
71042         * lib/safe-read.c (EINTR): Remove definition.
71043         (safe_read): Don't use EINTR if it is absent.
71044
71045 2002-12-01  Jim Meyering  <jim@meyering.net>
71046
71047         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
71048         zero.
71049         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
71050
71051 2002-11-27  Paul Eggert  <eggert@twinsun.com>
71052
71053         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
71054         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
71055         with `if (! (value < limit)) abort ();', for readability.
71056
71057 2002-11-26  Karl Berry  <karl@gnu.org>
71058
71059         * lib/strdup.c: copy from libc again, with jim's ok.
71060         * lib/.cppi-disable: re-add strdup.c
71061
71062 2002-11-25  Karl Berry  <karl@gnu.org>
71063
71064         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
71065         instead of "strtol.c".
71066
71067 2002-11-25  Karl Berry  <karl@gnu.org>
71068
71069         * config/install-sh: update from automake for variable quoting, $0 in
71070         error msgs, etc.
71071
71072         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
71073         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
71074         entry.
71075
71076 2002-11-25  Jim Meyering  <jim@meyering.net>
71077
71078         * lib/mktime.c: Sync from libc, now that it has the latest fix.
71079
71080 2002-11-24  Karl Berry  <karl@gnu.org>
71081
71082         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
71083         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
71084
71085 2002-11-24  Jim Meyering  <jim@meyering.net>
71086
71087         Update from coreutils:
71088
71089         * lib/mktime.c: Merge in changes from libc.
71090
71091         Avoid a link-time failure on some Linux systems.
71092         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
71093         (otherwise).
71094         (__mon_yday): Declare with the STATIC attribute.
71095         (__mktime_internal): Likewise.
71096         Based on a report from Greg Schafer.
71097
71098 2002-11-23  Jim Meyering  <jim@meyering.net>
71099
71100         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
71101         Use `unsigned', not `int', as type of index.
71102
71103         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
71104
71105         * lib/fsusage.c: Remove unneeded parentheses around operands of
71106         `defined'.
71107
71108 2002-11-22  Paul Eggert  <eggert@twinsun.com>
71109
71110         * lib/quotearg.h: Allow multiple inclusion by surrounding with
71111         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
71112         so that we can be included first.
71113         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
71114         * lib/quotearg.c: Include quotearg.h immediately after config.h.
71115         No need to include stddef.h or sys/types.h any more.
71116         Surround local include files with "", not "<>".
71117         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
71118         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
71119         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
71120         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
71121         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
71122         (ISPRINT): Remove; no longer needed now that we assume C89.
71123
71124         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
71125         Preserve errno.
71126
71127         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
71128         quotearg_char): Use SIZE_MAX rather than
71129         (size_t) -1 when we are talking about "infinity".
71130
71131         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
71132
71133 2002-11-22  Paul Eggert  <eggert@twinsun.com>
71134
71135         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
71136         hint that one should use `if (! x) abort ();' rather than `assert
71137         (x);', and anyway it's one less thing to worry about configuring.
71138         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
71139         hash_rehash, hash_insert): Use abort rather than assert.
71140
71141 2002-11-22  Bruno Haible  <bruno@clisp.org>
71142
71143         * lib/safe-read.h: Assume C89. Add comments.
71144         (safe_read): Change return type to size_t.
71145         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
71146         byte counts > SSIZE_MAX correctly.
71147         * lib/safe-write.h: New file.
71148         * lib/safe-write.c: New file.
71149         * lib/full-read.h: New file.
71150         * lib/full-read.c: New file.
71151         * lib/full-write.h: Assume C89. Add comments.
71152         * lib/full-write.c: Include safe-write.h.
71153         (full_write): Rewritten to use safe_write.
71154         Suggested by Jim Meyering and Paul Eggert.
71155
71156 2002-11-21  Jim Meyering  <jim@meyering.net>
71157
71158         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
71159
71160         Merge in changes from the coreutils.
71161
71162         2002-09-25  Paul Eggert  <eggert@twinsun.com>
71163         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
71164         <stdint.h>.
71165         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
71166         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
71167         int.  Work more efficiently if X is the same width as uintmax_t.
71168         Do not compare X to -1, to avoid bogus compiler warning.
71169         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
71170         Don't assume that f_frsize and f_bsize are the same type.
71171
71172         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
71173         warning on FreeBSD.
71174
71175         * lib/makepath.c (make_path): Restore umask *before* creating the final
71176         component.
71177         (make_path): Minor reformatting.
71178
71179         * lib/xmalloc.c: Adjust to work with new autoconf macros,
71180         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
71181         HAVE_MALLOC/HAVE_REALLOC.
71182
71183         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
71184         dummy ones.  At least on GNU/Linux systems, `auto' means something
71185         else.
71186         From Michael Stone.
71187
71188 2002-11-21  Bruno Haible  <bruno@clisp.org>
71189
71190         Remove case insensitive option matching.
71191         * lib/argmatch.h (argcasematch): Remove declaration.
71192         (ARGCASEMATCH): Remove macro.
71193         (__xargmatch_internal): Remove case_sensitive argument.
71194         (XARGMATCH): Update.
71195         (XARGCASEMATCH): Remove macro.
71196         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
71197         case_sensitive argument.
71198         (argcasematch): Remove function.
71199         (__xargmatch_internal): Remove case_sensitive argument.
71200         (main): Use XARGMATCH instead of XARGCASEMATCH.
71201
71202         * lib/xmalloc.c: Change compile-time error message. Add comment about
71203         required autoconf version.
71204
71205 2002-11-20  Paul Eggert  <eggert@twinsun.com>
71206
71207         Merge argmatch cleanups from Bison.  Assume C89.
71208
71209         * lib/argmatch.c: Include config.h here, not in argmatch.h.
71210         Include stdlib.h, for EXIT_FAILURE.
71211         Always include <string.h>, since we assume C89.
71212         (EXIT_FAILURE): Remove pre-C89 bug workaround.
71213         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
71214         Include <stddef.h> instead, since it's all we need for size_t.
71215         (PARAMS): Remove.  All uses removed.
71216         (ARRAY_CARDINALITY): Do not bother to #undef.
71217         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
71218         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
71219         Remove unnecessary parentheses.
71220         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
71221         Insert necessary parentheses.
71222         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
71223         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
71224
71225 2002-11-19  Bruno Haible  <bruno@clisp.org>
71226
71227         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
71228         * lib/mbswidth.h: Include <stddef.h>, for size_t.
71229
71230         * lib/mbswidth.h (PARAMS): Remove macro.
71231         (mbswidth, mbsnwidth): Use ANSI C function declarations.
71232         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
71233
71234         * lib/gcd.h (PARAMS): Remove macro.
71235         (gcd): Use ANSI C function declarations.
71236         * lib/gcd.c (gcd): Likewise.
71237
71238 2002-11-15  Bruno Haible  <bruno@clisp.org>
71239
71240         * lib/strcspn.c: Include <stddef.h>.
71241         (strcspn): Use ANSI C function declaration. Change return type to
71242         size_t. Use NULL.
71243         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
71244         (strpbrk): Use NULL.
71245         * lib/strpbrk.h (PARAMS): Remove macro.
71246         (strpbrk): Use ANSI C function declaration.
71247         * lib/strstr.c: Don't include <sys/types.h>.
71248         * lib/strstr.h (PARAMS): Remove macro.
71249         (strstr): Use ANSI C function declarations.
71250
71251 2002-11-14  Karl Berry  <karl@gnu.org>
71252
71253         * config/mkinstalldirs: `do' on separate line, instead of
71254         `for var; do'.
71255
71256 2002-11-06  Bruno Haible  <bruno@clisp.org>
71257
71258         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
71259         * lib/gcd.c (gcd): Likewise.
71260
71261 2002-11-05  Bruno Haible  <bruno@clisp.org>
71262
71263         * lib/gcd.h: New file, from gettext-0.11.5.
71264         * lib/gcd.c: New file, from gettext-0.11.5.
71265
71266 2002-11-05  Bruno Haible  <bruno@clisp.org>
71267
71268         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71269         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71270         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71271         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
71272
71273         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
71274         <libintl.h>.
71275         * lib/makepath.c: Include gettext.h instead of <locale.h> and
71276         <libintl.h>.
71277
71278         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
71279         * lib/human.c: Include gettext.h instead of <libintl.h>.
71280         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
71281         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
71282         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
71283         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
71284         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
71285         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
71286         (textdomain): Remove definition.
71287         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
71288
71289         * lib/long-options.c: Remove include of <libintl.h> and definition of
71290         _.
71291         * lib/same.c: Remove include of <libintl.h> and definition of _.
71292
71293 2002-11-04  Owen Taylor  <otaylor@redhat.com>
71294
71295         * lib/config.charset: A few additions for Solaris.
71296
71297 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
71298
71299         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
71300         * lib/localcharset.c (locale_charset): Declare as extern "C".
71301
71302 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
71303
71304         * lib/config.charset: msdos in uk_UA uses CP1125.
71305
71306 2002-11-04  Bruno Haible  <bruno@clisp.org>
71307
71308         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
71309         * lib/strcase.h: New file, from GNU gettext-0.11.5.
71310         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
71311         * lib/strstr.h: New file, from GNU gettext-0.11.5.
71312         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
71313
71314 2002-11-04  Bruno Haible  <bruno@clisp.org>
71315
71316         * lib/localcharset.c (locale_charset): Don't return an empty string.
71317
71318 2002-11-04  Bruno Haible  <bruno@clisp.org>
71319
71320         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
71321         aliases.
71322
71323 2002-11-04  Bruno Haible  <bruno@clisp.org>
71324
71325         * lib/config.charset: Update for newest glibc. Add canonical names
71326         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
71327
71328 2002-11-04  Bruno Haible  <bruno@clisp.org>
71329
71330         * lib/config.charset: Add support for NetBSD.
71331
71332 2002-11-04  Bruno Haible  <bruno@clisp.org>
71333
71334         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
71335
71336 2002-11-01  Bruno Haible  <bruno@clisp.org>
71337
71338         * configure.in: Add AC_CONFIG_AUX_DIR call.
71339         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
71340         test/Makefile.
71341         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
71342
71343 2002-09-28  Karl Berry  <karl@gnu.org>
71344
71345         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
71346         installed automake until the next release, since changes have been
71347         made.
71348
71349 2002-09-25  Karl Berry  <karl@gnu.org>
71350
71351         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
71352         * lib/getopt*: copy from libc/posix.
71353         * lib/gettext.h: copy from gettext.
71354         * lib/.cppi-disable: add strdup.c, gettext.h.
71355
71356 2002-09-25  Karl Berry  <karl@gnu.org>
71357
71358         * config/srclist.txt: enable gettext.h check.
71359         * config/config.{guess,sub}: update from prep.
71360         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
71361                 from automake 1.6.3.
71362         See srclist*.
71363
71364 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
71365
71366         * regex.c (PATFETCH): Remove the translating fetch.
71367         (PATFETCH_RAW): Rename to PATFETCH.
71368         (set_image_of_range): New fun.
71369         (SET_RANGE_TABLE_WORK_AREA): Use it.
71370         (regex_compile): Don't translate the pattern chars so eagerly.
71371         Only do it when inserting an `exactn' bytecode or when handling
71372         a char-range.
71373         (mutually_exclusive_p): Avoid empty statement.
71374
71375 2002-07-06  Jim Meyering  <meyering@lucent.com>
71376
71377         * m4/README: Don't mention Makefile.am.in.
71378         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
71379
71380 2002-07-01  Jim Meyering  <meyering@lucent.com>
71381
71382         * lib/c-stack.c: Include sys/time.h.
71383         From Volker Borchert.
71384
71385 2002-06-26  Paul Eggert  <eggert@twinsun.com>
71386
71387         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
71388
71389 2002-06-26  Paul Eggert  <eggert@twinsun.com>
71390
71391         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
71392         New macro.  Use it uniformly instead of
71393         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
71394         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
71395         reported by Vin Shelton.
71396
71397 2002-06-22  Paul Eggert  <eggert@twinsun.com>
71398
71399         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
71400         Do not assume SA_SIGINFO behavior.
71401         Bug reported by Jim Meyering on NetBSD 1.5.2.
71402
71403 2002-06-22  Jim Meyering  <meyering@lucent.com>
71404
71405         * m4/c-stack.m4: New file, from diffutils-2.8.2.
71406         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
71407
71408         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
71409         now that configure.ac uses AC_GNU_SOURCE.
71410         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
71411         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
71412
71413         Update to latest tools.  Suggestions from Paul Eggert.
71414         * m4/stdbool.m4: New file, from diffutils-2.8.2.
71415         * m4/gnu-source.m4: Update from diffutils-2.8.2.
71416         * m4/fnmatch.m4: Likewise.
71417         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
71418         to AC_HEADER_STDBOOL
71419
71420 2002-06-22  Jim Meyering  <meyering@lucent.com>
71421
71422         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
71423         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
71424
71425 2002-06-22  Jim Meyering  <meyering@lucent.com>
71426
71427         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
71428
71429         * lib/exitfail.c, exitfail.h: Likewise.
71430         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
71431
71432         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
71433         of fnmatch.h.
71434         (EXTRA_DIST): Add fnmatch_loop.c.
71435         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
71436
71437         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
71438         * lib/fnmatch.c: Update from diffutils-2.8.2.
71439         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
71440         * lib/fnmatch.h: Remove file.
71441
71442 2002-06-21  Jim Meyering  <meyering@lucent.com>
71443
71444         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
71445         * m4/mbrtowc.m4: Likewise.
71446
71447         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
71448         * m4/mbswidth.m4: Reflect name change:
71449         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
71450         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
71451
71452         * m4/lib-link.m4: Update from gettext-0.11.2.
71453         * m4/gettext.m4: Likewise.
71454
71455         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
71456         From Alfred M. Szmidt.
71457
71458 2002-06-18  Paul Eggert  <eggert@twinsun.com>
71459
71460         * lib/file-type.h: Report an error if neither S_ISREG nor
71461         S_IFREG is defined, instead of using a test specific to glibc
71462         2.2.  This should be safe, since POSIX requires S_ISREG and
71463         Unix Version 7 had S_IFREG.  We don't need to check for
71464         <sys/types.h> since we don't use any symbols that it defines.
71465
71466 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
71467
71468         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
71469         $@-t, so that each temporary file name is unique and valid in the first
71470         8 characters, for operation under DOS.
71471
71472 2002-06-15  Paul Eggert  <eggert@twinsun.com>
71473
71474         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
71475
71476 2002-06-15  Jim Meyering  <meyering@lucent.com>
71477
71478         Work even with DJGPP 2.03, which lacks support for symlinks.
71479         From Richard Dawe.
71480         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
71481         is defined.
71482         * lib/lchown.c (S_ISLNK): Likewise.
71483
71484 2002-06-15  Jim Meyering  <meyering@lucent.com>
71485
71486         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
71487         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
71488         have been included before this file.
71489
71490 2002-06-14  Jim Meyering  <meyering@lucent.com>
71491
71492         * lib/file-type.h: Use the version from diffutils-2.8.2.
71493         * lib/file-type.c: Likewise.
71494
71495 2002-06-07  Jim Meyering  <meyering@lucent.com>
71496
71497         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
71498         They're needed at least for NetBSD 1.5.2.
71499         ($statxfs_includes): Include those same headers.
71500         ($statxfs_includes): Include sys/vfs.h if available.
71501         ($statxfs_includes): Likewise for sys/statvfs.h.
71502         Check for the following members in both structs statfs and statvfs:
71503         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
71504
71505 2002-06-01  Jim Meyering  <meyering@lucent.com>
71506
71507         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
71508         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
71509
71510 2002-05-28  Jim Meyering  <meyering@lucent.com>
71511
71512         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
71513         Reported by Volker Borchert.
71514
71515 2002-05-27  Jim Meyering  <meyering@lucent.com>
71516
71517         Fix a problem seen only on nonconforming systems whereby ls.c's
71518         use of localtime, and then of gettimeofday would cause trouble:
71519         the localtime call used to initialize rpl_gettimeofday's save
71520         mechanism would clobber ls's current local time information so
71521         that in any long listing the first file would always be listed
71522         with date 1970-01-01.  Analysis by Volker Borchert.
71523
71524         * lib/gettimeofday.c (localtime): Undefine.
71525         (rpl_localtime): New function.
71526
71527 2002-05-27  Jim Meyering  <meyering@lucent.com>
71528
71529         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
71530         localtime.
71531
71532         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
71533         use the replacement function; it wouldn't resolve at link time.
71534         Reported by Volker Borchert.
71535
71536 2002-05-22  Jim Meyering  <meyering@lucent.com>
71537
71538         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
71539         file-type.h.
71540         * lib/file-type.h: New file.
71541         * lib/file-type.c (file_type): New file/function.  Extracted from
71542         diffutils.
71543
71544 2002-04-30  Jim Meyering  <meyering@lucent.com>
71545
71546         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
71547
71548 2002-04-29  Paul Eggert  <eggert@twinsun.com>
71549
71550         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
71551
71552 2002-04-29  Paul Eggert  <eggert@twinsun.com>
71553
71554         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
71555         Do not check for alloca.h (no longer used) or stdbool.h (was never
71556         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
71557
71558 2002-04-29  Paul Eggert  <eggert@twinsun.com>
71559
71560         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
71561
71562 2002-04-29  Jim Meyering  <meyering@lucent.com>
71563
71564         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
71565         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
71566         Use AC_FUNC_STRNLEN here instead.
71567
71568         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
71569         With autoconf-2.53a, it's part of AC_PROG_CC.
71570
71571 2002-04-28  Paul Eggert  <eggert@twinsun.com>
71572
71573         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
71574         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
71575
71576 2002-04-28  Paul Eggert  <eggert@twinsun.com>
71577
71578         * lib/sig2str.h, lib/sig2str.c: New files.
71579         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
71580
71581 2002-04-28  Paul Eggert  <eggert@twinsun.com>
71582
71583         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
71584         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
71585         of 127, since 64 is the largest conceivable number for ancient
71586         nonstandard hosts.
71587         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
71588
71589 2002-04-28  Jim Meyering  <meyering@lucent.com>
71590
71591         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
71592
71593 2002-04-24  Jim Meyering  <meyering@lucent.com>
71594
71595         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
71596         (jm_PREREQ): Use it.
71597
71598         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
71599         mach/mach.h fcntl.h.
71600         Check for this function: setlocale.
71601
71602 2002-04-24  Jim Meyering  <meyering@lucent.com>
71603
71604         * lib/gettext.h: New file, from Gettext.
71605         * lib/Makefile.am (INCLUDES): Remove -I../intl.
71606         (libfetish_a_SOURCES): Add gettext.h.
71607
71608 2002-04-16  Jim Meyering  <meyering@lucent.com>
71609
71610         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
71611         ut_pid, ut_id, ut_exit.
71612
71613 2002-04-16  Jim Meyering  <meyering@lucent.com>
71614
71615         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
71616         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
71617         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
71618
71619 2002-04-12  Jim Meyering  <meyering@lucent.com>
71620
71621         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
71622         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
71623         existence of the getmntinfo function.  Needed for Darwin 5.3.
71624
71625         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
71626         This is necessary at least on Darwin 5.3.
71627
71628         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
71629         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
71630         strnlen.o in the library, and that makes some versions of ranlib
71631         object.
71632
71633 2002-04-12  Jim Meyering  <meyering@lucent.com>
71634
71635         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
71636
71637 2002-04-09  Jim Meyering  <meyering@lucent.com>
71638
71639         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
71640         to be more precise.  Rather than saying we're checking whether the
71641         function `works', say what we're testing.
71642         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
71643         Reported by Bruno Haible.
71644
71645 2002-03-10  Jim Meyering  <meyering@lucent.com>
71646
71647         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
71648         Suggestion from Santiago Vila.
71649
71650 2002-03-08  Jim Meyering  <meyering@lucent.com>
71651
71652         * lib/rename.c: Mention that this wrapper is needed also on
71653         mips-dec-ultrix4.4 systems.
71654
71655 2002-03-02  Jim Meyering  <meyering@lucent.com>
71656
71657         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
71658         not HAVE_CLOCK_SETTIME.
71659
71660 2002-02-27  Paul Eggert  <eggert@twinsun.com>
71661
71662         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
71663         Check for clock_settime.
71664
71665 2002-02-27  Paul Eggert  <eggert@twinsun.com>
71666
71667         * lib/nanosleep.h: Rename to....
71668         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
71669
71670         * lib/gettime.c: New file.
71671         * lib/settime.c: New file.
71672         * lib/stime.c: Remove.
71673
71674         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
71675         timespec.h.  Remove nanosleep.h.
71676
71677 2002-02-25  Paul Eggert  <eggert@twinsun.com>
71678
71679         * m4/acl.m4: New file.
71680         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
71681         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
71682
71683 2002-02-25  Paul Eggert  <eggert@twinsun.com>
71684
71685         * lib/acl.c, lib/acl.h: New files.
71686         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
71687
71688 2002-02-24  Jim Meyering  <meyering@lucent.com>
71689
71690         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
71691         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
71692         cause trouble.  Reported by Nelson Beebe.
71693
71694 2002-02-23  Paul Eggert  <eggert@twinsun.com>
71695
71696         * lib/path-concat.c (xpath_concat): Reorder code to pacify
71697         compilers that don't know that xalloc_die never returns.
71698
71699 2002-02-20  Jim Meyering  <meyering@lucent.com>
71700
71701         * lib/getdate.c: Regenerate using bison-1.33.
71702
71703 2002-02-17  Jim Meyering  <meyering@lucent.com>
71704
71705         * config/config.guess (main): Don't use `head -1'; it's no longer
71706         portable. Use `sed 1q' instead.
71707
71708 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
71709
71710         * m4/codeset.m4: Upgrade to gettext-0.11.
71711         * m4/gettext.m4: Upgrade to gettext-0.11.
71712         * m4/glibc21.m4: Upgrade to gettext-0.11.
71713         * m4/iconv.m4: Upgrade to gettext-0.11.
71714         * m4/isc-posix.m4: Upgrade to gettext-0.11.
71715         * m4/lcmessage.m4: Upgrade to gettext-0.11.
71716         * m4/lib-ld.m4: New file, from gettext-0.11.
71717         * m4/lib-link.m4: New file, from gettext-0.11.
71718         * m4/lib-prefix.m4: New file, from gettext-0.11.
71719         * m4/progtest.m4: Upgrade to gettext-0.11.
71720
71721 2002-02-15  Paul Eggert  <eggert@twinsun.com>
71722
71723         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
71724         (jm_PREREQ): Use it.
71725
71726 2002-02-15  Paul Eggert  <eggert@twinsun.com>
71727
71728         * lib/posixver.c, lib/posixver.h: New files.
71729         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
71730
71731 2002-02-02  Paul Eggert  <eggert@twinsun.com>
71732             Bruno Haible  <bruno@clisp.org>
71733
71734         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
71735         (fwrite_success_callback): New declaration.
71736         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
71737         print_unicode_char. Call failure callback instead of error.
71738         (fwrite_success_callback): New function.
71739         (exit_failure_callback): New function.
71740         (fallback_failure_callback): New function.
71741         (print_unicode_char): Call unicode_to_mb.
71742
71743 2002-01-26  Jim Meyering  <meyering@lucent.com>
71744
71745         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
71746         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
71747
71748 2002-01-26  Jim Meyering  <meyering@lucent.com>
71749
71750         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
71751
71752 2002-01-22  Paul Eggert  <eggert@twinsun.com>
71753
71754         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
71755
71756 2002-01-22  Jim Meyering  <meyering@lucent.com>
71757
71758         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
71759         Otherwise, some versions of automake would omit the rule that makes
71760         Makefile from Makefile.in.
71761
71762 2002-01-21  Paul Eggert  <eggert@twinsun.com>
71763
71764         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
71765         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
71766         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
71767         (memcoll): Set errno to zero if there is no error.
71768
71769         * lib/quotearg.c (quotearg_buffer_restyled):
71770         Fix bug with quoting buffers containing NUL when backslashing escapes.
71771         This bug was exposed by the other changes in this patch.
71772         (quotearg_n_options): New arg ARGSIZE.
71773         All callers changed.
71774         (quoting_options_from_style): New function.
71775         (quotearg_n_style): Use it.
71776         (quotearg_n_style_mem): New function.
71777
71778         * lib/quotearg.h (quotearg_n_style_mem): New function.
71779
71780 2002-01-19  Jim Meyering  <meyering@lucent.com>
71781
71782         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
71783         Remove useless quotes: DF_PROG="df".
71784         * m4/strnlen.m4: New file.
71785
71786 2002-01-16  Paul Eggert  <eggert@twinsun.com>
71787
71788         * lib/backupfile.c (ISDIGIT): Comment fix.
71789         * lib/getdate.y (ISDIGIT): Likewise.
71790         * lib/posixtm.c (ISDIGIT, year): Likewise.
71791         * lib/strverscmp.c (ISDIGIT): Likewise.
71792         * lib/userspec.c (ISDIGIT): Likewise.
71793
71794 2002-01-16  Jim Meyering  <meyering@lucent.com>
71795
71796         * lib/getdate.y: Add three semicolons, each just before a closing
71797         brace. Bison (as of version 1.31) no longer papers over that mistake.
71798
71799 2002-01-05  Jim Meyering  <meyering@lucent.com>
71800
71801         * lib/version-etc.c (version_etc_copyright): Update copyright year.
71802
71803 2001-12-19  Paul Eggert  <eggert@twinsun.com>
71804
71805         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
71806         not silently exit merely because the output buffer happens to
71807         have nothing pending.
71808
71809 2001-12-18  Paul Eggert  <eggert@twinsun.com>
71810
71811         See the big note in ../ChangeLog.
71812         * lib/human.c (suffixes): Prefer K to k for 1024.
71813         (generate_suffix_backwards): New function.
71814         (human_readable_inexact): Use it.
71815         * lib/xstrtol.c (__xstrtol): If there is no number but there
71816         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
71817         Accept 'K' as well as 'k'.
71818
71819 2001-12-15  Jim Meyering  <meyering@lucent.com>
71820
71821         * lib/regex.h (__restrict_arr): Update from libc.
71822
71823         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
71824         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
71825         (STREQ): Define.
71826
71827 2001-12-14  Jim Meyering  <meyering@lucent.com>
71828
71829         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
71830         Suggestion from Bruno Haible.
71831
71832 2001-12-10  Jim Meyering  <meyering@lucent.com>
71833
71834         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
71835         xrealloc, Instead, include "xalloc.h".
71836         (initbuffer): Don't cast xmalloc return value to char*.
71837         (readline): Reword comment.
71838         Don't cast xrealloc return value to char*
71839         Return NULL, not 0.
71840
71841 2001-12-09  Jim Meyering  <meyering@lucent.com>
71842
71843         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
71844         about `signed and unsigned type in conditional expression'.
71845         * lib/posixtm.c (posix_time_parse): Likewise.
71846
71847         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
71848
71849         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
71850         to avoid a pedantic warning.
71851
71852         * lib/getstr.c: Don't include assert.h.
71853         (getstr): Remove warning-evoking assertions.
71854         Return -1 if offset parameter is out of bounds.
71855         Change the type of a local from int to size_t.
71856
71857         * lib/strftime.c (my_strftime_localtime_r): Include this function
71858         definition in the `#if ! HAVE_TM_GMTOFF' block.
71859
71860         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
71861         Include xalloc.h instead.
71862
71863 2001-12-02  Jim Meyering  <meyering@lucent.com>
71864
71865         * lib/tempname.c: Don't declare getenv, thus reverting the change of
71866         2001-11-18.  It's no longer necessary, now that stdlib.h is always
71867         included.
71868
71869         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
71870         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
71871
71872 2001-11-30  Akim Demaille  <akim@epita.fr>
71873
71874         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
71875         before being defined.
71876
71877 2001-11-27  Paul Eggert  <eggert@twinsun.com>
71878
71879         * lib/quotearg.h (quotearg_n, quotearg_n_style):
71880         First arg is int, not unsigned.
71881         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
71882         (SIZE_MAX, UINT_MAX): New macros.
71883         (quotearg_n_options): Abort if N is negative.
71884         Avoid overflow check on hosts where size_t is 64 bits and int
71885         is 32 bits, as overflow is impossible there.
71886         Fix off-by-one typo that caused unnecessary reallocation.
71887
71888 2001-11-27  Jim Meyering  <meyering@lucent.com>
71889
71890         * lib/tempname.c: Merge with version from libc.
71891         * lib/regex.c: Likewise.
71892
71893         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
71894         systems for which STDC_HEADERS is 0, it was not included, resulting in
71895         a warning about an integer-to-pointer conversion problem with getenv.
71896         Reported by Volker Borchert.
71897
71898 2001-11-26  Jim Meyering  <meyering@lucent.com>
71899
71900         * lib/gtod.h: Remove file.
71901         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
71902         * lib/gettimeofday.c: Don't include gtod.h.
71903         (GTOD_init): Remove function.
71904         (rpl_gettimeofday): Do its job here instead, rather than aborting.
71905         Suggestion from Volker Borchert.
71906
71907 2001-11-23  Jim Meyering  <meyering@lucent.com>
71908
71909         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
71910         it.
71911         * lib/hash.c (struct hash_table): Define it here instead.
71912
71913 2001-11-22  Jim Meyering  <meyering@lucent.com>
71914
71915         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
71916
71917 2001-11-20  Jim Meyering  <meyering@lucent.com>
71918
71919         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
71920         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
71921
71922 2001-11-19  Jim Meyering  <meyering@lucent.com>
71923
71924         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
71925         directory.  Use "conftestXXXXXX" as the template.
71926         Suggestion from Paul Eggert.
71927
71928         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
71929         immediately, so the test doesn't mistakenly hit the max-open-files
71930         limit.
71931
71932 2001-11-18  Paul Eggert  <eggert@twinsun.com>
71933
71934         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
71935         (TEMPORARIES): New macro.
71936         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
71937         removes an artificial limitation (e.g. HP-UX 10.20, where
71938         TMP_MAX is 17576).
71939
71940 2001-11-18  Jim Meyering  <meyering@lucent.com>
71941
71942         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
71943
71944 2001-11-18  Jim Meyering  <meyering@lucent.com>
71945
71946         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
71947         on SunOS 4.
71948
71949         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
71950         files will be created before anything else.
71951
71952 2001-11-17  Paul Eggert  <eggert@twinsun.com>
71953
71954         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
71955         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
71956
71957 2001-11-17  Jim Meyering  <meyering@lucent.com>
71958
71959         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
71960         Prompted by a report from Bob Proulx.
71961
71962         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
71963         Instead, require UTILS_FUNC_MKSTEMP.
71964
71965 2001-11-17  Jim Meyering  <meyering@lucent.com>
71966
71967         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
71968         Now, that's done as part of AC_FUNC_STRTOD.
71969
71970 2001-11-17  Jim Meyering  <meyering@lucent.com>
71971
71972         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
71973         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
71974         rather than group writable.  Patch by Juan F. Codagnone.
71975
71976         * lib/readtokens.c: Remove explicit declarations of xmalloc and
71977         xrealloc, Instead, include "xalloc.h".
71978
71979         * lib/mountlist.c: Include unlocked-io.h after all system headers.
71980         Remove explicit declarations of xmalloc, xrealloc,
71981         and xstrdup.  Instead, include "xalloc.h".
71982
71983         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
71984         unlocked-io.h.
71985         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
71986         Likewise.
71987         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
71988
71989         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
71990         Reported by Padraig Brady.
71991
71992         * lib/mkstemp.c: #undef mkstemp.
71993         Include config.h.
71994         (rpl_mkstemp): Rename from mkstemp.
71995         Protoize.
71996
71997 2001-11-16  Jim Meyering  <meyering@lucent.com>
71998
71999         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
72000         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
72001         determine the amount of total physical memory, use pstat_getstatic.
72002         HPUX-11 doesn't define _SC_PHYS_PAGES.
72003         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
72004         If sysconf couldn't be used to determine the amount of available
72005         physical memory, use both pstat_getstatic and pstat_getdynamic.
72006         Based on a patch from Bob Proulx.
72007
72008 2001-11-10  Jim Meyering  <meyering@lucent.com>
72009
72010         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
72011         (jm_PREREQ): Use it.
72012
72013 2001-11-09  Jim Meyering  <meyering@lucent.com>
72014
72015         * m4/jm-macros.m4: Require autoconf-2.52f.
72016         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
72017         Use these AC_-prefixed names, not the AM_-prefixed ones.
72018
72019         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
72020
72021 2001-11-05  Jim Meyering  <meyering@lucent.com>
72022
72023         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
72024
72025 2001-11-04  Jim Meyering  <meyering@lucent.com>
72026
72027         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
72028         $DEFS.
72029
72030 2001-11-03  Jim Meyering  <meyering@lucent.com>
72031
72032         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
72033         of AC_DEFUN.
72034
72035         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
72036         know the name of the variable in the macro definition.
72037
72038 2001-11-03  Jim Meyering  <meyering@lucent.com>
72039
72040         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
72041         in argmatch_to_argument call.
72042
72043         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
72044         argument.
72045
72046         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
72047         e.g., a fault due to an attempt to free a NULL pointer.
72048
72049 2001-11-01  Jim Meyering  <meyering@lucent.com>
72050
72051         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
72052         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
72053
72054 2001-11-01  Jim Meyering  <meyering@lucent.com>
72055
72056         * lib/dirfd.c, lib/dirfd.h: New files.
72057         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
72058
72059         * lib/hash.c (hash_print) [TESTING]: Clean up.
72060
72061 2001-10-22  Paul Eggert  <eggert@twinsun.com>
72062
72063         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
72064         to avoid a warning if -Wall.
72065
72066 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
72067
72068         * README: New file
72069         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
72070         (per RMS's instructions, this is now the canonical source)
72071         * lgpl/, gpl/: New directories.
72072
72073 2001-10-21  Paul Eggert  <eggert@twinsun.com>
72074
72075         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
72076
72077 2001-10-21  Jim Meyering  <meyering@lucent.com>
72078
72079         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
72080         this code would end up calling gettext even in packages built
72081         with --disable-nls.
72082         * lib/getopt.c (_): Likewise.
72083         * lib/regex.c (_): Likewise.
72084
72085 2001-10-20  Paul Eggert  <eggert@twinsun.com>
72086
72087         * m4/error.m4 (jm_PREREQ_ERROR):
72088         Do not invoke AC_CHECK_FUNCS with strerror_r, as
72089         AC_FUNC_STRERROR_R does that.
72090         Check for strerror declaration.
72091
72092         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
72093         are supposed to have them these days.
72094         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
72095         Merge changes from latest Autoconf CVS.
72096         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
72097         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
72098         POSIX decided to standardize on the int flavor of strerror_r.
72099
72100 2001-10-20  Paul Eggert  <eggert@twinsun.com>
72101
72102         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
72103         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
72104         Use strerror_r that is only a macro, even if it is not a function.
72105         (strerror): Check for HAVE_DECL_STRERROR before declaring.
72106         (private_strerror): Use prototypes, not old-style function definition.
72107         (print_errno_message): New function.
72108         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
72109         char*-flavored one.
72110         (error_tail, error, error_at_line): Use it.
72111
72112 2001-10-11  Jim Meyering  <meyering@lucent.com>
72113
72114         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
72115         and quote_n (1, ... to avoid clobbering a buffer.
72116
72117 2001-10-05  Jim Meyering  <meyering@lucent.com>
72118
72119         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
72120         hash-pjw.h.
72121         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
72122         * lib/hash-pjw.h: New file.
72123
72124 2001-09-30  Jim Meyering  <meyering@lucent.com>
72125
72126         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
72127         `struct fsstat' has the `f_fstypename' member.
72128         Use that to define FS_TYPE, which is now used to make
72129         the getfsstat link test tighter.
72130
72131 2001-09-30  Jim Meyering  <meyering@lucent.com>
72132
72133         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
72134         Include <sys/ucred.h>, for Apple Darwin.
72135         Include sys/mount.h and sys/fs_types.h only if available.
72136         (FS_TYPE): Define.
72137         (read_filesystem_list): Use FS_TYPE.
72138
72139 2001-09-29  Paul Eggert  <eggert@twinsun.com>
72140
72141         * lib/exclude.c (excluded_filename): 0 -> false, since it's
72142         a boolean context.
72143
72144 2001-09-29  Jim Meyering  <meyering@lucent.com>
72145
72146         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
72147         [one-argument getmntent function]): Include stdio.h before mntent.h.
72148         SunOS 4.1.x needs it for the declaration of `FILE'.
72149         Patch by Volker Borchert.
72150
72151         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
72152         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
72153         sys/fs_types.h, and make the link-test for getfsstat guard #include
72154         directives with appropriate #if HAVE_*_H tests so that we can
72155         detect getfsstat on Apple Darwin1.3.7 systems.
72156         Reported by Nelson Beebe.
72157         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
72158
72159 2001-09-28  Paul Eggert  <eggert@twinsun.com>
72160
72161         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
72162         #defines strtoimax.  Also treat the other strto* functions
72163         like strtoimax.
72164
72165         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
72166         Check for strtoul and strtoumax,
72167         as those declarations are made even in the signed case.
72168         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
72169         Likewise, for strtol and strtoimax.
72170
72171 2001-09-28  Paul Eggert  <eggert@twinsun.com>
72172
72173         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
72174         #defines strtoimax.  Also treat the other strto* functions
72175         like strtoimax.
72176
72177         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
72178         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
72179         (strtoimax, strtoumax): Do not declare if already defined as a macro.
72180
72181 2001-09-26  Jim Meyering  <meyering@lucent.com>
72182
72183         Most macros in unlocked-io.h had the wrong number of arguments.
72184         * lib/gen-uio: New script.
72185         (USE_UNLOCKED_IO): Define to 1 if not already defined.
72186         * lib/unlocked-io.hin: Remove file.
72187         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
72188         rather than trying to embed it here.
72189         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
72190         Reported by Padraig Brady.
72191
72192 2001-09-25  Volker Borchert  <bt@teknon.de>
72193
72194         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
72195         `result'.
72196
72197 2001-09-24  Jim Meyering  <meyering@lucent.com>
72198
72199         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
72200
72201 2001-09-23  Jim Meyering  <meyering@lucent.com>
72202
72203         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
72204         instead of the mere test for existence of mntent.h.  The latter
72205         would get a false-positive on AIX 3.4 systems.
72206         In the outer getmntent if-block, don't die if neither of the getmntent
72207         tests succeeds.  Instead, just fall through and continue with the
72208         remaining tests.
72209
72210 2001-09-23  Jim Meyering  <meyering@lucent.com>
72211
72212         * lib/mountlist.c: Remove useless parentheses in #if directives.
72213         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
72214         the deprecated MOUNTED symbol is no longer defined in mntent.h.
72215
72216 2001-09-22  Jim Meyering  <meyering@lucent.com>
72217
72218         * m4/gettext.m4: New file.  From gettext.
72219         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
72220         * m4/progtest.m4: Likewise
72221         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
72222         * m4/glibc21.m4: Likewise.
72223
72224         * m4/libintl.m4: Remove.  No longer used.
72225
72226 2001-09-22  Jim Meyering  <meyering@lucent.com>
72227
72228         * lib/localcharset.c: Update from latest gettext.
72229         * lib/config.charset: Likewise.
72230
72231 2001-09-20  Jim Meyering  <meyering@lucent.com>
72232
72233         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
72234         strtoimax.
72235         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
72236         strtoumax.
72237
72238 2001-09-20  Jim Meyering  <meyering@lucent.com>
72239
72240         * lib/xstrtol.c (strtoimax): Guard declaration with
72241         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
72242         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
72243         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
72244         (strtoumax): Likewise, for completeness (it wasn't necessary).
72245
72246 2001-09-17  Paul Eggert  <eggert@twinsun.com>
72247
72248         * lib/strtoimax.c (HAVE_LONG_LONG):
72249         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
72250         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
72251         to work around bug in IBM C compiler.
72252
72253 2001-09-17  Jim Meyering  <meyering@lucent.com>
72254
72255         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
72256         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
72257         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
72258         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
72259         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
72260         whenever the right hand side need not be expanded by the shell.
72261
72262 2001-09-16  Paul Eggert  <eggert@twinsun.com>
72263
72264         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
72265         library.  It's not correct, as some older glibcs are buggy.
72266         fnmatch wasn't fixed until glibc 2.2.
72267
72268         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
72269         special shell magic here.
72270
72271 2001-09-16  Jim Meyering  <meyering@lucent.com>
72272
72273         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
72274         * m4/jm-macros.m4: Require it.
72275
72276 2001-09-16  Jim Meyering  <meyering@lucent.com>
72277
72278         * lib/mkdir.c: New file.
72279
72280 2001-09-15  Jim Meyering  <meyering@lucent.com>
72281
72282         * m4/jm-macros.m4: Check for help2man.
72283
72284 2001-09-11  Jim Meyering  <meyering@lucent.com>
72285
72286         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
72287         The body, by Paul Eggert, was moved here from configure.in.
72288         * m4/jm-macros.m4: Require UTILS_HOST_OS.
72289
72290 2001-09-04  Paul Eggert  <eggert@twinsun.com>
72291
72292         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
72293         (jm_PREREQ): Use it.
72294
72295 2001-09-04  Paul Eggert  <eggert@twinsun.com>
72296
72297         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
72298         Use ssize_t, not int, to store result of readlink.
72299         Check for ssize_t overflow as well as size_t overflow,
72300         as POSIX says the result of readlink is implementation-defined
72301         when ssize_t overflows.
72302         Remove unnecessary cast to char*.
72303         Use free+malloc instead of realloc, as the storage doesn't need
72304         to be preserved and it's clearer and can be more efficient that way.
72305         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
72306         * lib/xreadlink.h (xreadlink): Update prototype.
72307
72308 2001-09-04  Paul Eggert  <eggert@twinsun.com>
72309
72310         * lib/xgetcwd.c: Revert some of the previous change; intead,
72311         fix the HAVE_GETCWD_NULL code to behave more like the
72312         !HAVE_GETCWD_NULL code used to.
72313
72314         Include "xalloc.h".
72315         (xgetcwd): Do not return NULL when memory is exhausted; instead,
72316         invoke xalloc_die.
72317
72318 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72319
72320         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
72321         sys/param.h, as pathmax.h includes them.
72322
72323 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72324
72325         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
72326         (jm_PREREQ_XGETCWD): New macro.
72327
72328         * m4/getcwd.m4: New file.
72329
72330 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72331
72332         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
72333         like the HAVE_GETCWD_NULL code.
72334         Include pathmax.h if not HAVE_GETCWD.
72335         Do not include xalloc.h.
72336         (INITIAL_BUFFER_SIZE): New symbol.
72337         Do not use xmalloc / xrealloc, since the caller is responsible for
72338         handling errors.  Preserve errno around `free' during failure.
72339         Do not overrun buffer when using getwd.
72340
72341 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72342
72343         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
72344         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
72345         getcwd (NULL, 0).
72346
72347 2001-09-03  Paul Eggert  <eggert@twinsun.com>
72348
72349         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
72350         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
72351         spotted by Jim Meyering.
72352
72353 2001-09-03  Jim Meyering  <meyering@lucent.com>
72354
72355         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
72356         failure.
72357
72358 2001-09-02  Jim Meyering  <meyering@lucent.com>
72359
72360         * lib/error.c: Update from GNU libc.
72361
72362 2001-09-01  Jim Meyering  <meyering@lucent.com>
72363
72364         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
72365         Used by df.
72366
72367 2001-09-01  Jim Meyering  <meyering@lucent.com>
72368
72369         * lib/xreadlink.c: New file.
72370         * lib/xreadlink.h: New file.
72371         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
72372         xreadlink.h.
72373
72374         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
72375         doesn't conflict with sparc Solaris 7's definition in
72376         /usr/include/sys/int_types.h.
72377
72378         * lib/exclude.c: Use `""', not `<>' to #include non-system header
72379         files.
72380         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
72381         and strncasecmp as r-values.  Unixware didn't have declarations.
72382
72383 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72384
72385         * lib/xstrtol.h: Add copyright notice.
72386         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
72387         LONGINT_INVALID_SUFFIX_CHAR.
72388
72389 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72390
72391         * lib/xstrtol.c (strtoimax): New decl.
72392
72393 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72394
72395         * lib/xgetcwd.c: Don't include pathmax.h.
72396         Include stdlib.h and unistd.h if available.
72397         Include xalloc.h.
72398         (xmalloc, xstrdup, free): Remove decls.
72399         (xgetcwd): Don't assume sizes fit in unsigned.
72400         Check for overflow when computing sizes.
72401         Simplify reallocation code.
72402
72403 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72404
72405         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
72406         a directory's st_size can have an arbitrary value, so the old
72407         usage could waste an arbitrary amount of memory.  All uses
72408         changed.
72409         * lib/savedir.h: Update prototype.
72410
72411 2001-08-31  Paul Eggert  <eggert@twinsun.com>
72412
72413         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
72414
72415         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
72416         old strtoimax.c.
72417
72418         Also, make the following further changes to make this file's
72419         configuration more similar to that of strtol.c:
72420         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
72421         (strtoumax, uintmax_t, strtoull, strtol): Remove.
72422         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
72423         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
72424         changed to signed values.
72425
72426         And make the following changes as well:
72427         Fix copyright notice, as 1999 was missing.
72428         (verify): New macro.
72429         (strtoimax): Check sizes at compile-time, not run-time.
72430         Prefer strtol to strtoll if both work.
72431         (main): Remove; it was not that useful and was a pain to maintain.
72432
72433         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
72434
72435 2001-08-31  Jim Meyering  <meyering@lucent.com>
72436
72437         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
72438         Use an initial, malloc'd, buffer of length 128 rather than
72439         a statically allocated one of length 1024.
72440
72441 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72442
72443         Simplify code, partly by assuming autoconf 2.52 semantics.
72444
72445         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
72446
72447         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
72448         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
72449         All uses removed.
72450         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
72451         Move AC_REQUIRE to next-to-top level, to avoid confusion.
72452         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
72453         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
72454         jm_AC_HEADER_INTTYPES_H.
72455         * m4/jm-macros.m4 (jm_MACROS): Likewise.
72456
72457         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
72458
72459         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
72460         Quote first arg of AC_DEFUN.
72461         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
72462         since they are needed to parse the include file even if we need
72463         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
72464         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
72465         but with opposite signedness.
72466
72467 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72468
72469         Merge 'exclude' changes from tar 1.13.22.
72470         This fixes one or two unlikely storage allocation overflow bugs,
72471         but doesn't change user-visible behavior otherwise.
72472
72473 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72474
72475         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
72476         (jm_PREREQ_EXCLUDE): New macro.
72477
72478 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72479
72480         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
72481         tm to be declared.
72482
72483 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72484
72485         * lib/hash.c: Remove '2001' from copyright notice.
72486
72487 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72488
72489         * lib/full-write.h: New file.
72490         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
72491         * lib/full-write.c: Correct credits, as cccp.c no longer
72492         exists and anyway it was so heavily changed from the old cccp
72493         code as to be unrecognizable.  Include full-write.h.
72494         (full_write) Return size_t, with short writes meaning failure.
72495         All callers changed.  This fixes a bug with large buffers
72496         on 64-bit hosts.
72497         * lib/utime.c: Include full-write.h.
72498
72499 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72500
72501         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
72502         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
72503         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
72504         Include if available.
72505         (<xalloc.h>): Include
72506         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
72507         (verify): New macro.  Use it to verify that EXCLUDE macros do not
72508         collide with FNM macros.
72509         (struct patopts): New struct.
72510         (struct exclude): Use it, as exclude patterns now come with options.
72511         (new_exclude): Support above changes.
72512         (new_exclude, add_exclude_file):
72513         Initial size must now be a power of two to simplify overflow checking.
72514         (free_exclude, fnmatch_no_wildcards): New function.
72515         (excluded_filename): No longer requires options arg, as the options
72516         are determined by add_exclude.  Now returns bool, not int.
72517         (excluded_filename, add_exclude):
72518         Add support for the fancy new exclusion options.
72519         (add_exclude, add_exclude_file): Now takes int options arg.
72520         Check for arithmetic overflow when computing sizes.
72521         (add_exclude_file): xrealloc might modify errno, so don't
72522         realloc until after errno might be used.
72523
72524         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
72525         New macros.
72526         (free_exclude): New decl.
72527         (add_exclude, add_exclude_file): Now takes int options arg.
72528         (excluded_filename): No longer requires options arg, as the options
72529         are determined by add_exclude.  Now returns bool, not int.
72530
72531 2001-08-30  Paul Eggert  <eggert@twinsun.com>
72532
72533         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
72534
72535 2001-08-27  Jim Meyering  <meyering@lucent.com>
72536
72537         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
72538
72539         * lib/version-etc.c (N_): Remove definition.
72540         Revert most of last change.
72541         Instead, simply don't mark the `Copyright...' string for translation.
72542         Based on advice from Paul Eggert.
72543
72544         * lib/strtoxmax.c: Tweak comment.
72545
72546 2001-08-26  Jim Meyering  <meyering@lucent.com>
72547
72548         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
72549
72550         * m4/xstrtoimax.m4: New file.
72551         * m4/xstrtoumax.m4: Add comments explaining why we
72552         AC_REPLACE_FUNCS(strtol).
72553
72554 2001-08-26  Jim Meyering  <meyering@lucent.com>
72555
72556         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
72557         of copyright with `%s' so translators don't get an untranslated
72558         message in 2002.
72559         (COPYRIGHT_YEAR): Define.
72560         (version_etc): Use fprintf rather than fputs.
72561         Suggestion from Ulrich Drepper.
72562
72563         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
72564
72565         * lib/strtoll.c: New file, from GNU libc.
72566         * lib/xstrtoimax.c: New file.
72567
72568         * lib/xstrtol.h: Add xstrtoimax.
72569         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
72570         * lib/strtoimax.c: New file.  Likewise, but first define
72571         STRTOUXMAX_SIGNED.
72572
72573         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
72574         ...
72575         * lib/strtoxmax.c: ... then renamed to this.
72576
72577 2001-08-18  Paul Eggert  <eggert@twinsun.com>
72578
72579         * m4/inttypes.m4: Add AC_PREREQ(2.13).
72580         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
72581         (jm_AC_TYPE_INTMAX_T): New macro.
72582         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
72583
72584         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
72585
72586         * m4/longlong.m4: Renamed from ulonglong.m4.
72587         * m4/inttypes.m4: Renamed from inttypes_h.m4.
72588         * m4/uintmax_t.m4: Removed.
72589
72590 2001-08-13  Paul Eggert  <eggert@twinsun.com>
72591
72592         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
72593         Port to Solaris 8, where 'sed' requires a space after the 'r'
72594         command, and where sh dislikes "$/".  Clean up the spacing a bit.
72595         Redirect output to $tmp just once.
72596
72597 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
72598
72599         * lib/addext.c (<errno.h>): Include.
72600         (errno): Declare if not defined.
72601         (addext): Work correctly when pathconf returns -1 and leaves
72602         errno alone because there is no limit.  Also, work even if
72603         pathconf returns a value greater than SIZE_MAX.
72604
72605 2001-08-12  Jim Meyering  <meyering@lucent.com>
72606
72607         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
72608         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
72609         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
72610         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
72611         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
72612         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
72613         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
72614         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
72615         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
72616         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
72617         utime.m4, utimes.m4, xstrtoumax.m4:
72618         Quote the first argument in each use of AC_DEFUN.
72619
72620 2001-08-12  Jim Meyering  <meyering@lucent.com>
72621
72622         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
72623         Simply `return getcwd (NULL, 0);'.
72624         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
72625         Use 1300 as initial value for length, not PATH_MAX.
72626
72627         * lib/pathmax.h: Clean up cpp syntax.
72628
72629 2001-08-12  Jim Meyering  <meyering@lucent.com>
72630
72631         * lib/gettimeofday.c: New file.
72632         * lib/gtod.h: New file.
72633         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
72634
72635 2001-08-05  Jim Meyering  <meyering@lucent.com>
72636
72637         * m4/jm-macros.m4: Require autoconf-2.52.
72638
72639 2001-08-04  Jim Meyering  <meyering@lucent.com>
72640
72641         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
72642         stmt, to get in sync with glibc.
72643
72644 2001-08-03  Paul Eggert  <eggert@twinsun.com>
72645
72646         The following changes are from gettext 0.10.39 as maintained by
72647         Bruno Haible.
72648
72649         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
72650         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
72651         with inverted sense.  All uses changed.
72652
72653         * lib/mbswidth.c: Don't include <limits.h>.
72654         Include <stdlib.h> and <string.h> unconditionally.
72655         (iswcntrl, mbsinit, ISCNTRL): New macros.
72656         (mbsnwidth): Use K&R style function declarations.
72657         Don't bother checking for MB_LEN_MAX == 1, since the compiler
72658         can optimize it when MB_CUR_MAX == 1.
72659         The width of control characters is zero, not 1.
72660
72661 2001-08-03  Paul Eggert  <eggert@twinsun.com>
72662
72663         The following changes are from gettext 0.10.39 as maintained by
72664         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
72665
72666         * m4/codeset.m4: Upgrade to serial AM1.
72667         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
72668         all uses changed.  Quote first arg of AC_DEFUN.
72669         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
72670
72671         * m4/iconv.m4: Upgrade to serial AM2.
72672         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
72673         Add --with-libconv-prefix.
72674         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
72675         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
72676         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
72677         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
72678         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
72679
72680         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
72681         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
72682         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
72683         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
72684         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
72685         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
72686         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
72687         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
72688         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
72689
72690         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
72691         string.h any more.
72692
72693         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
72694         not the default value.
72695
72696         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
72697         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
72698         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
72699         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
72700         Also check for iswcntrl, used for wcwidth fallback.
72701         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
72702         to Autoconf 2.13.
72703
72704 2001-08-03  Jim Meyering  <meyering@lucent.com>
72705
72706         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
72707         as it was in the original.  Reported by Paul Eggert.
72708
72709 2001-07-16  Jim Meyering  <meyering@lucent.com>
72710
72711         * m4/gettimeofday.m4: New file.
72712         Prompted by a report from Bernhard Baehr.
72713
72714 2001-07-15  Jim Meyering  <meyering@lucent.com>
72715
72716         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
72717         stuff. Now it's in ../Makefile.cfg.
72718
72719 2001-07-15  Jim Meyering  <meyering@lucent.com>
72720
72721         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
72722         (BUILT_SOURCES): Add unlocked-io.h.
72723         (io_functions): Define.
72724         (unlocked-io.h): New rule.
72725         (DISTCLEANFILES): Add unlocked-io.h.
72726         (all-local): Depend on unlocked-io.h, to ensure it is created.
72727
72728         * lib/unlocked-io.hin: New file
72729
72730         * lib/regex.c: Update from glibc.
72731
72732 2001-07-05  Jim Meyering  <meyering@lucent.com>
72733
72734         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
72735         recommendation.
72736         (libfetish_a_SOURCES): Put all .h files here instead.
72737         Remove a thus-exposed (better checks in automake) duplicate and
72738         two unnecessary .h files.
72739
72740 2001-07-04  Jim Meyering  <meyering@lucent.com>
72741
72742         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
72743         that generates jm-glibc-io.m4 so that it doesn't trigger any make
72744         distcheck failure.
72745
72746 2001-07-02  Jim Meyering  <meyering@lucent.com>
72747
72748         The following changes were prompted by suggestions from Bruno Haible.
72749
72750         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
72751         is now generated.
72752         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
72753         definition of EXTRA_DIST.
72754         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
72755         ensure that the generated file is created/updated whenever the list
72756         of $(unlocked_functions) is changed.
72757         (jm-glibc-io.m4): New rule.
72758         (unlocked-io.h): New rule -- currently unused.
72759
72760 2001-06-24  Jim Meyering  <meyering@lucent.com>
72761
72762         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
72763         unmatched right bracket, rather than kludging it with an extra,
72764         falsely-matching quote in a comment.  Patch by Akim Demaille.
72765
72766 2001-06-11  Jim Meyering  <meyering@lucent.com>
72767
72768         * lib/regex.c: Update from GNU libc.
72769
72770 2001-05-27  Jim Meyering  <meyering@lucent.com>
72771
72772         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
72773         Check for ut_type in struct utmp.
72774
72775 2001-05-27  Jim Meyering  <meyering@lucent.com>
72776
72777         * lib/readutmp.h (UT_TYPE): Define.
72778
72779 2001-05-24  Jim Meyering  <meyering@lucent.com>
72780
72781         * lib/argmatch.c: Include "quote.h".
72782         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
72783         quote function.  Reported by Göran Uddeborg.
72784
72785 2001-05-22  Jim Meyering  <meyering@lucent.com>
72786
72787         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
72788         now that we use the package-supplied version unconditionally.
72789         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
72790
72791 2001-05-21  Jim Meyering  <meyering@lucent.com>
72792
72793         * m4/regex.m4: Change a couple backticks to single quotes to avoid
72794         shell syntax errors.
72795
72796 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
72797
72798         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
72799
72800 2001-05-20  Paul Eggert  <eggert@twinsun.com>
72801
72802         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
72803         Don't bother to check library strftime, since
72804         we'll be using our own my_strftime function anyway.
72805         Define my_strftime instead of strftime.
72806
72807 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
72808
72809         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
72810         which is not yet declared.
72811
72812 2001-05-15  Jim Meyering  <meyering@lucent.com>
72813
72814         * m4/regex.m4: Use proper quoting so brackets appear in the test
72815         program.
72816         Reported by, and with help from, Bruno Haible.
72817
72818 2001-05-13  Jim Meyering  <meyering@lucent.com>
72819
72820         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
72821         undefined.
72822
72823 2001-05-11  Paul Eggert  <eggert@twinsun.com>
72824
72825         dirname code cleanup.  base_name now behaves more compatibly
72826         with POSIX basename when given file names that have trailing
72827         slashes, and similarly for dir_name.  Add new primitives
72828         base_len and dir_len.  Put the directory-name-related decls
72829         into dirname.h.
72830
72831         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
72832         * lib/backupfile.c (base_name): Likewise.
72833         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
72834         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
72835         * lib/makepath.c (strip_trailing_slashes): Likewise.
72836         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
72837         ISSLASH): Likewise.
72838         * lib/rename.c (strip_trailing_slashes): Likewise.
72839         * lib/same.c (base_name): Likewise.
72840         * lib/stripslash.c (ISSLASH): Likewise.
72841
72842         * lib/addext.c: Include <dirname.h> after size_t is defined.
72843         * lib/backupfile.c: Likewise.
72844
72845         * lib/addext.c (addext): Use base_len to trim redundant
72846         trailing slashes instead of doing it ourselves.
72847         But do not trim the last slash if it is not redundant.
72848
72849         * lib/backupfile.c (find_backup_file_name,
72850         max_backup_version): Use base_len instead of rolling it ourselves.
72851         Handle the case of "" and (on DOS) "C:" correctly.
72852
72853         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
72854         needed. Include <string.h>, <dirname.h>.
72855         (base_name): Allow file names ending in slashes, other than names
72856         that are all slashes.  In this case, return the basename followed
72857         by the slashes.  This is more general, and can be used in places
72858         where the original base_name purposely had an assertion failure.
72859         (base_len): New function.
72860
72861         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
72862         Do not include <assert.h>; no longer needed.
72863         Include xalloc.h.
72864         (memrchr): Remove decl.
72865         (dir_name_r): Remove.
72866         (dir_len): Renamed from dirlen.  All callers changed.
72867         Rewrite in terms of base_name, for simplicity and consistency.
72868         (dir_name): Never return NULL.  All callers changed.
72869         Do not include <stdlib.h> in test program; no longer needed.
72870         return 0; is fine for test program.
72871
72872         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
72873         New macros.
72874         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
72875
72876         * lib/path-concat.c (path_concat): Use base_len to compute
72877         base length, not strlen; this means we cannot rely on memcpy
72878         to null-terminate.
72879
72880         * lib/same.c (STREQ): Remove.
72881         (same_name): Handle the case where the basename ends in trailing '/'.
72882
72883         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
72884         a slash was stripped.  Do not strip the last slash after a
72885         file system prefix.
72886
72887 2001-05-11  Paul Eggert  <eggert@twinsun.com>
72888
72889         * lib/Makefile.am (libfetish_a_SOURCES):
72890         Add strftime.c, since we now compile it on all hosts.
72891
72892         * lib/strftime.c (my_strftime):
72893         Define to nstrftime if emacs, but only if my_strftime is not defined.
72894         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
72895         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
72896         Add one more extra argument: a nanoseconds value.
72897         All uses changed.
72898         (ns): New macro.
72899         (my_strftime function): Add %N format.
72900         (emacs_strftimeu): Renamed from emacs_strftime,
72901         with extra ut argument.
72902
72903 2001-05-09  Paul Eggert  <eggert@twinsun.com>
72904
72905         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
72906
72907 2001-04-21  Jim Meyering  <meyering@lucent.com>
72908
72909         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
72910         doesn't interfere.
72911
72912 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
72913
72914         * m4/ftruncate.m4: Check for chsize.
72915         Link with ftruncate.o unconditionally if ftruncate is missing.
72916         This was required when cross-compiling to i586-mingw32msvc.
72917
72918 2001-04-08  Jim Meyering  <meyering@lucent.com>
72919
72920         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
72921         recomputed; that's necessary when the offset spans a DST transition.
72922         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
72923
72924 2001-04-02  Jim Meyering  <meyering@lucent.com>
72925
72926         * lib/regex.h, regex.c: Update from GNU libc.
72927
72928 2001-03-24  Jim Meyering  <meyering@lucent.com>
72929
72930         * m4/jm-macros.m4: Require autoconf-2.49d.
72931
72932 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
72933
72934         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
72935
72936 2001-03-19  Paul Eggert  <eggert@twinsun.com>
72937
72938         * lib/version-etc.c (version_etc_copyright): Update to 2001.
72939
72940 2001-03-17  Jim Meyering  <meyering@lucent.com>
72941
72942         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
72943         now that the version in autoconf is equivalent.
72944         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
72945
72946         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
72947         Suggestion from Akim Demaille.
72948
72949         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
72950         (jm_PREREQ_TEMPNAME): New function.
72951
72952 2001-03-16  Paul Eggert  <eggert@twinsun.com>
72953
72954         * lib/tempname.c (uint64_t): Define to uintmax_t if
72955         not defined, and if UINT64_MAX is not defined.
72956         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
72957         Reported by John David Anglin.
72958
72959 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
72960
72961         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
72962         resolve alias if codeset is empty.
72963         * lib/config.charset (BeOS): Use wildcard syntax.
72964
72965 2001-03-13  Jim Meyering  <meyering@lucent.com>
72966
72967         * lib/path-concat.c (path_concat)
72968         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
72969         concatenating e.g., `C:' and `foo'.
72970         From Bruno Haible.
72971
72972 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
72973
72974         * lib/localcharset.c (locale_charset): Don't use
72975         setlocale(LC_CTYPE,NULL). Don't return NULL.
72976         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
72977
72978 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
72979
72980         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
72981         support for DOS/DJGPP.
72982
72983 2001-03-01  Paul Eggert  <eggert@twinsun.com>
72984
72985         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
72986         lacks mkstemp.  Compile our own tempname.c if we compile our own
72987         mkstemp.c, as mkstemp relies on tempname.
72988
72989 2001-03-01  Jim Meyering  <meyering@lucent.com>
72990
72991         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
72992         AH_VERBATIM really does output its argument verbatim.
72993
72994 2001-02-28  Paul Eggert  <eggert@twinsun.com>
72995
72996         * lib/Makefile.am (libfetish_a_SOURCES):
72997         Add dup-safer.c, fopen-safer.c.
72998         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
72999
73000         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
73001         * lib/unistd-safer.h: New files.
73002
73003 2001-02-25  Paul Eggert  <eggert@twinsun.com>
73004
73005         The mkstemp replacement is taken from glibc 2.2.2, with some
73006         portability fixes for use outside glibc, as follows:
73007
73008         * lib/tempname.c (struct_stat64): New macro.
73009         (direxists, __gen_tempname): Use it.
73010         This avoids a portability problem with Solaris 8.
73011
73012         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
73013         (<stddef.h>, <stdint.h>, <string.h>):
73014         Include only if STDC_HEADERS || _LIBC.
73015         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
73016         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
73017         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
73018         (__set_errno): Define this macro if <errno.h> doesn't.
73019         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
73020         Define these macros if <stdio.h> doesn't.
73021         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
73022         Define these macros if <sys/stat.h>
73023         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
73024         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
73025         __xstat64): Define if not _LIBC.
73026         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
73027         (__gen_tempname): Invoke gettimeofday only if
73028         HAVE_GETTIMEOFDAY || _LIBC;
73029         otherwise, fall back on plain "time".
73030         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
73031
73032         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
73033
73034         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
73035
73036 2001-02-18  Paul Eggert  <eggert@twinsun.com>
73037
73038         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
73039
73040 2001-02-17  Paul Eggert  <eggert@twinsun.com>
73041
73042         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
73043         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
73044         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
73045         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
73046
73047 2001-02-17  Paul Eggert  <eggert@twinsun.com>
73048
73049         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
73050         Remove workaround macros for hosts that have mbrtowc but not
73051         mbstate_t, as we now insist on proper declarations for both
73052         before using mbrtowc.
73053
73054 2001-02-17  Jim Meyering  <meyering@lucent.com>
73055
73056         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
73057         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
73058         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
73059         UnixWare 7.1.1.
73060
73061         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
73062         rather than AC_CACHE_VAL.
73063
73064 2001-02-17  Jim Meyering  <meyering@lucent.com>
73065
73066         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
73067         around included file name.
73068
73069         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
73070
73071         * lib/strftime.c: Update from GNU libc (the only changes were to
73072         comments).
73073
73074 2001-02-17  Jim Meyering  <meyering@lucent.com>
73075
73076         * lib/regex.c: Update from libc.
73077
73078 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
73079
73080         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
73081         clash.
73082
73083 2001-02-16  Paul Eggert  <eggert@twinsun.com>
73084
73085         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
73086         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
73087         Reported by Mark Hounschell via Paul Eggert.
73088
73089 2001-02-07  Jim Meyering  <meyering@lucent.com>
73090
73091         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
73092
73093 2001-02-05  Jim Meyering  <meyering@lucent.com>
73094
73095         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
73096         it includes the patch required for `large file' support with at least
73097         HP-UX's 10.20 /bin/cc.
73098
73099 2001-02-03  Jim Meyering  <meyering@lucent.com>
73100
73101         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
73102         AS_IF, now that it works once again (mysteriously).
73103         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
73104
73105 2001-01-30  Jim Meyering  <meyering@lucent.com>
73106
73107         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
73108         * m4/chown.m4: Rename conftestchown to conftest.chown.
73109         * m4/rename.m4: s/conftestdir/conftest.d1/ and
73110         s/conftestdir2/conftest.d2/.
73111         * m4/utimes.m4: s/conftestdata/conftest.data/
73112         Inspired by Pavel Roskin's change in autoconf.
73113
73114 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
73115
73116         * lib/config.charset: Update for FreeBSD 4.2.
73117
73118 2001-01-27  Jim Meyering  <meyering@lucent.com>
73119
73120         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
73121         a use of AS_IF.
73122         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
73123
73124 2001-01-26  Jim Meyering  <meyering@lucent.com>
73125
73126         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
73127         quotearg.c includes it.
73128
73129 2001-01-26  Jim Meyering  <meyering@lucent.com>
73130
73131         * lib/quotearg.c: Include stddef.h.
73132         * lib/quote.c: Include stddef.h.
73133         Reported by Axel Kittenberger.
73134
73135         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
73136         line in double quotes so that it evokes a better diagnostic.
73137         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
73138         Reported by Axel Kittenberger.
73139
73140 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
73141
73142         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
73143         as if it was a `charset'.
73144
73145 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
73146
73147         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
73148         has const.
73149
73150 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
73151
73152         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
73153         to avoid a warning.  Add back 'const' to inptr.
73154
73155 2001-01-20  Jim Meyering  <meyering@lucent.com>
73156
73157         Be sure that headers are checked before used in code compiled
73158         for the type checks.
73159         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
73160         In place of that, invoke jm_CHECK_ALL_TYPES.
73161         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
73162         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
73163         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
73164         The check for ssize_t was mistakenly run before the test for unistd.h.
73165
73166         The configure-time check for stdbool.h was missing.
73167         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
73168         (jm_PREREQ_HASH): New function.
73169
73170 2001-01-17  Jim Meyering  <meyering@lucent.com>
73171
73172         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
73173         for autoconf-2.49c.
73174         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
73175
73176 2001-01-16  Jim Meyering  <meyering@lucent.com>
73177
73178         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
73179         From Bruno Haible.
73180
73181 2001-01-14  Jim Meyering  <meyering@lucent.com>
73182
73183         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
73184         foo and bar.  Create conftestdir/ in the script, not in the C code.
73185         Remove directories in the script, not in the C code.
73186         Remove conftestdir{,2} before trying to create the directory.
73187         Make the entire configure script fail if the mkdir fails.
73188
73189 2001-01-14  Jim Meyering  <meyering@lucent.com>
73190
73191         * lib/rename.c: New file.  From Volker Borchert.
73192         Include stdlib.h, string.h or strings.h, and xalloc.h.
73193         Use strip_trailing_slashes rather than open-coding it.
73194
73195 2001-01-03  Paul Eggert  <eggert@twinsun.com>
73196
73197         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
73198
73199 2001-01-03  Jim Meyering  <meyering@lucent.com>
73200
73201         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
73202         of local `inptr' to avoid warning with some system declarations of
73203         iconv.
73204
73205 2001-01-02  Volker Borchert  <bt@teknon.de>
73206
73207         * m4/rename.m4: New file.
73208         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
73209
73210 2001-01-01  Jim Meyering  <meyering@lucent.com>
73211
73212         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
73213         even on systems with utmpx.h.  It's necessary for the declaration of
73214         utmp's ut_user member.  Reported by Andreas Jaeger.
73215
73216         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
73217         available. They are required for the declarations of getgrgid and
73218         getpwuid resp.
73219         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
73220         Reported by Andreas Jaeger.
73221
73222 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
73223
73224         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
73225         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
73226         so `make install' also works in VPATH builds.
73227
73228 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
73229
73230         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
73231         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
73232         can be used in subdirectories.
73233
73234 2000-12-29  Paul Eggert  <eggert@twinsun.com>
73235
73236         * lib/modechange.c: Do not assume that mode_t uses the
73237         traditional octal encoding.  E.g. "chmod 1 FOO" should set
73238         the other-execute bit of FOO even if S_IXOTH != 1.
73239
73240         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
73241         WOTH, XOTH, ALLM): New macros.
73242         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
73243          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
73244         Use them.
73245         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
73246         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
73247         (mode_compile):
73248         No need to use uintmax_t; unsigned long is long enough.
73249         Don't bother to get suffix since we don't use it.
73250
73251 2000-12-26  Jim Meyering  <meyering@lucent.com>
73252
73253         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
73254         better with autoheader.
73255
73256 2000-12-24  Jim Meyering  <meyering@lucent.com>
73257
73258         * lib/hash.c (is_prime): Return explicit boolean values.
73259         (hash_get_first): Return NULL to appease Irix5.6's 89.
73260         Reported by Nelson Beebe.
73261
73262 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
73263
73264         * lib/localcharset.c (locale_charset): Add support for Win32.
73265
73266 2000-12-18  Paul Eggert  <eggert@twinsun.com>
73267
73268         * lib/physmem.h, lib/physmem.c: New files.
73269
73270         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
73271         (noinst_HEADERS): Add physmem.h.
73272
73273         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
73274         't' for compatibility with Solaris 8 sort.
73275
73276 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
73277
73278         * lib/config.charset: Add support for BeOS.
73279
73280 2000-12-17  Jim Meyering  <meyering@lucent.com>
73281
73282         * m4/dos.m4 (jm_AC_DOS): New file and macro.
73283         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
73284
73285 2000-12-16  Jim Meyering  <meyering@lucent.com>
73286
73287         This bug had a serious impact on chown: `chown N:M FILE' (for integer
73288         N and M) would have treated it like `chown N:N FILE'.
73289
73290         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
73291
73292 2000-12-16  Jim Meyering  <meyering@lucent.com>
73293
73294         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
73295         SHELLS_FILE to a file name that's useful on djgpp systems.
73296         Include stdlib.h.
73297         (ADDITIONAL_DEFAULT_SHELLS): Define.
73298         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
73299         Based mostly on a patch from Prashant TR.
73300
73301 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
73302
73303         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
73304         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
73305         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
73306
73307 2000-12-08  Andreas Schwab  <schwab@suse.de>
73308
73309         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
73310         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
73311
73312 2000-12-07  Jim Meyering  <meyering@lucent.com>
73313
73314         * lib/stripslash.c (ISSLASH): Define.
73315         (strip_trailing_slashes): Use ISSLASH rather than comparing against
73316         `/'.
73317         From Prashant TR.
73318
73319         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
73320         (dir_name_r): Declare this function as static.
73321         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
73322         manifest itself on a name containing a mix of slashes and
73323         backslashes.
73324         Make this function work with names starting with a DOS-style
73325         drive letter and colon prefix.
73326         (dir_name): Append `.' if necessary.
73327         Based mostly on patches from Prashant TR and Eli Zaretskii.
73328
73329         * lib/dirname.h (dir_name_r): Remove prototype.
73330
73331 2000-12-06  Paul Eggert  <eggert@twinsun.com>
73332
73333         * m4/off_t-format.m4: Remove this file.
73334         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
73335
73336 2000-12-06  Jim Meyering  <meyering@lucent.com>
73337
73338         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
73339         replacement strtoull, we may well need the replacement strtoul, too.
73340         Check for declarations of strtoul and strtoull.
73341         Check for strtol.  Mainly as a cue to cause automake to include
73342         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
73343         Check for limits.h -- strtol.c needs it.
73344
73345 2000-12-05  Jim Meyering  <meyering@lucent.com>
73346
73347         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
73348
73349 2000-12-04  Jim Meyering  <meyering@lucent.com>
73350
73351         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
73352         Also include memory.h, stdlib.h, unistd.h if appropriate.
73353         Reported by Andreas Jaeger (conflicting declaration of malloc).
73354
73355 2000-12-02  Jim Meyering  <meyering@lucent.com>
73356
73357         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
73358         * m4/jm-macros.m4 (jm_MACROS): require it.
73359
73360 2000-12-02  Jim Meyering  <meyering@lucent.com>
73361
73362         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
73363
73364 2000-12-01  Paul Eggert  <eggert@twinsun.com>
73365
73366         * lib/memrchr.c: Include <config.h> before any system include file.
73367
73368 2000-11-30  Jim Meyering  <meyering@lucent.com>
73369
73370         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
73371
73372 2000-11-30  Jim Meyering  <meyering@lucent.com>
73373
73374         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
73375
73376 2000-11-29  Paul Eggert  <eggert@twinsun.com>
73377
73378         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
73379
73380 2000-11-26  Jim Meyering  <meyering@lucent.com>
73381
73382         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
73383
73384 2000-11-22  Paul Eggert  <eggert@twinsun.com>
73385
73386         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
73387         size of (size_t) -1; it's not portable.
73388
73389 2000-11-17  Jim Meyering  <meyering@lucent.com>
73390
73391         * lib/strstr.c: Update from GNU libc.
73392
73393 2000-11-17  Akim Demaille  <akim@epita.fr>
73394
73395         * lib/obstack.h: Formatting changes.
73396         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
73397         prevent type checking.
73398         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
73399         cast the value to (void *): assigning a `foo *' to a `void *'
73400         variable is valid.
73401         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
73402
73403 2000-11-16  Jim Meyering  <meyering@lucent.com>
73404
73405         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
73406
73407 2000-11-11  Jim Meyering  <meyering@lucent.com>
73408
73409         * lib/error.c: Add a couple #includes, merging from GNU libc version.
73410
73411 2000-11-10  Jim Meyering  <meyering@lucent.com>
73412
73413         * lib/obstack.h: Update from GNU libc.
73414         * lib/obstack.c: Likewise.
73415
73416 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
73417
73418         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
73419
73420 2000-11-06  Paul Eggert  <eggert@twinsun.com>
73421
73422         * lib/getusershell.c (setusershell): Use rewind rather than
73423         fseek/fseeko, to avoid configuration hassles with fseeko.
73424         Don't bother opening SHELLS_FILE if shellstream is NULL;
73425         it's not necessary.
73426
73427 2000-11-05  Jim Meyering  <meyering@lucent.com>
73428
73429         * lib/makepath.h (make_dir): Declare.
73430         * lib/makepath.c (make_dir): Remove `static' attribute.
73431         Tweak a comment.
73432
73433 2000-11-04  Jim Meyering  <meyering@lucent.com>
73434
73435         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
73436
73437 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
73438
73439         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
73440         last one in a bucket, advance to the next bucket.
73441
73442 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
73443
73444         * lib/fnmatch.c: Do not comment out all the code if we are using
73445         the GNU C library, because in some cases we are replacing buggy
73446         code in the GNU C library itself.
73447
73448 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
73449
73450         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
73451         (regex_compile): Catch bogus \(\1\).
73452
73453 2000-10-30  Paul Eggert  <eggert@twinsun.com>
73454
73455         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
73456         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
73457         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
73458
73459 2000-10-30  Paul Eggert  <eggert@twinsun.com>
73460
73461         * lib/error.h, getline.h, modechange.h:
73462         Remove "2000" from Copyright line, as the file hasn't been
73463         changed this year other than in the copyright notice.
73464
73465         * lib/xalloc.h: Add "2000" to Copyright line, as this file
73466         was changed this year.
73467
73468 2000-10-29  Jim Meyering  <meyering@lucent.com>
73469
73470         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
73471         renaming.
73472         * m4/ls-mntd-fs.m4: Likewise
73473
73474 2000-10-29  Jim Meyering  <meyering@lucent.com>
73475
73476         * lib/xstat.in: Fix grammar in comment.
73477
73478 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
73479
73480         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
73481         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
73482         doesn't define __restrict_arr.
73483
73484 2000-10-28  Jim Meyering  <meyering@lucent.com>
73485
73486         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
73487         (jm_PREREQ_MEMCHR): New function.
73488
73489 2000-10-28  Jim Meyering  <meyering@lucent.com>
73490
73491         * lib/memchr.c: Update from libc.
73492         Adjust for portability:
73493         [HAVE_STDLIB_H]: Include stdlib.h.
73494         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
73495         Undef __memchr, too.
73496         [!weak_alias]: Define __memchr to memchr.
73497
73498         * lib/regex.c: Update from libc.
73499         * lib/regex.h: Likewise.
73500         * lib/getopt1.c: Likewise.
73501         * lib/memcmp.c: Likewise.
73502
73503         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
73504         Avoid using fseek, when possible -- it's broken by design.
73505         Patch by Ulrich Drepper.
73506
73507 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
73508
73509         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
73510         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
73511         Giving in to popular pressure to shut up the compiler with casts.
73512
73513 2000-10-26  Jim Meyering  <meyering@lucent.com>
73514
73515         * lib/strftime.c: Update from libc.
73516
73517 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
73518
73519         * regex.c: More `unsigned char' -> `re_char' changes.
73520         Also change several `int' into `re_wchar_t'.
73521         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
73522         (PUSH_FAILURE_POINTER): Don't cast any more.
73523         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
73524         We want GCC to complain, since this piece of code makes
73525         re_match non-reentrant, which *should* be fixed.
73526         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
73527         (EXTEND_BUFFER): Use RETALLOC.
73528         (SET_LIST_BIT): Don't cast.
73529         (re_wchar_t): New type.
73530         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
73531         that those two functions will always properly return.
73532         (IMMEDIATE_QUIT_CHECK): Cast to void.
73533         (analyse_first): Use recursion rather than an explicit stack.
73534         (re_compile_fastmap): Can't fail anymore.
73535         (re_search_2): Don't check re_compile_fastmap for failure.
73536         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
73537         Now also sets the new value (passed in a new argument).
73538         (re_match_2_internal): Use it.
73539         Also, use a new var `reg' of type size_t when looping through regs
73540         rather than reuse the inappropriate `mcnt'.
73541
73542 2000-10-25  Jim Meyering  <meyering@lucent.com>
73543
73544         * lib/obstack.c: Update from libc.
73545
73546 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
73547
73548         * regex.c (regex_compile): Change the way of handling a range from
73549         a char less than 256 to a char not less than 256.
73550
73551 2000-10-24  Andrew Innes  <andrewi@gnu.org>
73552
73553         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
73554         NT-Emacs only.
73555         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
73556         so that re_search functions only quit when callers expect them to.
73557
73558 2000-10-23  Jim Meyering  <meyering@lucent.com>
73559
73560         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
73561         wrong.  That set_locale call must not have any side effects.
73562         From Paul Eggert.
73563
73564 2000-10-22  Jim Meyering  <meyering@lucent.com>
73565
73566         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
73567         [CYCLIC]: Remove now-unused definition.
73568
73569         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
73570         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
73571         Suggestion from Ulrich Drepper.
73572
73573 2000-10-21  Jim Meyering  <meyering@lucent.com>
73574
73575         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
73576         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
73577         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
73578
73579 2000-10-21  Jim Meyering  <meyering@lucent.com>
73580
73581         * lib/dirname.c (memrchr): Declare if necessary.
73582         (dir_name): Remove the restriction that there be no
73583         trailing slashes.  Now, this code skips past them, effectively
73584         ignoring them.
73585         [TEST_DIRNAME] (main): New unit tests.
73586
73587         * lib/memrchr.c: New file from GNU libc.
73588         Undef __memrchr, too.
73589         [!weak_alias]: Define __memrchr to memrchr.
73590         Guard weak_alias use with `#ifdef weak_alias'.
73591
73592 2000-10-21  Jim Meyering  <meyering@lucent.com>
73593
73594         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
73595         (dir_name): Use dir_name_r.
73596         * lib/dirname.h (dir_name_r): Declare it.
73597
73598 2000-10-17  Jim Meyering  <meyering@lucent.com>
73599
73600         * lib/quote.h (PARAMS): Define and use.
73601         Reported by Akim Demaille.
73602
73603         * lib/getopt.c: Update from libc.
73604
73605 2000-10-16  Jim Meyering  <meyering@lucent.com>
73606
73607         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
73608         setlocale.
73609         From Jan Fedak.
73610
73611 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
73612
73613         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
73614
73615 2000-09-25  Jim Meyering  <meyering@lucent.com>
73616
73617         * lib/md5.h (rol): Define (from GnuPG).
73618
73619         * lib/sha.c: Give credit (GnuPG) where due.
73620         (M): Use rol rather than open-coding it.
73621         Add a FIXME comment.
73622
73623 2000-09-21  Jim Meyering  <meyering@lucent.com>
73624
73625         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
73626         Reported by Michael Stone.
73627
73628 2000-09-20  Jim Meyering  <meyering@lucent.com>
73629
73630         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
73631         (noinst_HEADERS): Add sha.h.
73632         Based on code from Scott G. Miller and from GnuPG.
73633
73634 2000-09-18  Jim Meyering  <meyering@lucent.com>
73635
73636         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
73637         LIBS. Otherwise, everyone ends up linking with -lelf for some
73638         configurations.
73639         Reported by Mike Stone.
73640
73641 2000-09-15  Jim Meyering  <meyering@lucent.com>
73642
73643         * lib/regex.c: Update from libc.
73644
73645 2000-09-10  Jim Meyering  <meyering@lucent.com>
73646
73647         * lib/getopt.c (_getopt_internal): Update from glibc.
73648
73649 2000-09-09  Jim Meyering  <meyering@lucent.com>
73650
73651         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
73652         think it should be used as a general replacement for isascii.
73653         * lib/fnmatch.c: Likewise.
73654         * lib/mbswidth.c: Likewise
73655         * lib/regex.c: Likewise.
73656
73657         Don't use atoi.
73658         * lib/userspec.c: Include sys/param.h and limits.h.
73659         Include xstrtol.h.
73660         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
73661         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
73662         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
73663         UID, GID.  Check range.
73664
73665 2000-09-06  Jim Meyering  <meyering@lucent.com>
73666
73667         * lib/getopt.c (_getopt_internal): Update from glibc.
73668
73669 2000-08-30  Jim Meyering  <meyering@lucent.com>
73670
73671         * lib/strftime.c: Merge in changes from GNU libc.
73672
73673 2000-08-26  Jim Meyering  <meyering@lucent.com>
73674
73675         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
73676         * m4/fpending.m4: New file.
73677
73678 2000-08-26  Jim Meyering  <meyering@lucent.com>
73679
73680         * lib/closeout.c: Include "__fpending.h".
73681         (close_stdout_status): Return right away if there's nothing to flush.
73682
73683         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
73684         * lib/__fpending.c: New file.
73685         * lib/__fpending.h: New file.
73686
73687 2000-08-20  Jim Meyering  <meyering@lucent.com>
73688
73689         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
73690         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
73691         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
73692
73693 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
73694
73695         Improve fileutils installation on systems where running
73696         programs (like install) can't be unlinked.
73697         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
73698         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
73699
73700 2000-08-07  Paul Eggert  <eggert@twinsun.com>
73701
73702         Standardize on "memory exhausted" instead of "Memory exhausted"
73703         or "virtual memory exhausted".
73704         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
73705         "virtual memory exhausted".
73706         * lib/same.c (same_name): Invoke xalloc_die instead of printing
73707         our own message.
73708         * lib/userspec.c (parse_user_spec): Likewise.
73709         * lib/bumpalloc.h: comment fix
73710         * lib/same.c, userspec.c: Include xalloc.h.
73711
73712         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
73713         not char *const and pointing to a constant array.
73714         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
73715         (xrealloc): Comment fix.
73716
73717         * lib/userspec.c (parse_user_spec):
73718         Don't translate a message until just before returning,
73719         to avoid unnecessary translation.
73720
73721 2000-08-07  Jim Meyering  <meyering@lucent.com>
73722
73723         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
73724         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
73725         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
73726         getgroups.c, gethostname.c, getopt.h, group-member.c,
73727         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
73728         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
73729         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
73730         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
73731         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
73732         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
73733         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
73734         yesno.c: Back out Copyright date changes for each file with no change
73735         this year.  This eases coordination with other programs using the same
73736         source code modules.  From Paul Eggert.
73737
73738 2000-08-06  Paul Eggert  <eggert@twinsun.com>
73739
73740         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
73741         not char, for compatibility with glibc 2.1.3 strftime.c.
73742
73743 2000-08-03  Greg McGary  <greg@mcgary.org>
73744
73745         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
73746         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
73747         (EXTEND_BUFFER): Use them.
73748
73749 2000-08-01  Jim Meyering  <meyering@lucent.com>
73750
73751         * lib/dirname.c (ISSLASH): Define.
73752         (BACKSLASH_IS_PATH_SEPARATOR): Define.
73753         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
73754         both `\' and `/' may be use as path separators.
73755         Based on a patch from Prashant TR.
73756
73757 2000-07-31  Paul Eggert  <eggert@twinsun.com>
73758
73759         * lib/quotearg.c (quotearg_n_options): Don't make the initial
73760         slot vector a constant, since it might get modified.
73761
73762 2000-07-31  Jim Meyering  <meyering@lucent.com>
73763
73764         * lib/xmalloc.c: Use `virtual memory exhausted', not
73765         `Memory exhausted'.
73766         * lib/obstack.c (print_and_abort): Likewise.
73767
73768 2000-07-30  Paul Eggert  <eggert@twinsun.com>
73769
73770         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
73771         buffer, so that the caller can always quote one small
73772         component of a "memory exhausted" message in slot 0.
73773         From a suggestion by Jim Meyering.
73774
73775 2000-07-30  Jim Meyering  <meyering@lucent.com>
73776
73777         * lib/makepath.c (make_path): Quote the other instance, too.
73778
73779         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
73780         (STATIC_BUF_SIZE): Define.
73781         (quotearg_n_options): Use only statically allocated storage when
73782         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
73783         than STATIC_BUF_SIZE.
73784
73785 2000-07-29  Jim Meyering  <meyering@lucent.com>
73786
73787         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
73788         * lib/dirname.c (dir_name): Likewise.
73789
73790         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
73791         `/'.
73792
73793         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
73794         (dir_name): Assert that there are no trailing slashes.
73795
73796 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
73797
73798         * lib/mbswidth.h (mbswidth): Add a flags argument.
73799         (mbswidth): New declaration.
73800         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
73801         * lib/mbswidth.c (mbswidth): Add a flags argument.
73802         (mbsnwidth): New function.
73803
73804 2000-07-24  Jim Meyering  <meyering@lucent.com>
73805
73806         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
73807
73808 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73809
73810         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
73811
73812 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73813
73814         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
73815         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
73816         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
73817         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
73818         invoke multibyte primitives.
73819
73820 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73821
73822         * lib/quotearg.c:
73823         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
73824         so that mbstate_t is always defined.
73825
73826         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
73827         be 1 in at least one GCC installation, and this configuration
73828         error is likely to be common.  Ignoring MB_LEN_MAX hurts
73829         performance on hosts that have mbrtowc but have only unibyte
73830         locales, but I assume these hosts are rare.
73831
73832 2000-07-23  Paul Eggert  <eggert@twinsun.com>
73833
73834         * lib/mbswidth.c (_XOPEN_SOURCE):
73835         Don't define; this causes problems on Solaris 7.
73836         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
73837
73838 2000-07-23  Jim Meyering  <meyering@lucent.com>
73839
73840         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
73841         too: getgrgid, getpwuid, getuid.
73842
73843 2000-07-23  Jim Meyering  <meyering@lucent.com>
73844
73845         * lib/basename.c (base_name): Add an assertion.
73846
73847 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
73848
73849         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
73850         shadow its mbsinit function.
73851
73852 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
73853
73854         * lib/mbswidth.h: New file.
73855         * lib/mbswidth.c: New file.
73856         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
73857         (noinst_HEADERS): Add mbswidth.h.
73858
73859 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
73860
73861         * lib/config.charset: Add support for FreeBSD. Improve support for
73862         HP-UX and IRIX 6.
73863
73864 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
73865
73866         * m4/mbswidth.m4: New file.
73867         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
73868
73869 2000-07-15  Jim Meyering  <meyering@lucent.com>
73870
73871         * lib/makepath.c: Include quote.h.
73872         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
73873         corresponding argument in a `quote (...)' call.
73874         Give better diagnostics.
73875
73876         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
73877         (noinst_HEADERS): Add quote.h.
73878
73879         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
73880         from tar's src/misc.c.
73881         * lib/quote.h: New file.  Prototypes for same.
73882
73883 2000-07-14  Paul Eggert  <eggert@twinsun.com>
73884
73885         From a suggestion by Bruno Haible.
73886         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
73887         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
73888         to decide whether to define the BeOS workaround macro;
73889         this adjusts to the change to AC_MBSTATE_T.
73890
73891 2000-07-14  Jim Meyering  <meyering@lucent.com>
73892
73893         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
73894         jm_AC_TYPE_UINTMAX_T.
73895
73896 2000-07-13  Paul Eggert  <eggert@twinsun.com>
73897
73898         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
73899
73900         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
73901         quotearg_buffer_restyled): Add support for
73902         clocale_quoting_style.  Undo previous change to
73903         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
73904         and "{RIGHT QUOTATION MARK}" msgids.
73905
73906 2000-07-10  Paul Eggert  <eggert@twinsun.com>
73907
73908         From a suggestion by Bruno Haible.
73909         * m4/mbstate_t.m4 (AC_MBSTATE_T):
73910         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
73911         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
73912         and mbstate_t, to a single-part test that simply defines mbstate_t.
73913         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
73914         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
73915
73916 2000-07-10  Jim Meyering  <meyering@lucent.com>
73917
73918         * m4/strerror_r.m4: Mirror the correction made in autoconf.
73919
73920         * m4/gnu-source.m4: Output to confdefs.h directly.
73921         Suggestion from Akim Demaille.
73922
73923 2000-07-09  Paul Eggert  <eggert@twinsun.com>
73924
73925         The old behavior of quoting `like this' doesn't look good with
73926         newer, ISO-style fonts.  See:
73927         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
73928
73929         Instead, quote "like this" by default.  Let the translator
73930         tailor the locale-specific quoting behavior by providing
73931         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
73932
73933         * lib/quotearg.c (N_): New macro.
73934         (gettext_default): New function.
73935         (quotearg_buffer_restyled): Use
73936         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
73937         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
73938
73939 2000-07-09  Jim Meyering  <meyering@lucent.com>
73940
73941         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
73942         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
73943
73944         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
73945         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
73946
73947 2000-07-09  Jim Meyering  <meyering@lucent.com>
73948
73949         * lib/Most files: Update copyright dates to include 2000.
73950
73951 2000-07-08  Jim Meyering  <meyering@lucent.com>
73952
73953         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
73954         if not defined.
73955         (xgethostname): Remove now-unnecessary #ifdef.
73956         Move declaration of `err' into loop where it's used.
73957
73958 2000-07-05  Paul Eggert  <eggert@twinsun.com>
73959         and Bruno Haible  <haible@clisp.cons.org>
73960
73961         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
73962         only if the test for an object-type mbstate_t fails.  This
73963         prevents us from mistakenly reporting that mbstate_t is a
73964         system object type after we "#define mbstate_t int" to work
73965         around its lack.
73966
73967 2000-07-05  Paul Eggert  <eggert@twinsun.com>
73968         and Bruno Haible  <haible@clisp.cons.org>
73969
73970         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
73971
73972 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
73973
73974         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
73975         to strerror_r.
73976         Include <ctype.h> for use of isalpha.
73977
73978 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
73979
73980         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
73981         by allocating a larger buffer. Test the gethostname return value for
73982         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
73983         returns an error and ENAMETOOLONG isn't defined.
73984
73985 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
73986
73987         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
73988         dimension.
73989
73990 2000-07-04  Jim Meyering  <meyering@lucent.com>
73991
73992         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
73993         of the deprecated AC_CHECKING.
73994
73995 2000-07-04  Jim Meyering  <meyering@lucent.com>
73996
73997         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
73998         Reported by Bruno Haible.
73999
74000 2000-07-04  Jim Meyering  <meyering@lucent.com>
74001
74002         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
74003         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
74004         lacks mbrtowc.
74005
74006 2000-07-03  Paul Eggert  <eggert@twinsun.com>
74007
74008         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
74009         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
74010
74011 2000-07-03  Paul Eggert  <eggert@twinsun.com>
74012         and Bruno Haible  <haible@clisp.cons.org>
74013
74014         * lib/quotearg.c (mbrtowc):
74015         Assign to *pwc, and return 1 only if result is nonzero.
74016         (iswprint): Use ISPRINT when substituting our own mbrtowc.
74017
74018 2000-07-03  Jim Meyering  <meyering@lucent.com>
74019
74020         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
74021
74022 2000-07-03  Jim Meyering  <meyering@lucent.com>
74023
74024         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
74025         This is necessary to get a definition of e.g., UTMP_FILE on
74026         HP-UX 10.20.
74027         From Bob Proulx.
74028
74029 2000-07-02  Jim Meyering  <meyering@lucent.com>
74030
74031         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
74032
74033         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
74034         AC_LIBOBJ(function_name).
74035         * m4/chown.m4: Likewise.
74036         * m4/fnmatch.m4: Likewise.
74037         * m4/ftruncate.m4: Likewise.
74038         * m4/getgroups.m4: Likewise.
74039         * m4/getline.m4: Likewise.
74040         * m4/group-member.m4: Likewise.
74041         * m4/jm-macros.m4: Likewise.
74042         * m4/lstat.m4: Likewise.
74043         * m4/malloc.m4: Likewise.
74044         * m4/memcmp.m4: Likewise.
74045         * m4/nanosleep.m4: Likewise.
74046         * m4/putenv.m4: Likewise.
74047         * m4/realloc.m4: Likewise.
74048         * m4/regex.m4: Likewise.
74049         * m4/stat.m4: Likewise.
74050         * m4/strftime.m4: Likewise.
74051
74052 2000-07-02  Jim Meyering  <meyering@lucent.com>
74053
74054         * lib/quotearg.c (mbstate_t): Don't define here.
74055
74056 2000-07-02  Jim Meyering  <meyering@lucent.com>
74057
74058         * lib/nanosleep.c (SIGCONT): Define if not already defined.
74059
74060 2000-07-01  Jim Meyering  <meyering@lucent.com>
74061
74062         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
74063
74064 2000-07-01  Jim Meyering  <meyering@lucent.com>
74065
74066         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
74067         problem.
74068
74069 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
74070
74071         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
74072         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
74073
74074 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
74075
74076         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
74077         per change in ../m4/ls-mntd-fs.m4.
74078         (read_filesystem_list): Ignore symbolic links.
74079
74080 2000-06-29  Jim Meyering  <meyering@lucent.com>
74081
74082         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
74083         for declaration of strcmp.
74084
74085         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
74086
74087         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
74088         Avoid warning by casting result to `char *' to remove `const'.
74089
74090 2000-06-28  Jim Meyering  <meyering@lucent.com>
74091
74092         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
74093         included by quotearg.c, for which we perform this test.  From
74094         Bruno Haible.
74095
74096 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
74097
74098         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
74099         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
74100         <utmpx.h> exists, put readutmp.o into LIBOBJS.
74101
74102 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
74103
74104         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
74105
74106 2000-06-26  Paul Eggert  <eggert@twinsun.com>
74107
74108         savedir now sets errno on failure and invokes xmalloc to get memory.
74109         Fix a couple of other minor bugs while we're at it.
74110
74111         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
74112         (NAMLEN): Remove macro.
74113         (malloc, realloc): Remove decls.
74114         (stpcpy): Likewise.
74115         ("xalloc.h"): Include.
74116         (NAME_SIZE_DEFAULT): New macro.
74117         (savedir): Use xmalloc / xrealloc to allocate memory.
74118         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
74119         Skip "" directory entries.
74120         Use strlen to calculate directory entry length, since the old method
74121         is rarely used these days and isn't worth supporting.
74122         Don't use a pointer after freeing it.
74123         Check for integer overflow when calculating allocation size.
74124         Use memcpy to copy entries, instead of stpcpy.
74125         Set errno properly when returning NULL.
74126         Check for readdir error.
74127
74128 2000-06-26  Jim Meyering  <meyering@lucent.com>
74129
74130         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
74131
74132 2000-06-25  Jim Meyering  <meyering@lucent.com>
74133
74134         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
74135         Linux header bug when _XOPEN_SOURCE is defined to 500.
74136
74137 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
74138
74139         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
74140         deficiency.
74141
74142 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
74143
74144         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
74145         Include xalloc.h.
74146         Don't include <stdlib.h>.  Don't declare malloc, realloc.
74147
74148 2000-06-24  Jim Meyering  <meyering@lucent.com>
74149
74150         * m4/strerror_r.m4: Revive this file -- to try out an experimental
74151         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
74152         for which strerror does return char*, but which lacks a conveniently
74153         accessible declaration of the function.  If the compile-test says
74154         strerror_r doesn't work, then resort to a `run'-test that works on
74155         BeOS and segfaults on DEC Unix.
74156
74157 2000-06-24  Jim Meyering  <meyering@lucent.com>
74158
74159         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
74160
74161 2000-06-23  Paul Eggert  <eggert@twinsun.com>
74162
74163         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
74164         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
74165
74166 2000-06-23  Paul Eggert  <eggert@twinsun.com>
74167
74168         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
74169         (mbrtowc, mbstate_t): Define substitutes if
74170         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
74171         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
74172         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
74173
74174 2000-06-23  Jim Meyering  <meyering@lucent.com>
74175
74176         * m4/afs.m4: Add missing AC_MSG_RESULT.
74177         Reported by Bruno Haible.
74178
74179         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
74180         Suggestion from Bruno Haible.
74181
74182 2000-06-23  Jim Meyering  <meyering@lucent.com>
74183
74184         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
74185
74186 2000-06-21  Jim Meyering  <meyering@lucent.com>
74187
74188         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
74189
74190 2000-06-21  Jim Meyering  <meyering@lucent.com>
74191
74192         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
74193         (noinst_HEADERS): Add getstr.h.
74194
74195         * lib/getline.c (getstr): Move into a separate file.
74196         * lib/getstr.c (getstr): New file, extracted from getline.c, with
74197         the following changes: new parameter, delim2; both delim[12]
74198         parameters have type `int', not `char'.  The latter would lose
74199         with 8-bit delimiters.
74200         * lib/getstr.h: New file.
74201
74202 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
74203
74204         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
74205         than 1024, return a memory chunk of least possible size, instead
74206         of size PATH_MAX + 2. In the loop, increment the size proportionally.
74207         Use free/xmalloc instead of xrealloc to avoid copying for very long
74208         paths.
74209
74210 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
74211
74212         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
74213         the empty string.
74214
74215 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
74216
74217         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
74218         address, not strdup.  Include <stdlib.h> and don't declare free().
74219
74220 2000-06-19  Jim Meyering  <meyering@lucent.com>
74221
74222         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
74223
74224 2000-06-18  Jim Meyering  <meyering@lucent.com>
74225
74226         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
74227
74228         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
74229         `checking whether...' message to be consistent with that of the
74230         lstat test.
74231
74232 2000-06-18  Jim Meyering  <meyering@lucent.com>
74233
74234         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
74235         Besides, these days every porting target provides a mkdir function.
74236
74237         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
74238         needed. (this snippet comes from src/system.h).
74239
74240 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
74241
74242         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
74243
74244 2000-06-15  Paul Eggert  <eggert@twinsun.com>
74245
74246         * lib/human.c (adjust_value): New function.
74247         (human_readable_inexact): Apply rounding style even when
74248         printing approximate values.
74249
74250 2000-06-14  Paul Eggert  <eggert@twinsun.com>
74251
74252         * lib/human.c (human_readable_inexact): Allow an input block
74253         size that is not a multiple of the output block size, and vice versa.
74254         Reported by Piergiorgio Sartor.
74255
74256 2000-06-14  Paul Eggert  <eggert@twinsun.com>
74257
74258         * lib/getdate.y (get_date): Apply relative times after time
74259         zone indicator, not before.  Reported by Todd A. Jacobs.
74260
74261 2000-06-13  Jim Meyering  <meyering@lucent.com>
74262
74263         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
74264
74265         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
74266
74267 2000-06-12  Paul Eggert  <eggert@twinsun.com>
74268
74269         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
74270
74271 2000-06-12  Jim Meyering  <meyering@lucent.com>
74272
74273         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
74274         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
74275         optional argument.
74276         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
74277         the optional argument, `lib'.
74278
74279 2000-06-08  Jim Meyering  <meyering@lucent.com>
74280
74281         * m4/largefile.m4: Remove file (now that it's part of autoconf).
74282
74283 2000-06-04  Paul Eggert  <eggert@twinsun.com>
74284
74285         Rewrite largefile configuration so that we don't need to run
74286         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
74287         AC_CANONICAL_HOST in configure.in -- jmm]
74288
74289         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
74290         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
74291         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
74292         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
74293         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
74294         All uses changed.
74295         Instead of inspecting the output of getconf, try to compile the
74296         test program without and with the macro definition.
74297         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
74298         for getconf.  Instead, check for the needed flags by compiling
74299         test programs.
74300
74301 2000-06-04  Paul Eggert  <eggert@twinsun.com>
74302
74303         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
74304
74305 2000-06-04  Jim Meyering  <meyering@lucent.com>
74306
74307         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
74308         SunOS 4.1.4 for which gid_t is an unsigned type.
74309
74310 2000-06-03  Jim Meyering  <meyering@lucent.com>
74311
74312         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
74313         now that autoconf requires that.
74314
74315         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
74316         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
74317         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
74318
74319 2000-06-03  Jim Meyering  <meyering@lucent.com>
74320
74321         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
74322
74323 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
74324
74325         * m4/glibc21.m4: New file.
74326         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
74327
74328 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
74329
74330         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
74331         newer, don't install charset.alias.
74332         * lib/config.charset: Change the Linux/glibc rules so they become empty
74333         on glibc-2.1 or newer.
74334
74335 2000-06-02  Jim Meyering  <meyering@lucent.com>
74336
74337         * lib/mountlist.c: Back out last change.  Instead, do this...
74338         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
74339         me_dummy member using the same `ignore'-testing code.
74340         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
74341         fs_type strings.
74342         From Mark D. Roth.
74343
74344 2000-05-29  Jim Meyering  <meyering@lucent.com>
74345
74346         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
74347         mounts with the `ignore' attribute.  Based on a patch from
74348         Mark D. Roth.
74349
74350 2000-05-28  Jim Meyering  <meyering@lucent.com>
74351
74352         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
74353         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74354         * m4/stat.m4: Likewise.
74355         * m4/lstat.m4: Likewise.
74356         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
74357
74358         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
74359         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
74360
74361 2000-05-26  Jim Meyering  <meyering@lucent.com>
74362
74363         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
74364
74365 2000-05-24  Jim Meyering  <meyering@lucent.com>
74366
74367         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
74368         autoconf requires that.
74369         * m4/lib-check.m4: Likewise.
74370         * m4/jm-macros.m4: Likewise.
74371         * m4/strftime.m4: Likewise.
74372
74373         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
74374         AC_CHECK_DECLS, now that autoconf requires that.
74375
74376 2000-05-22  Jim Meyering  <meyering@lucent.com>
74377
74378         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74379         * m4/lstat.m4: Likewise.
74380
74381 2000-05-22  Jim Meyering  <meyering@lucent.com>
74382
74383         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
74384
74385 2000-05-20  Jim Meyering  <meyering@lucent.com>
74386
74387         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
74388         (jm_PREREQ): Use it.
74389
74390 2000-05-18  Jim Meyering  <meyering@lucent.com>
74391
74392         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
74393         back, too, since it may have been modified by allocate_entry.
74394         (hash_delete): Rewrite to use neither the assignment operator
74395         nor the comma operator in an if-expression.
74396
74397 2000-05-15  Paul Eggert  <eggert@twinsun.com>
74398
74399         * lib/closeout.c:
74400         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
74401         Remove; no longer needed.
74402         "quotearg.h": Add include.
74403         (file_name): Do not bother to explicitly initialize to NULL; it's less
74404         efficient on some hosts.
74405         (close_stdout_status): Remove test as to whether stdout was already
74406         closed; it breaks for the case "echo x | sort >&-".
74407         Quote file name colons.
74408         Do not assume that _("write error") lacks format strings.
74409
74410 2000-05-15  Jim Meyering  <meyering@lucent.com>
74411
74412         * lib/version-etc.c (version_etc_copyright): Update the copyright
74413         string used in all --version output.
74414
74415 2000-05-14  Jim Meyering  <meyering@lucent.com>
74416
74417         * lib/closeout.c (close_stdout_set_file_name): New function.
74418         (close_stdout_status): Use new file-scoped global.
74419         Return right away if fstat says the stdout file descriptor is invalid.
74420         * lib/closeout.h (close_stdout_set_file_name): Declare.
74421
74422 2000-05-10  Jim Meyering  <meyering@lucent.com>
74423
74424         * lib/closeout.c [default_exit_status]: New file-scoped variable.
74425         (close_stdout_set_status): New function.
74426         * lib/closeout.h (close_stdout_set_status): Declare.
74427
74428 2000-05-09  Jim Meyering  <meyering@lucent.com>
74429
74430         * m4/gettext.m4: Rename this...
74431         * m4/libintl.m4: ...to this.
74432
74433 2000-05-08  Jim Meyering  <meyering@lucent.com>
74434
74435         * lib/long-options.c: Don't include closeout.h.
74436         (parse_long_options): Don't call close_stdout for --version.
74437
74438 2000-05-06  Paul Eggert  <eggert@twinsun.com>
74439
74440         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
74441         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
74442         2.1.3 bug.  This avoids a clash when files like regex.c define
74443         _GNU_SOURCE.
74444
74445 2000-05-06  Jim Meyering  <meyering@lucent.com>
74446
74447         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
74448         (AC_REPLACE_FUNCS): Add strnlen.
74449
74450         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
74451         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
74452
74453         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
74454         AC_SEARCH_LIBS call for nanosleep.
74455         (LIB_NANOSLEEP): Set and AC_SUBST.
74456
74457 2000-05-06  Jim Meyering  <meyering@lucent.com>
74458
74459         * lib/strnlen.c: Undefine __strnlen and strnlen.
74460         [!weak_alias]: Define __strnlen to strnlen.
74461
74462         * lib/atexit.c: New file, from libiberty.
74463
74464 2000-05-06  Jim Meyering  <meyering@lucent.com>
74465
74466         * lib/closeout.c (close_stdout_status): Also check for errors on the
74467         stderr stream.
74468
74469 2000-05-05  Jim Meyering  <meyering@lucent.com>
74470
74471         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
74472         AC_SEARCH_LIBS call for clock_gettime.
74473         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
74474
74475         * m4/search-libs.m4: Update from autoconf.
74476
74477         su doesn't work on Solaris 2.6.
74478         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
74479         <shadow.h>.  Reported by Dragos Harabor.
74480
74481 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
74482
74483         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
74484         memcpy instead of xmalloc, xrealloc, path_concat.
74485         (locale_charset): Treat empty environment variables as absent.
74486         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
74487
74488 2000-05-04  Jim Meyering  <meyering@lucent.com>
74489
74490         * lib/getopt.c: Update from glibc.
74491         * lib/obstack.c: Likewise.
74492         * lib/obstack.h: Likewise.
74493         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
74494         file
74495
74496         * lib/regex.h: Likewise.
74497         * lib/strndup.c: Likewise.
74498         * lib/strnlen.c: New file, from glibc.
74499
74500 2000-05-03  Jim Meyering  <meyering@lucent.com>
74501
74502         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
74503
74504 2000-05-02  Paul Eggert  <eggert@twinsun.com>
74505
74506         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
74507         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
74508         compile-time test, rather than inspecting host and OS, to
74509         decide whether to define _LARGEFILE_SOURCE.
74510
74511 2000-05-01  Jim Meyering  <meyering@lucent.com>
74512
74513         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
74514
74515         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
74516         Based on a patch from Bruno Haible.
74517
74518 2000-05-01  Jim Meyering  <meyering@lucent.com>
74519
74520         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
74521
74522 2000-04-29  Jim Meyering  <meyering@lucent.com>
74523
74524         * lib/path-concat.c: Declare strdup only if it's not defined.
74525         * lib/canon-host.c: Likewise.
74526
74527 2000-04-28  Jim Meyering  <meyering@lucent.com>
74528
74529         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
74530         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
74531         is included first, then limits.h is included by locale.h by libintl.h.
74532         From John David Anglin.
74533
74534 2000-04-25  Jim Meyering  <meyering@lucent.com>
74535
74536         * lib/makepath.c (S_IRWXUGO): Define.
74537         (make_path): Always perform explicit chmod if MODE specifies any
74538         of the `special' permission bits.  Prompted by a bug report against
74539         install from Mate Wierdl and Joost van Baal.
74540
74541 2000-04-18  Jim Meyering  <meyering@lucent.com>
74542
74543         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
74544         (jm_PREREQ): Use it.
74545
74546 2000-04-18  Jim Meyering  <meyering@lucent.com>
74547
74548         * lib/README: New file.
74549
74550         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
74551         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
74552
74553 2000-04-17  Jim Meyering  <meyering@lucent.com>
74554
74555         Get it right :-)
74556         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
74557         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
74558         Suggestion from Akim Demaille.
74559
74560 2000-04-17  Jim Meyering  <meyering@lucent.com>
74561
74562         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
74563         the definition of it to rpl_strftime also defined-away the system's
74564         declaration.
74565
74566 2000-04-15  Jim Meyering  <meyering@lucent.com>
74567
74568         Use `C' to denote so-called `contiguous' files, the same way
74569         that tar does.
74570         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
74571         (ftypelet): Use S_ISCTG.
74572         From Michael Deutschmann.
74573
74574 2000-04-14  Jim Meyering  <meyering@lucent.com>
74575
74576         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
74577         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
74578         clobbered.
74579
74580 2000-04-14  Jim Meyering  <meyering@lucent.com>
74581
74582         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
74583
74584 2000-04-13  Jim Meyering  <meyering@lucent.com>
74585
74586         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
74587         AH_VERBATIM to insert required #ifndef into config.h.in.
74588         Suggestion from Akim Demaille.
74589
74590 2000-04-12  Jim Meyering  <meyering@lucent.com>
74591
74592         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
74593         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
74594         Christian Krackowizer.
74595
74596         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
74597         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
74598         (AC_SYS_LARGEFILE): Require.
74599         (AM_C_PROTOTYPES): Require.
74600
74601 2000-04-08  Jim Meyering  <meyering@lucent.com>
74602
74603         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
74604         names don't conflict.  Reported by Eli Zaretskii.
74605
74606 2000-04-07  Jim Meyering  <meyering@lucent.com>
74607
74608         * lib/putenv.c: Move inclusion of errno.h so it follows that of
74609         sys/types.h, to work around system header problems on AIX 3.2.5.
74610         From Bruno Haible.
74611
74612 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
74613
74614         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
74615         bug.  Deal with the different error behavior of Irix iconv.
74616
74617 2000-04-05  Paul Eggert  <eggert@twinsun.com>
74618
74619         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
74620         IRIX if the installer said otherwise.
74621
74622 2000-04-05  Jim Meyering  <meyering@lucent.com>
74623
74624         Portability tweaks required for ultrix4.3.
74625         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
74626         (jm_CHECK_DECLS): Add getutent to the list of functions.
74627         (_jm_DECL_HEADERS): Add utmpx.h.
74628         From John David Anglin.
74629
74630         * m4/strftime.m4: Back out the 2000-04-02 change.
74631         Instead of that change, simply undefine putenv in the test program.
74632
74633 2000-04-05  Jim Meyering  <meyering@lucent.com>
74634
74635         Portability tweaks required for ultrix4.3.
74636         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
74637         getutent.
74638         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
74639         * lib/canon-host.c: Declare strdup.
74640         * lib/path-concat.c: Likewise.
74641         From John David Anglin.
74642
74643 2000-04-04  Jim Meyering  <meyering@lucent.com>
74644
74645         Be more DOS 8.3-friendly.
74646         * lib/ref-add.sin: Renamed from ref-add.sed.in.
74647         * lib/ref-del.sin: Renamed from ref-del.sed.in.
74648         * lib/Makefile.am: Reflect renaming.
74649         Reported by Eli Zaretskii.
74650
74651         Use a temporary file name that won't clash with `charset.alias'
74652         in the DOS 8.3 name space.
74653         * lib/Makefile.am (charset_tmp): Define.
74654         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
74655         (uninstall-local): Likewise.
74656         Reported by Eli Zaretskii.
74657
74658 2000-04-03  Jim Meyering  <meyering@lucent.com>
74659
74660         * m4/gettext.m4: Fix typo in comment.
74661
74662         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
74663         textutils/configure.in).  Suggestion from Paul Eggert.
74664         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
74665
74666 2000-04-02  Paul Eggert  <eggert@twinsun.com>
74667
74668         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
74669         variable in the shell rather than using putenv, which isn't
74670         portable.  This avoids the configure-time inter-test dependency
74671         on the potentially-renamed putenv function.
74672
74673 2000-03-30  Paul Eggert  <eggert@twinsun.com>
74674
74675         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
74676         before checking struct stat.st_blksize, so that
74677         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
74678
74679 2000-03-29  Paul Eggert  <eggert@twinsun.com>
74680
74681         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
74682         since strftime.c uses HAVE_STRFTIME to decide whether to use
74683         the underlying strftime.
74684
74685 2000-03-29  Paul Eggert  <eggert@twinsun.com>
74686
74687         * lib/time/strftime.c (my_strftime): Make sure we call the system
74688         strftime, not ourselves, when invoking the underlying strftime.
74689
74690 2000-03-24  Jim Meyering  <meyering@lucent.com>
74691
74692         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
74693         (charset_alias): Define.
74694         (install-exec-local): Factor out common code.
74695         (uninstall-local): Split lines longer than 80.
74696         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
74697         (SUFFIXES): Define.
74698         (.sed.in.sed): New rule.  Don't redirect directly to $@.
74699         (CLEANFILES): Add ref-add.sed and ref-del.sed.
74700
74701 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
74702
74703         * lib/config.charset: Output a line containing "Packages using this
74704         file".
74705         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
74706         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
74707         ref-del.sed): New rules.
74708
74709 2000-03-17  Jim Meyering  <meyering@lucent.com>
74710
74711         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
74712         Otherwise, include <strings.h>
74713
74714 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
74715
74716         * lib/unicodeio.c (utf8_wctomb): New function.
74717         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
74718         format instead of in UCS-4 with platform dependent endianness.
74719
74720 2000-03-10  Jim Meyering  <meyering@lucent.com>
74721
74722         * m4/lib-check.m4: Look for getspnam in -lgen, too.
74723         From Marco Franzen.
74724
74725 2000-03-07  Paul Eggert  <eggert@twinsun.com>
74726
74727         * lib/savedir.c (savedir): Work even if directory size is
74728         negative; this can happen with some screwy NFS configurations.
74729
74730 2000-03-06  Jim Meyering  <meyering@lucent.com>
74731
74732         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
74733         if it's NULL (because we ran out of memory).  From Bruno Haible.
74734
74735 2000-03-05  Jim Meyering  <meyering@lucent.com>
74736
74737         * lib/localcharset.c ("path-concat.h"): Include.
74738         (get_charset_aliases): Use path_concat instead of ANSI string
74739         concatenation.
74740
74741         * lib/unicodeio.h (PARAMS): Define.
74742         Use it to guard prototype.
74743
74744 2000-03-04  Jim Meyering  <meyering@lucent.com>
74745
74746         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
74747         for lib/localcharset.c.
74748
74749 2000-03-04  Jim Meyering  <meyering@lucent.com>
74750
74751         * lib/Makefile.am (install-exec-local): Create $(libdir) before
74752         installing into it.
74753         (uninstall-local): Uncomment this rule so `make distcheck' works
74754         once again.
74755
74756         * lib/unicodeio.c (<errno.h>): Include it.
74757         (errno): Declare if not defined.
74758
74759         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
74760
74761         * lib/config.charset: New version, incorporating remarks from a linux
74762         i18n mailing list.  From Bruno Haible.
74763
74764 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
74765
74766         * m4/codeset.m4: New file.
74767         * m4/iconv.m4: New file.
74768         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
74769
74770 2000-03-03  Jim Meyering  <meyering@lucent.com>
74771
74772         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
74773
74774 2000-03-02  Jim Meyering  <meyering@lucent.com>
74775
74776         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
74777         the messages come out on separate lines.
74778
74779         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
74780         rather than jm_CHECK_DECLARATIONS.
74781         * m4/decl.m4: Remove now-unused file.
74782
74783         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
74784         geteuid.
74785
74786 2000-03-02  Jim Meyering  <meyering@lucent.com>
74787
74788         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
74789
74790 2000-03-01  Jim Meyering  <meyering@lucent.com>
74791
74792         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
74793         * lib/unicodeio.c: Likewise.
74794
74795 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
74796
74797         * lib/config.charset: New file.
74798         * lib/localcharset.c: New file.
74799         * lib/unicodeio.h, lib/unicodeio.c: New files.
74800         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
74801         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
74802         (noinst_HEADERS): Add unicodeio.h.
74803         (all-local, install-exec-local, charset.alias): New targets.
74804
74805 2000-02-28  Paul Eggert  <eggert@twinsun.com>
74806
74807         * lib/quotearg.c (ALERT_CHAR): New macro.
74808         (quotearg_buffer_restyled): Use it.
74809
74810 2000-02-27  Jim Meyering  <meyering@lucent.com>
74811
74812         * m4/check-decl.m4: Add getenv to the list.
74813
74814 2000-02-27  Jim Meyering  <meyering@lucent.com>
74815
74816         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
74817         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
74818
74819         * lib/backupfile.c: Guard inclusion of stdlib.h with
74820         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
74821         Declare malloc if needed.
74822
74823         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
74824         `#ifndef HAVE_DECL..'
74825         now that autoconf always defines the HAVE_DECL_ symbols.
74826         * lib/human.c: Likewise.
74827         * lib/same.c: Likewise.
74828         * lib/strtoumax.c: Likewise.
74829
74830         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
74831         declaration check was not run.
74832         * lib/hash.c: Likewise.
74833         * lib/human.c: Likewise.
74834         * lib/same.c: Likewise.
74835         * lib/strtoumax.c: Likewise.
74836
74837         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
74838         `.', then first look up the entire `.'-containing string as a login
74839         name.
74840
74841 2000-02-23  Jim Meyering  <meyering@lucent.com>
74842
74843         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
74844         in place of my hack.
74845
74846 2000-02-18  Paul Eggert  <eggert@twinsun.com>
74847
74848         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
74849         (textint): New typedef.
74850         (parser_control): Member year changed from int to textint.
74851         All uses changed.
74852         (YYSTYPE): Removed; replaced by %union with int and textint members.
74853         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
74854         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
74855         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
74856         (tSNUMBER, tUNUMBER): Now of type <textintval>.
74857         (date, number, to_year): Use width of number in digits, not its value,
74858         to determine whether it's a 2-digit year, or a 2-digit time.
74859         (yylex): Store number of digits of numeric tokens.
74860         Reported by John Kendall.
74861
74862         (parser_control): Changed from struct parser_control to typedef (for
74863         consistency).  All uses changed.
74864
74865         (tID): Removed; not used.
74866         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
74867
74868 2000-02-14  Paul Eggert  <eggert@twinsun.com>
74869
74870         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
74871         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
74872
74873 2000-02-12  Jim Meyering  <meyering@lucent.com>
74874
74875         * lib/userspec.c (ISDIGIT): Define it.
74876         (isdigit): Remove definition.
74877         (is_number): Use ISDIGIT, not isdigit.
74878         <libintl.h>: Include.
74879         (_ and N_): Define.
74880         (parse_user_spec): Mark translatable strings.
74881
74882 2000-02-10  Jim Meyering  <meyering@lucent.com>
74883
74884         With these changes, nanosleep.[ch] are finally enough like the other
74885         lib/* replacement files to compile on a few more losing systems.
74886
74887         * lib/nanosleep.h: Don't include config.h.
74888         Remove prototype from declaration of nanosleep.
74889         (PARAMS): Remove now-unneeded definition.
74890         * lib/nanosleep.c: #undef nanosleep.
74891         (rpl_nanosleep): Rename from nanosleep.
74892
74893 2000-02-10  Jim Meyering  <meyering@lucent.com>
74894
74895         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
74896         gnu_nanosleep to rpl_nanosleep.
74897
74898 2000-02-09  Jim Meyering  <meyering@lucent.com>
74899
74900         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
74901         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
74902
74903 2000-02-08  Akim Demaille  <akim@epita.fr>
74904
74905         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
74906         `[' and `]' and remove uses of `changequote'.
74907         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
74908         (AC_SYS_LARGEFILE): Likewise.
74909         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
74910         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
74911         of changequote.
74912         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
74913         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
74914         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
74915         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
74916
74917 2000-02-05  Jim Meyering  <meyering@lucent.com>
74918
74919         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
74920         Remove explicit use of AC_HEADER_TIME.  It is required by
74921         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
74922         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
74923         in autoconf whereby the expansion of the latter ended up preceding
74924         the expansion of its prerequisite, AC_HEADER_TIME.
74925         Reported by Volker Borchert.
74926
74927 2000-02-03  Jim Meyering  <meyering@lucent.com>
74928
74929         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
74930
74931 2000-02-03  Jim Meyering  <meyering@lucent.com>
74932
74933         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
74934         rather than with `#if HAVE_UTMPNAME'.
74935
74936 2000-02-02  Jim Meyering  <meyering@lucent.com>
74937
74938         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
74939         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
74940         Reported by Eli Zaretskii.
74941
74942 2000-02-01  Jim Meyering  <meyering@lucent.com>
74943
74944         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
74945
74946 2000-01-31  Jim Meyering  <meyering@lucent.com>
74947
74948         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
74949         functions.  Add the time.h and sys/time.h headers along with the
74950         AC_REQUIRE'ment of AC_HEADER_TIME.
74951
74952 2000-01-31  Jim Meyering  <meyering@lucent.com>
74953
74954         * lib/nanosleep.h (nanosleep): Guard declaration with
74955         `#if ! HAVE_DECL_NANOSLEEP'.
74956         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
74957         the declaration in that vendor's sys/timers.h.
74958         Reported by Christian Krackowizer.
74959
74960         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
74961         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
74962         (ISPRINT): Likewise.
74963         Reported by Tom Tromey.
74964
74965 2000-01-30  Jim Meyering  <meyering@lucent.com>
74966
74967         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
74968
74969         * m4/prereq.m4 (utmp_includes): Define.
74970         Check for ut_user and ut_name members in both struct utmpx
74971         and struct utmp.
74972
74973 2000-01-30  Jim Meyering  <meyering@lucent.com>
74974
74975         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
74976         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
74977         header files where only utmpx.ut_user is declared.
74978
74979         * lib/readutmp.h (UT_USER): Define.
74980
74981 2000-01-29  Jim Meyering  <meyering@lucent.com>
74982
74983         * m4/lib-check.m4: New file containing library-related checks from
74984         fileutils and sh-utils (textutils had none).
74985
74986 2000-01-28  Jim Meyering  <meyering@lucent.com>
74987
74988         * m4/perl.m4: Change format of warning message to look more like that
74989         from the missing script.  Suggestion from François Pinard.
74990
74991 2000-01-25  Jim Meyering  <meyering@lucent.com>
74992
74993         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
74994         well as time.h in the compile check.
74995         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
74996         Fix typo in cross-compiling case: s/yes/no/.
74997
74998 2000-01-23  Jim Meyering  <meyering@lucent.com>
74999
75000         * m4/jm-macros.m4: Move df-related tests here from
75001         fileutils/configure.in
75002
75003         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
75004         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
75005
75006         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
75007         s/space/ac_fsusage_space/.
75008         (jm_FILE_SYSTEM_USAGE): Take two parameters.
75009
75010         * m4/ftruncate.m4: New file (derived from part of
75011         fileutils/configure.in).
75012         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
75013         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
75014
75015         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
75016         AC_SUBST these here, rather than just in sh-util/configure.in, so
75017         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
75018         all the same.
75019         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
75020         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
75021         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
75022         (AC_SUBST(POW_LIBM)): Likewise.
75023         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
75024
75025 2000-01-23  Jim Meyering  <meyering@lucent.com>
75026
75027         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
75028         obstack.c.
75029
75030 2000-01-22  Jim Meyering  <meyering@lucent.com>
75031
75032         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
75033
75034         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
75035
75036         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
75037         configure.in
75038         (AC_CHECK_HEADERS): Likewise for sh-utils.
75039         (AC_CHECK_HEADERS): Likewise for textutils.
75040         Merge the three lists of headers.
75041
75042         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
75043         from fileutils' configure.in.
75044
75045         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
75046         code. Moved tests into their own function (_jm_DECL_HEADERS) in
75047         check-decl.m4.
75048
75049         * m4/check-decl.m4: Use #if rather than #ifdef.
75050         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
75051         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
75052         (_jm_DECL_HEADERS): Define new function.
75053         (jm_CHECK_DECLARATIONS): Require it.
75054
75055 2000-01-22  Jim Meyering  <meyering@lucent.com>
75056
75057         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
75058         [! HAVE_DECL_STRTOULL]: Declare strtoull.
75059         Required for some AIX systems.  Reported by Christian Krackowizer.
75060         [TESTING] (main): New function.
75061
75062         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
75063         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
75064         letters.
75065
75066         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
75067         iswprint.
75068
75069         * lib/strverscmp.c (ISDIGIT): Define.
75070         (strverscmp): Use ISDIGIT, not isdigit.
75071
75072 2000-01-19  Jim Meyering  <meyering@lucent.com>
75073
75074         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
75075         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
75076         defines `struct timespec' in <sys/time.h>
75077
75078         * m4/c-bs-a.m4: Remove uses of changequote altogether.
75079         Thanks to Akim for explaining.
75080
75081 2000-01-17  Paul Eggert  <eggert@twinsun.com>
75082
75083         * lib/nanosleep.c (nanosleep):
75084         Don't use SA_INTERRUPT to decide whether to call sigaction, as
75085         POSIX.1 doesn't require SA_INTERRUPT and some systems
75086         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
75087         it's been part of POSIX.1 since day 1 (in 1988).
75088
75089 2000-01-17  Jim Meyering  <meyering@lucent.com>
75090
75091         * lib/interlock: Remove unused file.  Reported by François Pinard.
75092
75093 2000-01-16  Paul Eggert  <eggert@twinsun.com>
75094
75095         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
75096         alert, backslash, formfeed, and vertical tab unnecessarily in
75097         shell quoting style.
75098
75099 2000-01-16  Jim Meyering  <meyering@lucent.com>
75100
75101         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
75102         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
75103         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
75104         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
75105
75106 2000-01-16  Jim Meyering  <meyering@lucent.com>
75107
75108         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
75109         because the latter didn't work.
75110
75111 2000-01-15  Jim Meyering  <meyering@lucent.com>
75112
75113         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
75114         (AC_REPLACE_FUNCS): Add memcpy and memset.
75115         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
75116         Add strpbrk.
75117         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
75118
75119 2000-01-12  Jim Meyering  <meyering@lucent.com>
75120
75121         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
75122         (jm_PREREQ): Use it.
75123         (jm_PREREQ_READUTMP): New macro.
75124         (jm_PREREQ): Use it.
75125
75126 2000-01-11  Paul Eggert  <eggert@twinsun.com>
75127
75128         Quote multibyte characters correctly.
75129         * m4/c-bs-a.m4: New file.
75130         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
75131         (jm_PREREQ): Use it.
75132
75133 2000-01-11  Paul Eggert  <eggert@twinsun.com>
75134
75135         * m4/uintmax_t.m4: Port to autoconf 2.13.
75136
75137 2000-01-08  Jim Meyering  <meyering@ascend.com>
75138
75139         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
75140         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
75141
75142 2000-01-04  Jim Meyering  <meyering@ascend.com>
75143
75144         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
75145         jm_STRUCT_DIRENT_D_TYPE.
75146         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
75147         jm_STRUCT_DIRENT_D_INO.
75148         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
75149         jm_STRUCT_UTIMBUF.
75150         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
75151         renamings.
75152         * m4/utime.m4: Likewise.
75153
75154         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
75155         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
75156
75157 2000-01-03  Paul Eggert  <eggert@twinsun.com>
75158
75159         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
75160         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
75161
75162 2000-01-02  Jim Meyering  <meyering@ascend.com>
75163
75164         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
75165         remember if this is necessary.
75166
75167 1999-12-26  Jim Meyering  <meyering@ascend.com>
75168
75169         * m4/jm-macros.m4: Use it here.
75170         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
75171
75172 1999-12-23  Jim Meyering  <meyering@ascend.com>
75173
75174         * m4/jm-macros.m4: Check for clock_gettime (moved from
75175         fileutils/configure.in)
75176         Check for gettimeofday.
75177
75178 1999-12-20  Jim Meyering  <meyering@ascend.com>
75179
75180         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
75181         autoconf-2.14a-1999-12-20.
75182
75183 1999-12-19  Jim Meyering  <meyering@ascend.com>
75184
75185         * m4/lstat-slash.m4: New file.
75186         * m4/jm-macros.m4: Use the new macro:
75187         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
75188
75189 1999-12-07  Jim Meyering  <meyering@ascend.com>
75190
75191         * m4/perl.m4: Require that File::Compare be available, too.
75192         Too many systems seem to lack it.
75193
75194         * m4/strftime.m4: Add checks for most of the cpp macros tested in
75195         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
75196
75197 1999-11-18  Paul Eggert  <eggert@twinsun.com>
75198
75199         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
75200         problem with the QNX 4.25 shell, which doesn't propagate exit
75201         status of failed commands inside shell assignments.
75202
75203 1999-11-17  Jim Meyering  <meyering@ascend.com>
75204
75205         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
75206
75207 1999-11-07  Jim Meyering  <meyering@ascend.com>
75208
75209         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
75210
75211 1999-11-06  Jim Meyering  <meyering@ascend.com>
75212
75213         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
75214         * m4/jm-macros.m4 (jm_MACROS): Use it here.
75215
75216 1999-11-05  Jim Meyering  <meyering@ascend.com>
75217
75218         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
75219         configure.in of textutils, fileutils, and sh-utils into this one
75220         (shared between those packages) file.
75221         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
75222         AC_STRUCT_ST_BLKSIZE.
75223
75224 1999-11-03  Jim Meyering  <meyering@ascend.com>
75225
75226         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
75227         of AC_CHECK_TYPE checks includes unistd.h.
75228         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
75229         Suggestion from Akim Demaille.
75230
75231 1999-10-30  Jim Meyering  <meyering@ascend.com>
75232
75233         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
75234         m4-quoted string.
75235         * m4/ls-mntd-fs.m4: Likewise.
75236         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
75237         * m4/jm-winsz1.m4: Likewise.
75238
75239         * m4/const.m4: Remove file, since the fix made it into the experimental
75240         version of autoconf.
75241         * m4/mktime.m4: Likewise.
75242
75243         * m4/check-type.m4: Remove file, now that the latest version of
75244         AC_CHECK_TYPE takes a third arg to specify additional #includes.
75245
75246         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
75247         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
75248         AC_CHECK_TYPE.
75249
75250 1999-10-04  Jim Meyering  <meyering@ascend.com>
75251
75252         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
75253
75254 1999-09-22  Paul Eggert  <eggert@twinsun.com>
75255
75256         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
75257         2.95.1 bug with HP-UX 10.20.
75258
75259 1999-09-17  Jim Meyering  <meyering@ascend.com>
75260
75261         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
75262         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
75263         due to missing strdup (against sh-utils-2.0).
75264
75265 1999-08-29  Jim Meyering  <meyering@ascend.com>
75266
75267         * m4/jm-macros.m4: Require jm_BISON.
75268         * m4/bison.m4: New file.
75269
75270 1999-08-17  Paul Eggert  <eggert@twinsun.com>
75271
75272         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
75273         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
75274
75275 1999-08-05  Jim Meyering  <meyering@ascend.com>
75276
75277         * m4/getline.m4: Rename test file from conftestdata to conftest.data
75278         to avoid conflicts with `conftest' on 8+3 filesystems.
75279         Suggestion from Eli Zaretskii.
75280
75281 1999-08-04  Jim Meyering  <meyering@ascend.com>
75282
75283         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
75284         fileutils and sh-utils (textutils's getline test was inadequate).
75285         (AM_FUNC_GETLINE): Run this test.
75286         (AC_CHECK_FUNCS): Check for getdelim.
75287         Reported by Bob Proulx.
75288
75289 1999-08-02  Jim Meyering  <meyering@ascend.com>
75290
75291         * m4/jm-macros.m4: Add a comment.
75292
75293 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75294
75295         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
75296         <inttypes.h> defines strtoumax as a macro (and not as a
75297         function).
75298
75299 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75300
75301         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
75302         that we can shift, multiply and divide unsigned long long
75303         values; Ultrix cc can't do it.
75304
75305 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75306
75307         * m4/mktime.m4: New file, which is a preview of what should appear
75308         in the next public autoconf release.
75309
75310 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75311
75312         * m4/lfs.m4: Remove this file.
75313         * m4/largefile.m4: New file.  It contains the old contents of
75314         lfs.m4, except that all names with prefix AC_LFS have been
75315         changed to use the prefix AC_SYS_LARGEFILE instead, to be
75316         compatible with future autoconf versions.  Also, some minor m4
75317         quoting problems have been fixed.
75318
75319 1999-08-01  Paul Eggert  <eggert@twinsun.com>
75320
75321         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
75322         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
75323         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
75324         and simplify the shell code.
75325
75326 1999-08-01  Jim Meyering  <meyering@ascend.com>
75327
75328         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
75329         m4.
75330
75331 1999-07-20  Jim Meyering  <meyering@ascend.com>
75332
75333         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
75334
75335 1999-07-15  Jim Meyering  <meyering@ascend.com>
75336
75337         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
75338
75339 1999-05-22  Jim Meyering  <meyering@ascend.com>
75340
75341         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
75342
75343 1999-05-20  Jim Meyering  <meyering@ascend.com>
75344
75345         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
75346         Add a colon after each `then' in case $4 is empty.
75347
75348 1999-05-16  Jim Meyering  <meyering@ascend.com>
75349
75350         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
75351
75352 1999-05-10  Jim Meyering  <meyering@ascend.com>
75353
75354         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
75355
75356         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
75357         AC_FUNC_MKTIME.
75358
75359 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
75360
75361         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
75362
75363 1999-05-04  Paul Eggert  <eggert@twinsun.com>
75364
75365         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
75366         not CPPFLAGS, so that linking works correctly in IRIX.
75367
75368 1999-04-30  Paul Eggert  <eggert@twinsun.com>
75369
75370         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
75371
75372 1999-04-20  Paul Eggert  <eggert@twinsun.com>
75373
75374         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
75375         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
75376         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
75377         jm_AC_TYPE_UNSIGNED_LONG_LONG.
75378         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
75379
75380         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
75381
75382 1999-04-20  Jim Meyering  <meyering@ascend.com>
75383
75384         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
75385         AC_REPLACE xstroull if necessary.  From Paul Eggert.
75386         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
75387
75388 1999-04-18  Jim Meyering  <meyering@ascend.com>
75389
75390         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
75391         * m4/jm-macros.m4: Use it.
75392
75393 1999-04-06  Jim Meyering  <meyering@ascend.com>
75394
75395         * m4/strftime.m4: Remove test for %f.
75396
75397 1999-03-29  Jim Meyering  <meyering@ascend.com>
75398
75399         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
75400         superset of the AC_TYPE_* checks in the textutils, fileutils,
75401         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
75402         AC_TYPE_PID_T.
75403
75404 1999-03-28  Jim Meyering  <meyering@ascend.com>
75405
75406         * m4/jm-macros.m4: Define GNU_PACKAGE here.
75407         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
75408         replaced e.g., in the *.sh files of the sh-utils.
75409
75410 1999-03-20  Jim Meyering  <meyering@ascend.com>
75411
75412         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
75413         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
75414         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
75415
75416 1999-03-19  Jim Meyering  <meyering@ascend.com>
75417
75418         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
75419
75420 1999-03-12  Jim Meyering  <meyering@ascend.com>
75421
75422         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
75423
75424 1999-03-07  Jim Meyering  <meyering@ascend.com>
75425
75426         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
75427         declared.
75428
75429 1999-02-17  Jim Meyering  <meyering@ascend.com>
75430
75431         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
75432         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
75433
75434 1999-02-07  Jim Meyering  <meyering@ascend.com>
75435
75436         * m4/group-member.m4: New file -- extracted from sh-utils'
75437         configure.in.
75438
75439         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
75440         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
75441
75442 1999-02-06  Jim Meyering  <meyering@ascend.com>
75443
75444         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
75445         * m4/fnmatch.m4: Likewise.
75446         * m4/getgroups.m4: Likewise.
75447         * m4/lstat.m4: Likewise.
75448         * m4/malloc.m4: Likewise.
75449         * m4/putenv.m4: Likewise.
75450         * m4/realloc.m4: Likewise.
75451         * m4/regex.m4: Likewise.
75452         * m4/stat.m4: Likewise.
75453         * m4/strftime.m4: Likewise.
75454         Suggestion from Alain Magloire.
75455
75456         * m4/chown.m4: Use `.$ac_objext', not `.o'.
75457         * m4/fnmatch.m4: Likewise.
75458         * m4/getgroups.m4: Likewise.
75459         * m4/getline.m4: Likewise.
75460         * m4/lstat.m4: Likewise.
75461         * m4/malloc.m4: Likewise.
75462         * m4/memcmp.m4: Likewise.
75463         * m4/putenv.m4: Likewise.
75464         * m4/realloc.m4: Likewise.
75465         * m4/regex.m4: Likewise.
75466         * m4/stat.m4: Likewise.
75467         * m4/strftime.m4: Likewise.
75468         Suggestion from Alain Magloire.
75469
75470         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
75471         an argument.
75472
75473         * m4/regex.m4: Add a run-time Test for proper operation of
75474         re_compile_pattern.
75475
75476 1999-01-31  Jim Meyering  <meyering@ascend.com>
75477
75478         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
75479
75480 1999-01-30  Jim Meyering  <meyering@ascend.com>
75481
75482         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
75483
75484         * m4/jm-mktime.m4: Make this a wrapper around the official
75485         AM_FUNC_MKTIME rather than my private copy, now that the official one
75486         is up to date.
75487         * m4/mktime.m4: Remove file.
75488
75489         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
75490         * m4/uptime.m4: Likewise.
75491         * m4/uintmax_t.m4: Likewise.
75492
75493 1999-01-28  Jim Meyering  <meyering@ascend.com>
75494
75495         * m4/jm-macros.m4: Use jm_AFS.
75496         * m4/afs.m4: New file (from fileutils' configure.in).
75497
75498         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
75499         * m4/chown.m4: Likewise.
75500         * m4/d-ino.m4: Likewise.
75501         * m4/d-type.m4: Likewise.
75502         * m4/fnmatch.m4: Likewise.
75503         * m4/getgroups.m4: Likewise.
75504         * m4/gettext.m4: Likewise.
75505         * m4/jm-mktime.m4: Likewise.
75506         * m4/jm-winsz2.m4: Likewise.
75507         * m4/lcmessage.m4: Likewise.
75508         * m4/ls-mntd-fs.m4: Likewise.
75509         * m4/malloc.m4: Likewise.
75510         * m4/memcmp.m4: Likewise.
75511         * m4/putenv.m4: Likewise.
75512         * m4/realloc.m4: Likewise.
75513         * m4/st_mtim.m4: Likewise.
75514         * m4/strftime.m4: Likewise.
75515
75516 1999-01-16  Jim Meyering  <meyering@ascend.com>
75517
75518         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
75519         (ARGMATCH_DIE_DECL): Define.
75520
75521 1999-01-12  Jim Meyering  <meyering@ascend.com>
75522
75523         * m4/Makefile.am.in: Rewrite to avoid using fmt.
75524         Reported by Lars Hecking.
75525
75526 1999-01-10  Jim Meyering  <meyering@ascend.com>
75527
75528         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
75529         gross kludge.
75530         * m4/inttypes_h.m4: Likewise.
75531         * m4/lstat.m4: Likewise.
75532         * m4/malloc.m4: Likewise.
75533         * m4/readdir.m4: Likewise.
75534         * m4/realloc.m4: Likewise.
75535         * m4/st_dm_mode.m4: Likewise.
75536         * m4/stat.m4: Likewise.
75537         * m4/utimbuf.m4: Likewise.
75538         * m4/utimes.m4: Likewise.
75539
75540         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
75541         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
75542         comments in config.h.in are meaningful.
75543
75544         * m4/jm-macros.m4: Require autoconf-2.13 here.
75545
75546         * m4/regex.m4: By default, don't use the included regex.c on systems
75547         with glibc 2.  Suggestion from Uli Drepper.
75548
75549 1999-01-02  Jim Meyering  <meyering@ascend.com>
75550
75551         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
75552
75553 1998-12-18  Jim Meyering  <meyering@ascend.com>
75554
75555         * m4/Makefile.am.in (Makefile.am): Simplify rule.
75556         Based on a suggestion from Lars Hecking.
75557
75558 1998-11-16  Paul Eggert  <eggert@twinsun.com>
75559
75560         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
75561
75562 1998-11-16  Jim Meyering  <meyering@ascend.com>
75563
75564         * m4/lfs.m4: Double-quote the `uname...` expression.
75565
75566 1998-11-14  Jim Meyering  <meyering@ascend.com>
75567
75568         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
75569         * m4/stat.m4: Likewise.
75570
75571 1998-11-03  Jim Meyering  <meyering@ascend.com>
75572
75573         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
75574         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
75575
75576 1998-10-18  Jim Meyering  <meyering@ascend.com>
75577
75578         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
75579
75580 1998-10-17  Jim Meyering  <meyering@ascend.com>
75581
75582         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
75583         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
75584         calls for those previously hard-coded headers.  Instead, take a new
75585         parameter.
75586         (jm_CHECK_DECLARATIONS): Reflect interface change.
75587         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
75588         (jm_CHECK_DECL_LOCALTIME_R): New macro.
75589
75590         * m4/mktime.m4: Test for spring-forward gap before long-running test.
75591
75592 1998-10-14  Jim Meyering  <meyering@ascend.com>
75593
75594         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
75595         instead of "TZ=America/Vancouver".  From Paul Eggert.
75596
75597 1998-10-11  Jim Meyering  <meyering@ascend.com>
75598
75599         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
75600         This adds a test for a recently added compatibility fix for mktime.c.
75601         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
75602
75603 1998-09-27  Jim Meyering  <meyering@ascend.com>
75604
75605         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
75606
75607         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
75608         ../configure.in, including a change from Gordon Matzigkeit to allow
75609         cross-compiling for the Hurd.
75610
75611         * m4/glibc.m4: New file/macro to test for the GNU C Library
75612         versions 1 and 2.  From Gordon Matzigkeit.
75613         Indent.
75614
75615 1998-09-21  Jim Meyering  <meyering@ascend.com>
75616
75617         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
75618
75619 1998-08-18  Paul Eggert  <eggert@twinsun.com>
75620
75621         Port nanosecond-resolution times to UnixWare 2.1.2 and
75622         pedantic Solaris 2.6.
75623
75624         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
75625         AC_STRUCT_ST_MTIM.
75626         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
75627         Generate name of ns member, instead of just 1 or undef.
75628         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
75629
75630 1998-08-15  Jim Meyering  <meyering@ascend.com>
75631
75632         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
75633         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
75634         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
75635         instead of jm_TYPE_SSIZE_T.
75636
75637 1998-08-12  Jim Meyering  <meyering@ascend.com>
75638
75639         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
75640
75641 1998-08-02  Jim Meyering  <meyering@ascend.com>
75642
75643         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
75644         in acconfig.h manually.
75645
75646 1998-07-31  Paul Eggert  <eggert@twinsun.com>
75647
75648         * m4/st_mtim.m4: New file.
75649
75650 1998-07-28  Jim Meyering  <meyering@ascend.com>
75651
75652         * m4/utimes.m4: Undef stat.
75653
75654 1998-07-25  Jim Meyering  <meyering@ascend.com>
75655
75656         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
75657         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
75658
75659 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
75660
75661         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
75662         uid and gid actually remain unchanged.
75663
75664 1998-07-07  Jim Meyering  <meyering@ascend.com>
75665
75666         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
75667
75668 1998-07-04  Jim Meyering  <meyering@ascend.com>
75669
75670         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
75671         to prove that this macro can be used in packages without regex.c.
75672
75673 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
75674
75675         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
75676         is to be used.
75677
75678 1998-07-03  Jim Meyering  <meyering@ascend.com>
75679
75680         * m4/gettext.m4: Add -lintl if it's found to be necessary.
75681
75682         * m4/gettext.m4: New file -- from gettext-0.10.35.
75683         * m4/lcmessage.m4: Likewise.
75684         * m4/progtest.m4: Likewise.
75685
75686         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
75687         * m4/jm-macros.m4: Require the new macro.
75688
75689 1998-06-29  Jim Meyering  <meyering@ascend.com>
75690
75691         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
75692         for the definition of NGROUPS (used in a system header included
75693         by sys/mount.h).
75694
75695 1998-06-28  Jim Meyering  <meyering@ascend.com>
75696
75697         * m4/ls-mntd-fs.m4: New file.
75698         * m4/fstypename.m4: New file.
75699
75700         * m4/jm-macros.m4: Require the new macro.
75701         * m4/jm-glibc-io.m4: New file.
75702
75703 1998-05-19  Jim Meyering  <meyering@ascend.com>
75704
75705         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
75706         * m4/lchown.m4: New file.
75707
75708         * m4/Makefile.am.in: New file.
75709         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
75710
75711 1998-05-14  Jim Meyering  <meyering@ascend.com>
75712
75713         * m4/Makefile.am (EXTRA_DIST): Add them.
75714         * m4/jm-macros.m4: New file.
75715         * m4/utimbuf.m4: New file.
75716
75717 1998-05-12  Jim Meyering  <meyering@ascend.com>
75718
75719         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
75720
75721 1998-05-11  Jim Meyering  <meyering@ascend.com>
75722
75723         * m4/isc-posix.m4: New file.
75724
75725 1998-05-10  Jim Meyering  <meyering@ascend.com>
75726
75727         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
75728
75729 1998-05-09  Jim Meyering  <meyering@ascend.com>
75730
75731         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
75732         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
75733         with automake.
75734
75735         * m4/ssize_t.m4: New file.
75736         * m4/mktime.m4: Remove file -- the new automake has this now.
75737
75738 1998-04-26  Jim Meyering  <meyering@ascend.com>
75739
75740         * m4/assert.m4: New file.
75741         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
75742
75743 1998-04-05  Jim Meyering  <meyering@ascend.com>
75744
75745         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
75746         (jm_PREREQ): Use it here.
75747
75748 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
75749
75750         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
75751         in acconfig.h.
75752
75753 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
75754
75755         * m4/prereq.m4: New file.
75756         * m4/error.m4: New file.
75757         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
75758
75759 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
75760
75761         * m4/getline.m4: Don't set am_cv_func_working_getline before the
75762         cache-check for the same variable -- that defeated the purpose of
75763         the test; the test program was never run.  This was a problem only
75764         on systems with losing getline functions -- HP-UX 10.20 is one.
75765         Reported by Bjorn Helgaas.
75766
75767 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
75768
75769         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
75770
75771 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
75772
75773         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
75774
75775         * m4/const.m4: New file.  Use an initializer in this declaration
75776         typedef int charset[2]; const charset x;
75777         Reported by Bob Glickstein.
75778
75779 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
75780
75781         * m4/chown.m4: Fix reversed types on -1 args to chown.
75782         From Kaveh Ghazi.
75783
75784 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
75785
75786         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
75787         Add lseek and memchr.
75788
75789         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
75790         T.E.Dickey <dickey@clark.net> said that some older preprocessors
75791         have a 20-character limit on names.
75792
75793 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
75794
75795         * m4/inttypes_h.m4: New file.
75796         * m4/uintmax_t.m4: New file.
75797         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
75798
75799
75800         -----
75801
75802         Local Variables:
75803         coding: utf-8
75804         End:
75805
75806         Copyright (C) 1997-2011 Free Software Foundation, Inc.
75807
75808         Copying and distribution of this file, with or without
75809         modification, are permitted provided the copyright notice
75810         and this notice are preserved.